P1: fix(pds): reject reserved handles in live checks - #228
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🦋 Changeset detectedLatest commit: a79405e The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The E2E check stops at Find Railway deployment before running the suite. This PR is intentionally stacked on #227, so Railway did not create a standalone PR #228 preview environment. Local format, lint, typecheck, unit tests, and coverage all pass; the failure is preview-environment availability rather than a test assertion. |
b9b5803 to
68b0760
Compare
Use upstream handle normalization and service constraints instead of duplicating the reserved list. Preserve unrelated validation failures and report reserved names through the existing unavailable response.
fc58e9f to
a79405e
Compare
|



Summary
Make the live handle-availability endpoint apply the same reserved-name policy as account creation. Users no longer see Available for a handle that submission will immediately reject.
Changes
HandleNotAvailablepolicy errorTesting
pnpm format:checkpnpm lintpnpm typecheckpnpm testpnpm test:coverageScreenshots
Not applicable: this is server-side handle-policy enforcement. It reuses the existing Not available picker state from #227 and adds no new rendering.
Notes
The PR-attached E2E deployment lookup is expected to fail while this remains stacked: Railway does not create a standalone preview environment for the stacked head. The agreed plan is to wait for P1: fix(auth): use truthful unavailable-handle copy #227 to merge, then retarget/rebase this PR and run the full deployed suite before merge.
Focused extraction and review of work originally proposed in [WIP] many usability fixes (needs untangling) #165.
This is a stacked PR based on
split-pr165/handle-unavailable-copy.The upstream helper is imported through the version-pinned
@atproto/pds/dist/handle/index.jspath because it is not exported from the package root.