Fix verify page note claim status on exhale#356
Fix verify page note claim status on exhale#356kojibai merged 1 commit intoFix-new-exhale-note-failurefrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0cb59c28f3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| async function resolveNoteParentCanonical(meta: SigilMetadata | null, payload?: NoteSendPayload): Promise<string> { | ||
| const fromPayload = normalizeCanonicalHash(payload?.parentCanonical); | ||
| if (fromPayload) return fromPayload; | ||
| const fromMeta = normalizeCanonicalHash(meta?.canonicalHash); | ||
| if (fromMeta) return fromMeta; |
There was a problem hiding this comment.
Use transfer-aware canonical for open child context
When a verified sigil has an open transfer (last transfer lacks a receiver signature), the Stamper flow derives a child canonical via transfer data (computeEffectiveCanonical), but resolveNoteParentCanonical here only trusts meta.canonicalHash or the basic pulse/beat hash. In that state canonicalHash can still be the parent, so notes exhaled from VerifyPage get associated with the parent canonical while the registry/claim lookups for the same sigil use the derived child canonical, leaving getNoteClaimInfo/isNoteClaimed out of sync. Consider reusing the transfer-aware canonical derivation when meta.transfers indicates an open send.
Useful? React with 👍 / 👎.
Motivation
UNCLAIMED/CLAIMEDstatus to be incorrect or missing.Description
NoteSendPayload/NoteSendResultimports and anormalizeCanonicalHashhelper to consistently normalize canonical hashes.resolveNoteParentCanonical(meta, payload)to prefer payload parent canonical, then embeddedcanonicalHash, and finally derive a fallback canonical by hashingpulse|beat|stepIndex|chakraDaywhen necessary.noteOriginCanonicalmemo andhandleNoteSendcallback on the Verify page to capture resolvedparentCanonical,transferNonce, and related fields and to populatenoteSendMeta/noteSendPayloadRawstate.originCanonicalandonSendNote={handleNoteSend}into theNotePrinterinvocation so the Verify-page exhale path emits the same metadata used for claim tracking and status rendering.Testing
Codex Task