Repository navigation
fix(qa): name the profile by its handle on a DID-addressed record 404 - #269
Merged
Merged
Conversation
"Activity not found" reached through a /did:plc:… link showed "View @did:plc:…". The button now resolves the DID to its handle (from the DID doc), and falls back to the DID only when that fails. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedThe pull request is closed. Finishing Touches
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 |
holkexyz
marked this pull request as ready for review
October 29, 2026 22:40
svc-agent
pushed a commit
that referenced
this pull request
Oct 29, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comment on lines
+51
to
+53
| const handle = | ||
| resolved.handle ?? (await resolveHandle(resolved.did).catch(() => null)); | ||
| return { kind: "record", actor: handle ?? actor.value, type }; |
There was a problem hiding this comment.
Slow lookup removes profile link
If resolveHandle outlasts the remaining 3-second budget, the page discards the already-confirmed missing record. It shows “Page not found” without the profile link instead of falling back to the DID. Keep the known record result when the optional handle lookup times out, and add a stalled-lookup test.
Prompt To Fix With AI
This is a comment left during a code review.
Path: src/app/not-found.tsx
Line: 51-53
Comment:
**Slow lookup removes profile link**
If `resolveHandle` outlasts the remaining 3-second budget, the page discards the already-confirmed missing record. It shows “Page not found” without the profile link instead of falling back to the DID. Keep the known record result when the optional handle lookup times out, and add a stalled-lookup test.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.This branch was successfully 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.
Follow-up to #268, found while testing it on production.
On a missing activity or project reached through a
/did:plc:…link, the "Activity not found" page's button read "View @did:plc:atjy2x…". The not-found page now resolves the DID to its handle from the DID document, so the button reads "View @iron-for-change.certified.one". It falls back to the DID only when that lookup fails, and the existing 3-second budget still applies.Cherry-picked from staging (29448ff).
Checks
tsc,typecheck:testandlint(0 problems) pass.🤖 Generated with Claude Code
The PR appears safe to merge, with a non-blocking timeout fallback issue.
Fix with agent prompt
Summary
The missing-record page now resolves DID-addressed profiles to handles for its button.
Reviews (1) · Last reviewed commit: "fix(qa): name the profile by its handle ..." · Reviewed by Greptile