You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e0dfcb2
Browse filesBrowse the repository at this point in the historyBrowse files
fix(platform): exit when a production zone is misconfigured
Throwing from register() never stopped the process: Next logs 'Failed to prepare
server' and keeps listening, answering 500 to everything, so the zone's guard
looked alive to anything supervising it. It now logs and exits 1. Reproduced on a
tiny production build of the same Next version, which stayed up before this and
exits 1 after it. The live spec already asserted the exit, which is how this
surfaced.
Copy file name to clipboardExpand all lines: apps/sim/platform/docs/org-parity.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -376,7 +376,7 @@ The shell lane's rows, one per row of its audit. `shell.spec` is `checks/live/sh
376
376
| Zone not built, flag on: `/o` renders legacy with no redirect, `/org` is absent |`next.config.ts`| Done | "/org is absent", in the `live (flag-off)` job |
377
377
| Zone down or answering 5xx with the flag on: a legacy URL renders on the main app, a Platform page returns there, an open tab's client navigation is sent back, sign-in lands there |`proxy.ts`, `lib/platform/zone-availability.ts`| Done | "with the zone unavailable", run with the process gone and with every page answering 503; `proxy.test.ts` for each way a zone can fail. A deep link comes back to the organization's home, not to its own page |
378
378
| A zone that recovers takes its organizations back |`lib/platform/zone-availability.ts`| Done | "a zone that comes back takes its organizations back" |
379
-
| Per-organization rollout: `platform-org-ui` reaches a targeted organization by id and no other, on the same deployment, through the real AppConfig client against a fixture of its service |`lib/platform/rollout.ts`, `lib/core/config/feature-flags.ts`| Done | "a targeted organization is handed to the Platform", "an organization outside the rollout stays on /o". No real AppConfig deployment has been read |
379
+
| Per-organization rollout: `platform-org-ui` reaches a targeted organization by id and no other, on the same deployment, through the real AppConfig client against a fixture of its service |`lib/platform/rollout.ts`, `lib/core/config/feature-flags.ts`| Done | "a targeted organization is handed to the Platform", "an organization outside the rollout stays on /o". No real AppConfig deployment has been read. Each route bundle polls on its own clock, so a change can reach the surface API and `/o` up to a poll apart, and until then `/o` can hand off to a zone that answers 404|
380
380
| A rollback under an open tab: a client navigation keeps working, because the rollout gate lives in a layout that does not re-render, and a reload's 404 offers a way off the zone |`live-shell.tsx`, `lib/data/landing.ts`| Done | "a rollback under an open tab"; `landing.test.ts` for the root's decision. The 404's home button used to loop back to it |
381
381
| Self-hosted, no zone, no flag: boots, `/o` is served by the main app, `/org` is absent |`next.config.ts`, `lib/platform/rollout.ts`| Done | "a self-hosted deployment with no zone boots", "a self-hosted organization is served by the main app", "a self-hosted deployment has no /org", in the `live (flag-off)` job |
382
-
| A production zone behind a base path with no API origin, or on fixtures, refuses to start |`instrumentation.ts`, `lib/data/mode.ts`| Done | "a production zone with no API origin refuses to start", "a production zone on fixtures refuses to start", "a production zone with an API origin starts", each a real `next start` of the build |
382
+
| A production zone behind a base path with no API origin, or on fixtures, refuses to start |`instrumentation.ts`, `lib/data/mode.ts`| Done | "a production zone with no API origin refuses to start", "a production zone on fixtures refuses to start", "a production zone with an API origin starts", each a real `next start` of the build. `instrumentation.ts` exits, because Next only logs a failed `register()` and answers 500|
0 commit comments