Skip to content

P1: fix(pds): reject reserved handles in live checks - #228

Draft
aspiers wants to merge 1 commit into
mainfrom
split-pr165/reserved-handle-check
Draft

P1: fix(pds): reject reserved handles in live checks#228
aspiers wants to merge 1 commit into
mainfrom
split-pr165/reserved-handle-check

Conversation

@aspiers

@aspiers aspiers commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

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

  • Reuse upstream handle normalization and service constraints
  • Return unavailable only for the upstream HandleNotAvailable policy error
  • Add focused reserved-handle tests and a changeset

Testing

  • pnpm format:check
  • pnpm lint
  • pnpm typecheck
  • pnpm test
  • pnpm test:coverage

Screenshots

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.js path because it is not exported from the package root.

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
epds-demo Ready Ready Preview Jul 30, 2026 3:40pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6e82dd1e-ebd8-4924-a211-0d45cb840fa3

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@changeset-bot

changeset-bot Bot commented Jul 30, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest 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

@aspiers aspiers changed the title fix(pds): reject reserved handles in live checks P1: fix(pds): reject reserved handles in live checks Jul 30, 2026
@aspiers

aspiers commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

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.

@aspiers
aspiers force-pushed the split-pr165/handle-unavailable-copy branch from b9b5803 to 68b0760 Compare July 30, 2026 15:39
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.
@aspiers
aspiers force-pushed the split-pr165/reserved-handle-check branch from fc58e9f to a79405e Compare July 30, 2026 15:40
@sonarqubecloud

Copy link
Copy Markdown

Base automatically changed from split-pr165/handle-unavailable-copy to main July 31, 2026 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant