Fix SignalR live status detection and add version footer - #593
Merged
Conversation
- Update version to 1.18.2 in package.json and package-lock.json - Add FooterComponent to display app version; integrate into main layout - Adjust layout and CSS for sticky footer and flexible content - Refactor SignalrService to expose hubConnected$ observable - Update HomeComponent and NavMenuComponent to use hubConnected$ for live status and reload on state changes - Add liveStatusTooltip() to NavMenuComponent for accessibility - Remove unused timer-based connection checks from NavMenuComponent - Enable resolveJsonModule in tsconfig.json for version import - Clarify lack of authentication in ARCHITECTURE.md as intentional for private networks
|
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.



Pull Request
📖 Description
Fixes the live-session status indicator, which permanently showed "offline"
because the SignalR hub could never reach a
Connectedstate, and adds asmall footer showing the current app version.
isLiveSession/hub-status indicatorsreflect the real connection state instead of always showing disconnected.
hubConnected$observable onSignalrService, removing the up-to-30sdelay before the status indicator updated.
connection/live-session state.
package.json),pinned to the bottom of the viewport via a sticky-footer layout.
ARCHITECTURE.mdthat the lack of authentication is adeliberate choice for private-network use, not an oversight.
🎫 Issues
👩💻 Reviewer Notes
@microsoft/signalrdefaults towithCredentials: true;combined with the server's
AllowAnyOrigin()CORS policy (withoutAllowCredentials()), the browser silently blocked every hub negotiaterequest, so the connection state never became
Connected. Fixed on theclient by passing
withCredentials: false— no server CORS changeneeded, keeping wildcard-origin CORS and credentials mutually exclusive
as required by this repo's own convention.
NavMenuComponentupdated its internal connection-state field but never called
markForCheck(), so the view never re-rendered even when the statechanged. Added the missing call, matching the existing pattern already
used in
HomeComponent.(short and long pages) to confirm the sticky-footer behavior.
📑 Test Plan
Verified manually in the browser: hub status now flips to "online" within
about a second of connecting (previously blocked entirely by CORS); the
nav icon tooltip reflects connection/live-session state; the footer shows
the current
package.jsonversion and stays pinned to the bottom on shortpages while flowing with content on long pages.
✅ Checklist
General
Frontend-specific (Angular)
F1ServerApp.Data/ViewDatacontracts.⏭ Next Steps