chatlist: a row's preview keeps a disappearing message after its message <Expired> #23

Open
opened 2026-11-07 08:55:41 +00:00 by fmodf · 1 comment

Split from another-im/anotherim-swift#27 (reported by @asemeniv on 2026-11-06), whose app side is fixed there.

chatlist: a row's preview keeps an expired disappearing message

With preserve_history 0, a disappearing message's end is message <Expired> (ephemeral.tcl :565, messagestore.tcl :1266 expireRow). chatlist.tcl follows <Retracted> and <Edited> but not <Expired> (:152-160), and EmitIfTail (:944) would skip anyway since the row is gone. So when the expired message was the chat's last, the chat list keeps showing its text (and attachment kind) until some other change emits the entry again.

Asked: subscribe chatlist to message <Expired> (and <Removed>, which has the same gap if it is the tail) and emit the entry again with the new last message (or none).

> Split from another-im/anotherim-swift#27 (reported by @asemeniv on 2026-11-06), whose app side is fixed there. ## chatlist: a row's preview keeps an expired disappearing message With `preserve_history` 0, a disappearing message's end is `message <Expired>` (`ephemeral.tcl` :565, `messagestore.tcl` :1266 `expireRow`). `chatlist.tcl` follows `<Retracted>` and `<Edited>` but not `<Expired>` (:152-160), and `EmitIfTail` (:944) would skip anyway since the row is gone. So when the expired message was the chat's last, the chat list keeps showing its text (and attachment kind) until some other change emits the entry again. **Asked:** subscribe chatlist to `message <Expired>` (and `<Removed>`, which has the same gap if it is the tail) and emit the entry again with the new last message (or none).
Owner

Fixed in libtacky v1.2.1 (https://dev.another.im/another-im/libtacky/releases/tag/v1.2.1): the chat list row now re-emits on a message's <Expired> and on a tail's <Removed>, so a disappearing message's preview is replaced instead of lingering after it expires or is removed.

Please check with v1.2.1 or newer.

Fixed in libtacky v1.2.1 (https://dev.another.im/another-im/libtacky/releases/tag/v1.2.1): the chat list row now re-emits on a message's `<Expired>` and on a tail's `<Removed>`, so a disappearing message's preview is replaced instead of lingering after it expires or is removed. Please check with v1.2.1 or newer.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
another-im/libtacky#23
No description provided.