Give the workspace path the same post-login work as the host path

FixSecurityService
Shipped
August 24, 2026 at 10:10 PM UTC
Author
Kamo
Commit
604dee2

Two gaps found by re-reading the original login tail against the new one, before enabling the picker. The form-encoded /login endpoint built its LoginRequest without `org`. kamo-login posts form-encoded, so that is the endpoint every browser sign-in actually reaches -- the hint was readable only over JSON, which nothing sends, and would have been dropped silently on the one path that uses it. And the new path skipped two things the old one does after minting a session: starting a pending trial on the first real sign-in, and clearing a stale AWAY or BUSY availability. Neither has a visible result at sign-in time, so both would have failed quietly -- an org entered for the first time through the picker would never start the trial it was created with, and a member who once set themselves BUSY would stay BUSY, which the support accept-popup treats as a permanent opt-out of being offered a chat. DO_NOT_DISTURB is still left alone; outliving its session is the point. Both now live in SignInCompletionService, so there is one place where this work happens rather than two that drift. SignInCompletionServiceTest pins it, including that a failed trial start never refuses a sign-in -- billing is not a credential. 938 tests pass.

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