Repository navigation
Conversation
…le empty Computers copy An account without the entitlement followed an enrollment link, typed the two digits, and got the raw NOT_ENTITLED_ERROR with a Retry that could never help. The enroll page now reads the entitlement up front from GET /api/voice (a failed read never counts as unentitled), maps the approve route's 403 NOT_ENTITLED_ERROR to NoPlanError, and in either case shows why in place of the digits, with Use another account (sign out, code kept) beside Don't approve. The empty Computers list now names the desktop path to enroll one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 tasks done
Deploying mouseterm with
|
| Latest commit: |
3d9fd91
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://864af247.mouseterm.pages.dev |
| Branch Preview URL: | https://hosted-no-plan-approval.mouseterm.pages.dev |
dormouse-bot
approved these changes
Oct 23, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #1365. Revived from the stale #1003 walkthrough findings, rebuilt on current main.
No-plan approval
Entitlement is
ADMIN_EMAIL-only today, so almost every account that follows an enrollment link from Dormouse hit a dead end. It typed the two digits, then got the raw "this account is not entitled to the Hosted Relay" with a Retry connection button that could never help. This happens for both purposes, remote control and Natural Voice.GET /api/voice(hostedVoice.entitled === false), the one entitlement predicate both purposes share. A failed read leaves it null and never counts as no plan.approveEnrollmentmaps only a 403 carryingNOT_ENTITLED_ERRORtoNoPlanError. Any other refusal is still a page error.hosted.md→ "Burrow enrollment" gains the rule. To fit it, the word budget is ratcheted from 4600 to 4650.Empty Computers list
"No computers yet. Enroll one from Dormouse on that computer." now names the real desktop path: Settings → Network → Phones → Persistent Relay → Enroll remote control.
Test plan
hosted/srcvitest 15/15. The new tests cover up-front no-plan for both purposes, approve 403 → no-plan with no alert, a failed read or approval never no-plan, and Use another account keeping the code, plus twoapproveEnrollmentunit tests. Each was mutation-checked red.NoPlanandNoPlanVoicestories. The Enrollment stories' plays pass 21/21 in Chromium.hostedtypecheck; spec and md lints🤖 Generated with Claude Code