Rich toast: restore tag-coalescing so rapid same-room messages replace instead of stack #16

Closed
opened 2026-09-17 23:24:13 -04:00 by jared · 1 comment
Owner

Migrated from LOTUS_TODO.md on 2026-09-17 (the file is now reference-only).

[Med] [desktop] Tag-coalescing lost. The web SW notification used tag to replace prior notifications for the same room; show_rich_toast (cinny-desktop/src-tauri/src/native/toast.rs) ignores tag and shows a new WinRT toast every time → rapid same-room messages stack instead of collapsing. Fix: dedupe/replace by room in the toast store (toast.rs:226-230).

_Migrated from `LOTUS_TODO.md` on 2026-09-17 (the file is now reference-only)._ **[Med] [desktop]** **Tag-coalescing lost.** The web SW notification used `tag` to _replace_ prior notifications for the same room; `show_rich_toast` (`cinny-desktop/src-tauri/src/native/toast.rs`) ignores `tag` and shows a new WinRT toast every time → rapid same-room messages stack instead of collapsing. Fix: dedupe/replace by room in the toast store (`toast.rs:226-230`).
jared added this to the Desktop 2026-Q4 milestone 2026-09-17 23:24:13 -04:00
jared added the bugpriority: mediumarea: native labels 2026-09-17 23:24:13 -04:00
Author
Owner

Fixed in c1ae01b. show_rich_toast now sets a WinRT Tag (a 16-hex hash of the web notification tag, because room:thread tags are ~75 chars and WinRT caps Tag at 64) in a fixed Group. So a newer toast for the same room or thread replaces the older one in the Action Center instead of stacking, and the replaced toast's keep-alive entry is dropped. Compiled for Windows in CI (build-windows passed on run 2057). The replacement behaviour itself needs a look on a real Windows machine: send 3 quick messages in one room and you should see a single toast.

Fixed in `c1ae01b`. `show_rich_toast` now sets a WinRT `Tag` (a 16-hex hash of the web notification tag, because `room:thread` tags are ~75 chars and WinRT caps Tag at 64) in a fixed `Group`. So a newer toast for the same room or thread **replaces** the older one in the Action Center instead of stacking, and the replaced toast's keep-alive entry is dropped. Compiled for Windows in CI (`build-windows` passed on run 2057). The replacement behaviour itself needs a look on a real Windows machine: send 3 quick messages in one room and you should see a single toast.
jared closed this issue 2026-09-23 22:46:48 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny-desktop#16