Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
kojibai
added a commit
that referenced
this pull request
Jan 31, 2026
## Release v42.7.0 — ExhaleNote Receipts, Claims, and Proof-Safe Exports This release rolls up everything shipped after **v42.6.0** into a clean minor bump. The headline: **ExhaleNote is now “receipt-grade”**—custom amounts, USD visibility, proof-bundle metadata carried through exports, PDF/PNG reliability upgrades, and a full **claim/unclaim + registry sync** loop so notes can be treated like portable value objects (not just UI). ([GitHub][1]) --- ## ✨ Highlights * **Custom amount ExhaleNote flow** + safer “send reservation” behavior when editing amounts. ([GitHub][2]) * **USD value shown on ExhaleNotes** (making receipts legible to non-Φ-native viewers). ([GitHub][1]) * **Exports upgraded**: proof bundle metadata included in ExhaleNote exports, and verification links/QRs now resolve correctly to the verifier. ([GitHub][1]) * **Receipt outputs hardened**: PDF rendering/parsing fixes (including large proof bundles), plus PNG download path improvements. ([GitHub][2]) * **Claim system shipped**: claim/unclaim mechanics + claim status propagation (local sigil registry + remote/global registry sync). ([GitHub][2]) * **UI declutter**: proof/signature controls hidden where they don’t belong in ExhaleNote upload contexts. ([GitHub][2]) --- ## 🚀 What shipped ### 1) ExhaleNote value + receipt UX * Add **USD value** to ExhaleNote outputs and related receipt metadata. ([GitHub][1]) * Add **custom ExhaleNote sends** + receipt metadata (supports user-chosen amount flows). ([GitHub][2]) * Fix re-export behavior so sending/exporting stays correct after edits (and reset reservations properly on amount changes). ([GitHub][2]) ### 2) Proof-carrying exports + verifier link correctness * ExhaleNote exports now include **proof bundle metadata** (so exported artifacts remain self-describing and verifiable). ([GitHub][1]) * QR + verify link construction fixed and hardened: * “Fix ExhaleNote QR to use verifier URL” * “Derive full verify URL for note QR” * “Fix verify URLs in note PDFs” * “Fix exhale note QR verify link” ([GitHub][1]) ### 3) PDF pipeline hardening (real-world proof sizes) * Fixes for **PDF rendering and verification issues**. ([GitHub][2]) * PDF parsing hardened to handle **large proof bundles** safely. ([GitHub][2]) * Restored/maintained correct receipt composition (e.g., cover page restoration) and ensured verification fields are populated/locked consistently on render. ([GitHub][2]) ### 4) ExhaleNote claim/unclaim + registry synchronization * Implement **unclaim → claim** function (so ownership state can be intentionally changed, not just inferred). ([GitHub][2]) * Claim state is now: * **Marked on SVG download** * **Persisted in sigil registry** * **Synced from remote registry** * **Broadcast to global registry** * Refreshed with ledger updates ([GitHub][2]) ### 5) Scanning + UI polish * Fix QR scanning issues and tighten the end-to-end scan → verify loop. ([GitHub][2]) * Hide signature/proof buttons for ExhaleNote where they caused confusion or implied actions that shouldn’t exist in that context. ([GitHub][2]) --- ## ✅ Merged PRs included in this release (since v42.6.0) * #327 — Update ExhaleNote for verify page ([GitHub][1]) * #328 — Add USD value to ExhaleNote ([GitHub][1]) * #329 — Custom amount flow for ExhaleNote ([GitHub][2]) * #330 — Fix re-export to handle send properly ([GitHub][2]) * #331 — Fix PDF rendering and verification issues ([GitHub][2]) * #332 — Handle large proof bundles in PDF parsing ([GitHub][2]) * #333 — Update PDF generation for ExhaleNote ([GitHub][2]) * #334 — Implement unclaim-to-claim function ([GitHub][2]) * #335 — Update ExhaleNote to PNG download ([GitHub][2]) * #336 — Fix QR code scanning issue ([GitHub][2]) * #338 — Hide signature/proof buttons for ExhaleNotes ([GitHub][2]) --- ## 🧩 Dev / Ops Notes * This release includes multiple patch bumps along the way (v42.6.1 → v42.6.9) that track incremental shipping; **v42.7.0** is the consolidated “clean cut” minor that captures the whole ExhaleNote receipt/claim/export hardening wave. ([GitHub][1]) * No breaking routing changes indicated in the commit history; this is primarily a **capability + correctness** upgrade across exports, PDFs, QR/verify paths, and claim state propagation. ([GitHub][2])
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.
Motivation
Description
BanknoteInputs(proofBundleJson,bundleHash,receiptHash,verifiedAtPulse,capsuleHash,svgHash) insrc/components/exhale-note/types.tsto carry proof metadata.qrPayloadand prefer it oververifyUrlwhen rendering the QR insrc/components/exhale-note/banknoteSvg.ts.src/components/ExhaleNote.tsximplement parsing of optionalproofBundleJson, build a verifier pointer QR payload (KVB-PTR-1) withbuildQrPayload, passqrPayloadintobuildBanknoteSVG, and include robust helpersparseProofBundleJsonandbuildQrPayload.insertPngTextChunksso the saved PNG matches the VerifyPage receipt format (phi_proof_bundle,phi_bundle_hash,phi_receipt_hash) insrc/components/ExhaleNote.tsx.VerifierStamperpopulates the ExhaleNote bridge payload (changes insrc/components/VerifierStamper/VerifierStamper.tsx).src/components/ExhaleNote.tsx,src/components/exhale-note/banknoteSvg.ts,src/components/exhale-note/types.ts, andsrc/components/VerifierStamper/VerifierStamper.tsx.Testing
Codex Task