feat(operator): make the PWA operator-first#122
Merged
Conversation
Route the installed app and /operator links toward the operator surface, remove the monitoring frontend from the active React app, and keep logout cache purging on the new operator seam. Includes the reviewed requirements and plan artifacts that define the operator-first and run-index follow-up scope.
Add the fixed operator failure taxonomy, remove monitoring runtime caching, and update stale SSR operator tests to assert the new operator-first route and no-proxy boundaries.
Connect the React operator surface to the existing browser-direct launch and stream runtimes with CSP-safe loading, explicit cleanup, and token-aligned operator styling.
Start the root operator shell in ready mode, serve the two required runtime modules outside the legacy operator flag, and keep manual-mode imports manual through the launch-to-stream handoff. Also restores prompt-mode service-worker activation with updateServiceWorker(true) and documents the verified operator-first PWA routing/fail-state pattern.
fro-bot
approved these changes
Jun 27, 2026
fro-bot
left a comment
Owner
There was a problem hiding this comment.
Verdict: PASS
Blocking issues
None
Non-blocking concerns
None
Missing tests
None
Risk assessment (LOW/MED/HIGH) + rationale
MEDIUM. This is a large route/runtime/PWA migration touching auth-adjacent routing, service worker behavior, and browser-direct operator calls. The reviewed implementation keeps / and /operator behind server auth, leaves operator data paths network-only/no-store from the service worker, avoids dashboard proxy/write paths, uses fixed coarse error copy, and adds broad coverage for route redirects, static asset exposure, runtime lifecycle cleanup, service worker routing, and operator state handling. Verified with pnpm check-types, pnpm lint, and pnpm test (1139 tests passed).
Run Summary
| Field | Value |
|---|---|
| Event | pull_request |
| Repository | fro-bot/dashboard |
| Run ID | 28292247458 |
| Cache | hit |
| Session | ses_0f67be44fffeZN2rPzPWno29ww |
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
Make the operator interface the primary PWA experience:
/and redirect/operatorback to/./operatorcanonicalization, and legacy cache cleanup.Verification
pnpm check-typespnpm lintpnpm test/renders the operator shell/operatorcanonicalizes to/?manual=1/operatorresolves to/Notes
return_to=/operatorbecause the Gateway validates return paths against an exact allowlist. The dashboard redirect then canonicalizes/operatorto/.