Originally created by: kristofferR
Implements the recent-conversations Dock/tray menu (Ref [#19]) — Caprine's "Quick access to conversations from Dock menu" feature.
set_menu on Windows/Linux).inject/messenger.js scrapes the chat list (display name + /t/<id> link, reusing chatRows()) on a slow poll (10s visible / 60s hidden) and emits carrier:recent-threads only when the list actually changes.lib.rs validates the payload hard — bare /t/<digits>/ hrefs only (they're re-embedded into an eval'd navigation), names trimmed/truncated, duplicates dropped, list capped — and stores it in AppState.applicationDockMenu: method added onto tao's NSApplication delegate at RunEvent::Ready. Menu clicks flow through Tauri's regular menu-event plumbing as recent:<index> ids.On a live debug build: Dock menu lists the real chat list in order; clicking an entry switches the open conversation without a reload; toggling Hide Names & Avatars empties the Dock menu at once and restores it when toggled back; settings.json contains no thread data. cargo fmt / clippy -D warnings / cargo test --lib (3 new sanitizer tests) and node --check all pass.
Ticket changed by: kristofferR