Feat v0.9.1 server-side sub-path routing
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-runners (pull_request) Has been skipped
CI/CD / e2e-smoke (pull_request) Has been skipped
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m50s
CI/CD / test-sqlite (pull_request) Successful in 3m1s
CI/CD / build-and-deploy (pull_request) Successful in 1m27s

Hardens multi-surface routing: unified root/catch-all dispatcher,
aggregateAccess() early auth short-circuit for all-authenticated
packages, SDK history.replaceState() for back-button resilience.

13 new tests (5 aggregateAccess unit + 8 handler integration).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-03 13:11:20 +00:00
parent 5ad6d77c56
commit 3ae959c8a9
7 changed files with 461 additions and 12 deletions

View File

@@ -84,12 +84,12 @@ titles, and layouts. Unified route tree dispatches between surface
rendering and ext API calls. `sw.navigate()` for client-side sub-path
routing. Design doc: `docs/DESIGN-multi-surface.md`.
**v0.9.1 — Server-Side Sub-Path Routing**
**v0.9.1 — Server-Side Sub-Path Routing** *(completed)*
Full-page refresh on sub-paths (e.g. `/s/my-pkg/monitor`) currently
requires client-side routing. This version restructures the Gin route
tree so the kernel resolves sub-paths server-side, including proper
`OptionalAuth` for packages with mixed public/authenticated surfaces.
Consolidated root and catch-all route handlers into a unified dispatcher.
Added `aggregateAccess()` for early auth short-circuit on all-authenticated
packages. SDK seeds initial history state for back-button resilience.
8 handler integration tests + 5 aggregateAccess unit tests.
**v0.9.2 — Starlark Converter Consolidation + Snapshot Cleanup**