alexispurslane / neo

An Android-native, Material You-based, slick, clean, UX-first Matrix client
GNU General Public License v3.0
15 stars 1 forks source link

Revolt server sending reused keys causes LazyColumn to crash #3

Closed alexispurslane closed 3 months ago

alexispurslane commented 10 months ago

The Revolt server apparently reuses the message IDs of deleted messages for new messages, which causes a problem, since I'm using message IDs as the list item keys for LazyColumn, and lazy column apparently continues to view keys as "already used" even after the items with those keys have been deleted (e.g. even after the message originally using that ID has been deleted), so when the server sends in another message with that ID, it crashes.

Why is this supposedly production ready component's immediate response, even in release mode, to seeing a duplicate key, even though that is something that could totally happen under normal operation for any app, to crash? Who the fuck knows, but here we are.