Preserve mission control scope through context hydration
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
## Delivery Tracker
|
||||
|
||||
### FE-MISSION-001 - Reproduce scope loss from mission action links
|
||||
Status: DOING
|
||||
Status: DONE
|
||||
Dependency: none
|
||||
Owners: QA
|
||||
Task description:
|
||||
@@ -29,11 +29,11 @@ Task description:
|
||||
- Capture which links drop `tenant`, `regions`, and `environments` when leaving mission-control surfaces.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Live Playwright evidence shows the exact mission actions that lose active scope.
|
||||
- [ ] The defect is reduced to a specific link-contract pattern instead of a generic downstream page issue.
|
||||
- [x] Live Playwright evidence shows the exact mission actions that lose active scope.
|
||||
- [x] The defect is reduced to a specific link-contract pattern instead of a generic downstream page issue.
|
||||
|
||||
### FE-MISSION-002 - Make mission action links explicitly preserve active scope
|
||||
Status: TODO
|
||||
Status: DONE
|
||||
Dependency: FE-MISSION-001
|
||||
Owners: Developer
|
||||
Task description:
|
||||
@@ -41,11 +41,11 @@ Task description:
|
||||
- Keep the fix scoped to the action layer so downstream pages receive the already-selected global context without route-specific patches.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Mission-board summary, alert, activity, and cross-domain action links preserve active scope during navigation.
|
||||
- [ ] Mission-control alerts and activity action links preserve active scope during navigation.
|
||||
- [x] Mission-board summary, alert, activity, and cross-domain action links preserve active scope during navigation.
|
||||
- [x] Mission-control alerts and activity action links preserve active scope during navigation.
|
||||
|
||||
### FE-MISSION-003 - Add focused Angular coverage for scope-preserving links
|
||||
Status: TODO
|
||||
Status: DONE
|
||||
Dependency: FE-MISSION-002
|
||||
Owners: Test Automation
|
||||
Task description:
|
||||
@@ -53,11 +53,11 @@ Task description:
|
||||
- Keep the coverage under `src/app/core/testing` so it remains in the focused Angular test include set.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Focused Angular tests assert the relevant mission links use `queryParamsHandling="merge"`.
|
||||
- [ ] The tests fail before the fix and pass after it.
|
||||
- [x] Focused Angular tests assert the relevant mission links use `queryParamsHandling="merge"`.
|
||||
- [x] The tests fail before the fix and pass after it.
|
||||
|
||||
### FE-MISSION-004 - Replay mission actions live after the patch
|
||||
Status: TODO
|
||||
Status: DONE
|
||||
Dependency: FE-MISSION-003
|
||||
Owners: QA
|
||||
Task description:
|
||||
@@ -65,17 +65,23 @@ Task description:
|
||||
- Confirm the downstream pages keep the original tenant/region/environment scope after navigation.
|
||||
|
||||
Completion criteria:
|
||||
- [ ] Live Playwright confirms approvals, disposition, data-integrity, and release-runs actions retain the scoped query string.
|
||||
- [ ] Live Playwright confirms the fixed links no longer depend on destination-route behavior to keep context.
|
||||
- [x] Live Playwright confirms approvals, disposition, data-integrity, and release-runs actions retain the scoped query string.
|
||||
- [x] Live Playwright confirms the fixed links no longer depend on destination-route behavior to keep context.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2026-03-07 | Sprint created after live Playwright from `/mission-control/alerts` and `/mission-control/activity` showed several actions dropping `tenant=demo-prod®ions=us-east&environments=stage` on navigation, while others kept it only by route-specific accident. | QA |
|
||||
| 2026-03-07 | Updated mission-board plus dedicated mission alerts/activity links to use explicit `queryParamsHandling=\"merge\"` and added focused coverage in `src/app/core/testing/mission-scope-links.component.spec.ts`; focused Angular run passed for `dashboard-v3`, mission-scope-links, and `platform-context.store`. | Developer |
|
||||
| 2026-03-07 | Live Playwright on the rebuilt stack confirmed the original broken mission links now keep `tenant`, `regions`, and `environments`, but a deeper race remained: fresh authenticated navigations could still collapse scoped URLs back to tenant-only during global context initialization. | QA |
|
||||
| 2026-03-07 | Fixed the context hydration race in `PlatformContextStore` by retaining the latest pending scope query until initialization completes, then added a focused store regression covering late-arriving route scope during bootstrap. | Developer |
|
||||
| 2026-03-07 | Rebuilt the Web bundle, synced `dist/stellaops-web/browser` into the live `compose_console-dist` volume, and re-ran live Playwright on `/mission-control/board`, `/mission-control/alerts`, and `/mission-control/activity` with `timeWindow=7d`. Source URLs and representative actions now retain `tenant=demo-prod®ions=us-east&environments=stage&timeWindow=7d` through downstream routes such as `/releases/approvals`, `/security/disposition`, and `/releases/runs`. | QA |
|
||||
|
||||
## Decisions & Risks
|
||||
- Decision: fix scope preservation at the mission-link layer with explicit query-param merge semantics rather than modifying every downstream route that currently receives an empty or partial query string.
|
||||
- Risk: the main dashboard uses the same static mission links, so the fix must cover both the dedicated mission-control pages and the mission-board surface in the same iteration.
|
||||
- Decision: treat the later tenant-only URL collapse as a context-initialization defect in `PlatformContextStore`, not another mission-page routing issue, because the scoped route arrived before context initialization completed and the store only remembered the first query override.
|
||||
- Decision: keep the default `24h` time window omission from `scopeQueryPatch()` unchanged; live verification used a non-default `7d` value to prove that explicit time-window scope now survives initialization and navigation.
|
||||
|
||||
## Next Checkpoints
|
||||
- 2026-03-07: land the scope-preserving mission action patch and focused Angular coverage.
|
||||
|
||||
Reference in New Issue
Block a user