fix(dashpay): rekey isLocal consumers to the restored wallet-ownership semantics - #983
Merged
Merged
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughIdentity labels now show “Observed” for non-local identities. The detail view omits status for local identities. Network refresh now processes all persisted identities. ChangesIdentity ownership and refresh
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
QuantumExplorer
force-pushed
the
fix/islocal-consumer-semantics
branch
2 times, most recently
from
August 11, 2026 19:11
0964136 to
ccf5f85
Compare
The SDK now defines isLocal as 'this identity is yours or deliberately tracked here': wallet-derived identities are always local, manual adds are local, and only incidental (observed) rows are false — with the persister promoting on wallet linkage and a startup heal for the constant-false era (dashpay/platform#4375). Update the three app-side readers written against the old dead 'Local Only / On Network' badge reading: - Identities list badge: the orange 'Local Only' badge (which would now appear on every wallet identity) becomes an 'Observed' badge on the rare incidental rows. - Identity detail sheet: the always-on Status row is replaced by an 'Observed' row shown only for incidental rows — the Wallet row already names the owner otherwise. - refreshFromNetwork: drop the '!row.isLocal' filter, which would have skipped exactly the wallet's own identities. The key-refresh gates stay on the wallet relationship (#981) — that operation needs the wallet's DIP-9 tree specifically, which isLocal deliberately does not claim. Land/pull dashpay/platform#4375 first: until then rows still carry the constant false and every identity shows the 'Observed' badge. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
QuantumExplorer
force-pushed
the
fix/islocal-consumer-semantics
branch
from
August 12, 2026 07:42
ccf5f85 to
ef8fc96
Compare
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.
Issue being fixed or feature implemented
Follow-up to #981. The SDK defines
isLocalas mine-or-tracked (owner-decided semantics, dashpay/platform#4375): wallet-derived identities are always local, manual adds are local, and only incidental observed rows arefalse— promote-only, with a startup heal for stores written by the constant-falseera that caused the original field bug (the wallet's own identity showing as not-local, hiding the key-refresh affordances).This PR updates the three remaining app-side
isLocalreaders, written against the old dead "Local Only / On Network" badge reading:refreshFromNetwork— the!row.isLocalfilter is dropped; it would have skipped exactly the wallet's own identities.The key-refresh gates stay on the wallet relationship (#981) — that operation needs the wallet's DIP-9 tree specifically, which
isLocaldeliberately does not claim.Ordering
Land/pull dashpay/platform#4375 first: until the SDK fix is in
../platform, rows still carry the constantfalseand every identity would show the "Observed" badge.How Has This Been Tested?
Clean
dashpayscheme simulator build (ARCHS=arm64). SDK-side behavior (promotion, promote-only discipline, heal, observed-entry mislink fixes) is covered byIdentityIsLocalPersistenceTestsin the platform PR.🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Bug Fixes