Skip to content

Reload other tabs when authentication is revoked - #20

Merged
linkdata merged 6 commits into
mainfrom
fix/logout-reload
Oct 6, 2026
Merged

linkdata merged 6 commits into
mainfrom
fix/logout-reload

Conversation

@linkdata

@linkdata linkdata commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Both Go modules use JaWS v0.808.0, which includes the merged request reload and queue wake-up changes.

Summary

  • Retire revoked pages with Request.Reload instead of abruptly cancelling their sockets. Logout, expiry, admin revocation, login rotation, and revocation during rendering share the same helper.
  • Send the reload command before closing connected sockets. Events and callbacks run normally until disconnect; pending pages queue Reload for delivery after successful connection setup. Protected operations must check current authorization.
  • Document the reload behavior and retain the HTTP logout redirect guidance.

Verification

  • A real WebSocket regression reproduces two tabs sharing an admin session: the old implementation disconnects without Reload; the fix delivers Reload to both the ordinary and admin-only page.
  • Existing lifecycle tests use active request loops and emulate writer disconnect after Reload to check cancellation, admin policy, render races, and slow UserInfo handling.
  • Each module passes race tests, vet, build, generation, golangci-lint, staticcheck, and gosec using the downloaded v0.808.0 release with GOWORK=off. Demo and Keycloak integration tests pass with normal and forced bridge networking.
  • Formatting, final documentation review, and rendered godoc checked. JaWS v0.808.0 additionally covers delayed connections, queued callbacks, continued client writes, and browser recovery behavior.

@linkdata
linkdata marked this pull request as ready for review October 6, 2026 10:37
@linkdata
linkdata merged commit 47bcd9d into main Oct 6, 2026
3 checks passed
@linkdata
linkdata deleted the fix/logout-reload branch October 6, 2026 10:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant