Repository navigation
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 14 minutes. View limit details
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. |
|
@coderabbitai review |
|
Step 6 of specs/006 §10, the one commit that makes the channel live: the three npubs the maintainer handed over, pinned to their hex form by a test so a bech32 slip cannot trust a stranger. The reader subscribes to them on the next release that carries this.
fa4e2c3 to
ee60f28
Compare
607bde2 to
8583bef
Compare
|
@coderabbitai review |
|
|
@coderabbitai review |
|
|
@coderabbitai review |
|
Linked issue
Closes #319 (step 6 of
specs/006-announcement-channel/spec.md§10, the last of the stack: #889 → #890 → #891 → this).Type
feat
What changes and why
The one commit that makes the channel live: the three project keys go into
ALLOWLIST(rust/src/nostr/announcements.rs), asnpubs, each with its hex form in a comment and all three pinned by a test (the_shipped_allowlist_is_the_project_keys) so a bech32 slip that still decodes cannot trust a stranger. With a non-empty allowlist the reader opens its kind38387subscription on the next release that carries this; until then nothing changes for users.Reviewer: check the three hex keys against the source outside this repository (spec §4.1 rule 2). They were handed over by the maintainer on 2026-10-23 and converted with
nak encode npub.Affected flow
Every launch and resume:
subscribe_announcementsnow issues one moreREQon the shared pool (kind38387, these three authors,since = now − 30 days,limit 20) — after the order book and the daemon subscriptions, never in front of them. Notifications shows what arrives (#890). No trade flow, no order status.Blast radius
Platforms tested
Linux:
cargo test allowlist,flutter test test/l10n.Manual testing
Setup
The stack built from this branch,
flutter run -d linuxor Android; one of the three keys'nsecat hand (offline),nak, and a draft validated withcargo run --bin announce(#891,docs/ANNOUNCEMENTS.md).Steps
[announcements] subscribed to 3 key(s).infoannouncement signed with one of the keys to the three default relays. Expected: within seconds the bell gets a badge and Notifications shows the card (feat(announcements): show announcements in the notification surface #890 steps 1–4).[announcements] … turned away: Invalid(AuthorNotAllowed)in the debug log.main.Not covered
iOS, web.
Screenshots
No visible change beyond #890's.
Automated tests
nostr::announcements::tests::the_shipped_allowlist_is_the_project_keys(the threenpubs decode to exactly these hex keys, in order) next to the existingthe_shipped_allowlist_decodes_in_full;test/l10n/locale_lists_test.dartstill holds the spec's locale list equal to the ARBs.Checklist
cd rust && cargo clippy -- -D warnings && cargo testpass locally on the file of this PRflutter analyzeandflutter testunaffectedrust/src/api/or an.arb: no38387(docs: reserve kind 38387 for announcement events protocol#56); the daemon and the v1 app see nothing newAI assistance
Written with Claude Code. The keys are the maintainer's; the conversion to
npuband the pinning test are the part to verify.