Repository navigation
Conversation
Persist owner-scoped signed messages and dispatch due work atomically. Protect cancellation, retries, replica completeness and community deletion behind a default-off capability. Co-authored-by: Codex <noreply@openai.com> Signed-off-by: sqnico <111789695+sqnico@users.noreply.github.com>
🔐 Codex Security Review
|
This branch has not been deployed
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
Add relay-owned scheduled delivery so a message still sends when its author's app is closed. The relay stores the exact signed message and publishes it when due, after checking access again.
buzz-scheduled-messages-v1only withBUZZ_SCHEDULED_MESSAGES=on.Related issue
Related to #5356. Existing #5380 and #6325 cover local queues for the CLI and legacy desktop app; this PR adds the shared relay backend for the modern app. Companion app: block/buzz-app#3207.
Testing
cargo test -p buzz-db --lib store::scheduled::postgres_tests -- --ignored --test-threads=1— all 5 passed against a disposable local PostgreSQL server. Each test creates its ownScratchDb. Cases cover ownership, revisions, overdue delivery, replica reservations, retries, lost claims, cancellation, and deletion admission.scheduled-messages.live.test.tspassed against an isolated HTTPS relay. It sends through the real signed/authenticated endpoints and confirms delivery after the scheduling session closes.just cipassed Rust/workspace clippy, legacy desktop checks/native clippy, and web checks, then failed in unchanged mobile files during Dart formatting/package resolution. The fulljust testrun was stopped because its runner selects the default development database rather than the isolated test server. Neither command is reported as green.Rollout and limitations
Read
docs/scheduled-messages.mdbefore activation. Deploy the migration and reservation-aware replica probes everywhere with scheduling off, then enable the feature. Mixed-version activation and downgrade with pending work are unsupported.Readiness checklist:
buzz-review-completed(agent review, agent exercise, and human testing complete; hosted CI remains pending).Generated with Codex