Paint a white-label sign-in screen from the host's organization

Fixkamo-login
Shipped
September 4, 2026 at 12:39 AM UTC
Author
Kamo
Commit
a200fc6

Every image and colour was missing on login.<customer domain> for any organization created after the 2026-08-26 alias migration. getThemePath() resolves an explicit slug, then the tab's recorded one, then falls back to deriving a folder from the hostname - the PRE-migration name (harmonyhomeloans.net -> public/harmonyhomeloans-net). Provisioning only ever writes public/<alias>/. Typing login.<domain> carries no ?org= and a fresh tab records nothing, so that fallback is what always ran. It stayed invisible because ThemeFolderMigrationService COPIED legacy -> alias without deleting, so all ten pre-migration orgs answer on both names. Nothing creates the legacy folder for a new org: of eleven DNS-verified orgs, the one created since the migration was the only one broken, and every org created from here would be. resolveBrandingSlugFromHost() asks the server who this host is and records the alias. The lookup is a round trip and getThemePath() is synchronous and called during render, so useThemePath() recomputes when it lands; the hostname fallback stays as the last resort for when it cannot. The host is read from the request, never from the caller - a parameter would make this "tell me who owns any hostname". Upstream is by-host and not /org/domain/{fqdn}, which auto-provisions app features as a side effect (securityservice 3eb7d0b).

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