feat(ui): DashPay model views in the storage explorer#832
Merged
QuantumExplorer merged 1 commit intoJul 16, 2026
Conversation
The explorer covered 19 of the SDK's 34 SwiftData models and skipped the entire DashPay family. Port the example app's views for DPNS names, DashPay profiles, contact profiles, contact requests (grouped outgoing/incoming), DashPay payments, sent invitations, and ignored senders — list + detail each, plus the explorer rows. The example app's per-network filtering is dropped (dashwallet's ModelContainer is per-network already), and the contact-request detail additionally surfaces the owner-private alias/note meta the contacts UI writes. Still unported from the example app's explorer (follow-up material): asset locks, pending inputs, masternodes, and the five shielded views. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
2 tasks
QuantumExplorer
added a commit
that referenced
this pull request
Jul 16, 2026
The DashPay / asset-lock / masternode / shielded rows added in #832 read their badge from the counts dictionary, but loadCounts() was never taught about their models — every new row showed 0 while its drill-in @query list rendered the real records (QA: "Contact Requests 0" outside, 4 rows inside). Count all fifteen ported models. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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.
Summary
The storage explorer covered 19 of the SDK's 34 SwiftData models — and none of the DashPay family. This ports the example app's views for the missing DashPay models:
PersistentDPNSNamePersistentDashpayProfilePersistentDashpayContactProfilePersistentDashpayContactRequestPersistentDashpayPaymentPersistentInvitationPersistentDashpayIgnoredSenderEach gets a list view + full field-dump detail view (copyable rows), matching the existing explorer conventions. Adaptations from the example app: per-network filtering dropped (dashwallet's
ModelContaineris per-network already),AppDate→ the localdateStringhelper, and the contact-request detail additionally surfaces the owner-private alias/note meta that backs the contacts list titles and payment-row aliases.Second commit — full parity
The remaining example-app views are ported too: Pending Inputs, Asset Locks (linked-identity resolution; recipient platform address encoded via the app's shared
Bech32minstead of the example's private encoder;statusLabelextension added since the SDK doesn't ship it), Masternodes, Shielded Notes (All/Unspent/Spent filter), Shielded Sent Notes, Shielded Activity, Shielded Sync State, Shielded Viewing Keys. Every SDK SwiftData model (34/34) is now browsable.Still unported(done in the second commit) (follow-up material if wanted): asset locks, pending inputs, masternodes, and the five shielded views.Test plan
dashpaysimulator build (arm64); installed on QA-iPhone16🤖 Generated with Claude Code