Let the organization word the ribbon, and own the tab icon

Featurekamo-login
Shipped
September 6, 2026 at 3:16 AM UTC
Author
Kamo
Commit
e759edb

"Welcome Back!" moves out of the root layout into PaneRibbon, a client component, because the wording is now the organization's to choose and this site learns its organization from a config.json fetched in the browser. It is still what this site says — the fallback every org gets until it chooses otherwise, not a placeholder — and the geometry is unchanged: measured against origin/main, the band's box and its clip square are identical to the pixel. All three pieces moved together. They carry explicit z-indexes, so paint order is settled by those rather than by where they sit in the DOM, and keeping them in one component is what lets one place decide what the ribbon says. The favicon now follows authLogoBrandSource, the same selector the logo on this screen already follows, so an org that white-labels the page white-labels the tab beside it instead of pairing a software mark on the screen with the company mark in the tab. Only when provisioning actually generated a software set — otherwise favicon-software/ does not exist and requesting it paints nothing. Verified against a dev server: seeding the wording and firing the theme events swaps the band's text and clearing it restores "Welcome Back!" rather than emptying the ribbon. Worth recording that this only reproduces over `localhost` — over `127.0.0.1` Next blocks its own dev resources, React never hydrates, and every client component on the page looks inert in a way that mimics exactly the bug you would be hunting.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing