fix(simplex): make polling recovery visible and bounded - #27415
Open
Zoffka wants to merge 4 commits into
Open
Conversation
Reduce fallback polling latency, persist seen item IDs, and resolve SimpleX send targets via CLI display names.
Improve the SimpleX fallback path when daemon push events are stale or missing. Keep polling on a short wall-clock budget, dispatch polled batches in daemon order, mark polled inbound items read, avoid seeding unread inbound text as stale history, and show a delayed processing notice for slow SimpleX turns.
|
why? |
Contributor
|
Thanks for the detailed SimpleX recovery work. I verified that the underlying gap still exists on current main: Problems
Suggested changes
This is an automated hermes-sweeper review. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR tightens the SimpleX gateway fallback path for cases where daemon push events are missing or stale but
/tailstill exposes the message history.It does not claim to fix every SimpleX daemon transport stall. During live testing, the local
simplex-chatdaemon itself could get contact-transport stale (sndSentstuck, no fresh inbound in daemon history) and recovered after restarting only the daemon. This PR focuses on the Hermes-side failures that are reproducible and covered by tests.Changes
/tail 50.direct:<contactId>:<itemId>,group:<groupId>:<itemId>) so restarts do not replay old mail./_read chat items ...so SimpleX users get a visible read indicator.Verification
Local tests:
The broader gateway slice was run with live API-server CORS environment overrides unset so default-CORS tests used their expected defaults.
Live SimpleX checks on a local gateway:
sndRcvd.testingested from SimpleX and replied to.wowingested from SimpleX and replied to.test hereingested from SimpleX and replied to.Observed daemon-level caveat:
simplex-chatdaemon did not show the fresh contact message in/tail, and outbound messages stayedsndSentrather thansndRcvd. Restarting onlysimplex-chat.servicerestored delivery. That daemon transport-health issue is intentionally not hidden by this PR and should be handled separately if needed.