Repository navigation
Conversation
… viewer The sockets viewer (including channels opened from the custom-channel modal, which lands on the same view) now logs a refused subscription instead of showing "Awaiting events..." forever. Authorization refusals from the socket server (AuthError) show their reason; other failures show their message. Kick-outs are logged too, and a later resubscribe (the socket service retries channels lost for token reasons) clears the failure state. Event content is now rendered as escaped text with preserved whitespace instead of through html-safe, since it carries server-provided strings and published payloads.
This was referenced Oct 6, 2026
Open
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.
What
The Developers → Sockets viewer now shows when a channel subscription is refused. Before, it showed "Awaiting events..." forever. The same view handles channels opened from the Listen on custom channel modal, so that path is covered too.
subscribeFailon the channel is logged in red:AuthError) reads "Not authorized to subscribe to channel {name} ({reason})". The reason is the server's short snake_case code, for exampleforbidden.kickOutis logged as "Removed from channel {name} ({reason})". When the channel was lost for a token reason, the socket service in ember-core resubscribes it. The view then logs "Socket subscribed to channel..." again and clears the failure state.logEvent()helper, which reassigns the tracked array instead of callingpushObject.whitespace-pre-wrap, not throughhtml-safe. The lines carry server-provided strings (refusal reasons, published payloads), so they should not be read as HTML. Pretty-printed JSON now keeps its line breaks.Why
This is the dev-engine part of the socket-auth work. Once the socket server enforces channel authorization, a channel the user may not see is refused. The viewer should say so rather than look broken.
Test plan
Verified by CI.
tests/unit/controllers/sockets/view-test.jsreplaces the placeholder test with tests for:Related PRs
Part of the authenticated realtime channels rollout (socket auth), one PR per repo:
fleetbase/core-api ^1.6.69)fleetbase/fleetbase-socketserver, compose/helm/installer, console socket test page