fix: align pubky and paykit ui#1097
Open
ben-kaufman wants to merge 2 commits into
Open
Conversation
Greptile SummaryThis PR aligns the Pubky and Paykit contact experience with the latest designs. The main changes are:
Confidence Score: 4/5The private payment enable path and post-save back-stack cleanup need fixes before merging.
ContactPaymentSettingsRepo.kt and ContentView.kt
|
| Filename | Overview |
|---|---|
| app/src/main/java/to/bitkit/repositories/ContactPaymentSettingsRepo.kt | Adds shared contact-payment enable, disable, cleanup, and rollback behavior; the enable path ignores private publication failure. |
| app/src/main/java/to/bitkit/ui/ContentView.kt | Updates contact and scanner navigation; post-save cleanup can miss an AddContact entry whose raw key differs from the normalized key. |
| app/src/main/java/to/bitkit/viewmodels/SettingsViewModel.kt | Exposes the shared contact-payment state and delegates switch updates to the new repository. |
| app/src/main/java/to/bitkit/ui/screens/contacts/ContactDetailViewModel.kt | Adds contact deletion state, error handling, and a successful-deletion effect. |
| app/src/main/java/to/bitkit/data/serializers/SettingsSerializer.kt | Applies the simplified Paykit payment-method defaults while loading persisted settings. |
Reviews (1): Last reviewed commit: "chore: rename changelog fragment" | Re-trigger Greptile
ben-kaufman
changed the base branch from
master
to
codex/paykit-watch-only-accounts
July 20, 2026 15:42
ben-kaufman
force-pushed
the
codex/970-pubky-paykit-ui-parity
branch
from
July 20, 2026 15:42
f65148d to
2b14ed7
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.
Fixes #970
Depends on #1084.
This PR:
Description
The Android Pubky and Paykit flows still mixed older layouts and settings with the v61 designs. Profile and contact screens used outdated spacing, labels, dividers, key formatting, and sheet sizing, while contact payments were split across onboarding and a separate per-method preference screen.
This update brings those flows together around the latest design. Profile and contact editing share the revised form treatment, contact import and add flows follow the new hierarchy, Pubky scanning uses its dedicated presentation, and newly added contacts can be reviewed or deleted from the detail screen. Profile and contact tags can be added and removed directly from their detail screens with stable, accessible controls.
General settings now exposes one payments-with-contacts switch backed by the receiver-aware behavior from #1084. Lightning and on-chain receiving remain enabled for the simplified Paykit experience. Paykit lifecycle/concurrency, sign-out and wallet-wipe safety, and unrelated endpoint-cleanup hardening are intentionally outside this PR.
Preview
QA Notes
Manual Tests
Automated Checks
ContactPaymentSettingsRepoTest.kt; profile and contact tag persistence inProfileViewModelTest.ktandContactDetailViewModelTest.kt; hidden Paykit method migration inSettingsSerializerTest.kt; and Pubky key formatting inPubkyPublicKeyFormatTest.kt.TagButtonTest.kt, plus full-row switch semantics and debouncing inSettingsSwitchRowTest.kt.AddContactViewModelTest.kt,PayContactsViewModelTest.kt, andSettingsViewModelTest.kt.compileDevDebugKotlin,testDevDebugUnitTest,compileDevDebugAndroidTestKotlin, anddetekt --rerun-taskspass against the original rc37 artifact used by feat: add Paykit server accounts #1084. The currently published rc37 artifact resolves to a different breaking API; correcting that base dependency is outside this PR.