Skip to content

fix(SyncService): Behave like an idle disconnect on 403 responses - #9192

Open
mejo- wants to merge 1 commit into
mainfrom
fix/403_idle
Open

fix(SyncService): Behave like an idle disconnect on 403 responses#9192
mejo- wants to merge 1 commit into
mainfrom
fix/403_idle

Conversation

@mejo-

@mejo- mejo- commented Sep 9, 2026

Copy link
Copy Markdown
Member

When the editing session went invalid (i.e. because a browser or tab was sleeping and didn't send a heartbeat for more than five minutes), the server replies with 403 responses to sync/push requests.

The client-side polling backend correctly disconnects but the push side (sync service) continues to send push requests with awareness state updates and optionally pending steps.

This commit changes the sync service to stop pushing to the server on 403s as well by invalidating the session client-side.

The UI now handles the PUSH_FORBIDDEN error like an idle disconnect: it sets the idle state which causes the status badge with reconnect button to be displayed.

Fixes: #8950

Assisted-by: ClaudeCode:claude-fable-5-1

馃弫 Checklist

  • Code is properly formatted (npm run lint / npm run stylelint / composer run cs:check)
  • Sign-off message is added to all commits
  • Tests (unit, integration and/or end-to-end) passing and the changes are covered with tests

馃 AI (if applicable)

  • The content of this PR was partly generated using AI tools
  • The AI-generated content was reviewed, comprehended and tested by a human

When the editing session went invalid (i.e. because a browser or tab was
sleeping and didn't send a heartbeat for more than five minutes), the
server replies with 403 responses to sync/push requests.

The client-side polling backend correctly disconnects but the push side
(sync service) continues to send push requests with awareness state
updates and optionally pending steps.

This commit changes the sync service to stop pushing to the server on
403s as well by invalidating the session client-side.

The UI now handles the `PUSH_FORBIDDEN` error like an idle disconnect:
it sets the `idle` state which causes the status badge with reconnect
button to be displayed.

Fixes: #8950

Signed-off-by: Jonas <jonas@freesources.org>
Assisted-by: ClaudeCode:claude-fable-5-1
@mejo- mejo- self-assigned this Sep 9, 2026
@mejo- mejo- added the bug Something isn't working label Sep 9, 2026
@github-project-automation github-project-automation Bot moved this to 馃Л Planning evaluation (don't pick) in 馃摑 Productivity team Sep 9, 2026
@mejo- mejo- moved this from 馃Л Planning evaluation (don't pick) to 馃憖 In review in 馃摑 Productivity team Sep 9, 2026
@mejo-

mejo- commented Sep 9, 2026

Copy link
Copy Markdown
Member Author

/backport to stable35

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: 馃憖 In review

Development

Successfully merging this pull request may close these issues.

Lots of 403-errors (Forbidden) for push-URLs

1 participant