- Shipped
- August 26, 2026 at 6:31 AM UTC
- Author
- kamo
- Commit
- 94f6538
Three faults with one cause, reported after creating Carl's Jr: the new tab said ?org=kamocrm.com, showed Kamo's logo and none of the org's colours — while its real logo and its exact colours sat correctly provisioned in MinIO the whole time. The tab never identified as Carl's Jr, so the shell painted the only organization it could resolve: the platform. WHY THE GUARD MISSED IT. The previous fix refused to write the URL when the render had fallen back — but only when it fell back to the HARDCODED org. Resolving by HOST succeeds on the shared platform host and answers "the platform", so it looked like a real answer and got pinned. A host-resolved org is now never trusted for this; only one that was NAMED is, because only a name can be per-tab. WHY IT HAD TO GUESS AT ALL. The tab was sent to /validate with nothing but a one-time key and left to work the organization out afterwards. The wizard knows it — it already reads the org back while waiting for the theme — so it now says so in the URL, and /validate carries it through. No round trip, nothing to fail. AND THE WAIT. The tab was claimed at the click, so the member watched about:blank for the minute creation takes, with no way to tell whether anything was happening. Nothing is opened until the work is done: the button on THIS tab disables and spins, and the workspace opens at the end. Opening after an await can be blocked, so a blocked popup offers a button instead — clicking it is the gesture the browser wanted, and the key is not spent in the meantime.