Repository navigation
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b8d5a5eccd
ℹ️ 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".
Phase 5, PR 5.4 of the reputation portability plan. Settings gains a Reputation card leading to a screen that: - reads what the selected node offers from its info event; - exports the user's reputation from this node, after a dialog that shows the identity as an npub and says the export binds the account to it, then shows the attestation to copy and import elsewhere; - opens the import screen (5.3); - signs a rebind authorisation for a new identity's npub, with the identity the reputation is bound to now, to copy into the new device or paste into lnp2pBot; - explains that full privacy mode keeps both directions off. Strings in every ARB; automation ids under reputation.* and settings.reputation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UrKanPgEfEBiEo3snHz4WZ
The screen signed rebind authorisations but never used one: every export from the new identity went out without it, so the node kept answering reputation_bound_to_other_identity. Add a field above the export button to paste the authorisation the bound identity signed, and pass it as rebind; the service checks it names this identity and issuer before sending. The import button also stayed enabled on a node that does not advertise reputation_import_issuers, leading through the whole flow to node_does_not_import. Read the import capability already fetched and say the node does not import instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E4t8avpoStb19ERrS77V2m
a52411a to
0c52f22
Compare
b8d5a5e to
eb6f481
Compare
What changes and why
This is phase 5, PR 5.4 of the reputation portability plan, and the last mobile PR. It is stacked on #744 (5.3).
Settings gains a Reputation card that opens the new
ReputationScreen(/reputation). The screen has:reputation_issuer(reputationNodeSupportProvider); otherwise the screen says the node does not export.npuband explains that the export binds this node's account to it. This is the confirmation the protocol requires before a first binding (docs(reputation): specify the reputation attestation, kind 38388 protocol#74, "Issuance", step 3). Nothing is sent if the user cancels.npub, which is validated;rebindwhen exporting, or into the lnp2pBot chat (feat(reputation): move a binding to a new identity lnp2pBot/bot#934).Strings and automation ids. 13 new strings, in all seven ARB files. Seven new ids (
settings.reputation,reputation.*), all attached.Tests
test/features/reputation/reputation_screen_test.dart, 5 cases:Screenshots
Not taken: I have not run the app on a device for this change. The flows are covered by the widget tests above, and the daemon side was run end to end (MostroP2P/mostro#1027).
🤖 Generated with Claude Code
https://claude.ai/code/session_01UrKanPgEfEBiEo3snHz4WZ