Keep desktop messaging sessions fresh - #45677
Conversation
|
Added a backend follow-up fix for the same desktop/messaging sync issue. Root cause found in dogfood: a platform SessionStore entry can remain pinned to a pre-compression parent session after a restart/send failure, while desktop opens the compression continuation. That makes Weixin and desktop appear unsynced even when the desktop polling fix is present. This update makes SessionStore heal existing mappings by walking SessionDB.get_compression_tip() before returning an entry, so platform messages resume the latest continuation. Validation:
|
tonydwb
left a comment
There was a problem hiding this comment.
Code Review Summary
Verdict: Approved
Feature
- Desktop app now polls messaging-platform sessions in the background so inbound Telegram/Discord/WeChat traffic appears without manual refresh.
- CRON poll at 30s interval, messaging poll at 10s, active messaging session at 5s.
Correctness
sameCronSignaturenow compares more fields (_lineage_root_id,source,profile,preview,message_count,last_active) to detect relevant changes without spurious re-renders.gateway/session.pyadditions support the polling backend.
Code Quality
- Proper use of
useCallback/ React patterns for polling cleanup.
No Issues Found
- No secrets, no debug artifacts.
Reviewed by Hermes Agent
|
Superseded by #57636. The desktop refactor since this PR was authored extracted
Full credit preserved via |
Summary
Testing
Manual verification