• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
You are now the owner of this repo.

DanGould / rust-payjoin
85%
master: 85%

Build:
Build:
LAST BUILD BRANCH: receiver-fallback
DEFAULT BRANCH: master
Repo Added 20 Nov 2024 02:24AM UTC
Token qk8aGNJIhmCgxGLcROcgDKQBl6GdQAxdp regen
Build 536 Last
Files 64
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH receiver-fallback
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • 24-name-audit
  • 402-ref-audit
  • 465-rm-relay-from-session-ctx
  • access-control
  • access-control-v2
  • add-agents-md
  • add-navigability-signposts
  • additive-cli-features
  • additive-danger-local-https
  • ai-disclosure
  • arc-sc
  • async-standup-v2
  • avoid-uih-naming
  • bump-ohttp-relay-0.0.10
  • bump-payjoin-0-21
  • bump-payjoin-0.24.0
  • bump-payjoin-cli-0-1-0
  • bump-payjoin-directory-0.0.2
  • check-fetch-status
  • check-independent-features
  • coderabbit-refine-exceptions
  • coderabbit-review-drafts
  • coderabbit-strip-noise
  • complete-intourl
  • contributing-readme
  • dart-fetch-ohttp-keys
  • demo-sender-fallback
  • directory-mod
  • doc-contrib-test
  • dont-set-path
  • dry-run/standup-comment-trigger
  • ensure-no-original-psbt-keypath
  • errant-url-endpoint
  • explicit-err-conversions
  • feat/1314
  • feat/async-standup
  • feat/standup-comment-trigger
  • ffi-msrv-1.85.0
  • fix-dlh
  • fix-flaky-prune-test
  • fix-output-substitution-import
  • fix-send-resume
  • fix-standup-syntax
  • fix-test-flakiness
  • fix-uri-ext-case
  • fix/402-ref-audit
  • fix/402-typestate-docs
  • fix/794-msrv-clippy
  • fix/cli-println-bip78-terminology
  • fix/devshell-treefmt
  • handle-post-err
  • handle-recv-contribution-err-as-unavailable
  • handle-v2-error
  • handle-v2-error-generic
  • hide-danger-local-https
  • hide-pr-template-checklist
  • inmemory-persister-single-owner
  • into-url
  • json-error
  • lib-docs
  • lint-1.85.0
  • lint-docs
  • master
  • min-feerate-broadcast
  • moddocs
  • no-uni-mod-distinction
  • ohttp-fallback
  • ohttp-relay-intourl
  • ohttp-reqs-refactor
  • one-expiry-error
  • only-try-preserving-privacy
  • overnight/issue-1016
  • overnight/issue-1258
  • overnight/issue-1274
  • overnight/issue-855
  • payjoin-0.21.0
  • payjoin-0.22.0
  • payjoin-0.23.0
  • payjoin-0.24.0
  • payjoin-0.25.0
  • payjoin-1.0.0-rc.0
  • payjoin-1.0.0-rc.1
  • payjoin-1.0.0-rc.2
  • payjoin-directory-0-0-1
  • payjoin-directory-0.0.2
  • payjoin-mailroom-0.1.0
  • payjoin-test-utils-0.0.0
  • persist-ohttp-keys
  • persist-payjoin
  • persister-cleanup-1519
  • pjos-to-0
  • poll-no-pause
  • pr-checklist
  • prepare-psbt-by-copy
  • propagate-config-err
  • receive-error-heirarchy
  • receiver-fallback
  • recv-err
  • recv-state-transition-objects
  • refactor-receiver
  • refactor-sender
  • refactor-wantsfeerange
  • reply-json
  • req-impl-visibility
  • seal-state-trait
  • sep-receive-errors
  • separate-receive
  • separate-send-errors
  • separate-send-versions-p1
  • separate-send-versions-p2-v2
  • service-docker-compose
  • service-multi-listener
  • session4/issue-1227
  • session4/issue-1276
  • session4/issue-1300
  • session4/issue-1374
  • session4/issue-749
  • session4/standup-v2
  • session4/unify-short-id
  • split-v1-psbt-contexts
  • test-utils
  • test-utils-no-bitcoind
  • test-utils-redis-follow
  • uniform-ohttp-payloads
  • update-bip78
  • url-no-idna
  • v1-data-minimization
  • v1-feature-flag
  • v1-v2
  • v1context-visibility
  • workflow-build-deps

07 May 2026 06:32PM UTC coverage: 85.066% (-0.001%) from 85.067%
25547534759

push

github

DanGould
Disambiguate session IDs with s/r prefix

Sender and receiver session ids auto-increment per table, so
`send_sessions.id = 1` and `recv_sessions.id = 1` routinely coexist.
The previous `payjoin-cli fallback <i64>` dispatcher consulted the
sender table first, then the receiver table, then erred. A user who
meant their receive session 1 silently got their send session 1
fallen-back, broadcasting the wrong original.

Require an authoritative side prefix on every fallback invocation:
`s<n>` for sender, `r<n>` for receiver. Bare numeric input is rejected
with a usage error that names the expected format. The dispatcher
matches on the prefix; no table-existence guess is involved.

Introduce a small `SessionRef` enum with `FromStr` + `Display`
(round-trips, rejects bare numeric, prefix-only, unknown prefix,
negative, internal whitespace, overflow). Wire it through `App::fallback`
on both v1 and v2, and through every operator-visible display site that
currently prints a bare numeric id: `history` rows, the send-payjoin
failure/interrupt hints, the `fallback_sender` / `fallback_receiver`
status messages, and the `process_sender_session` end-of-session hint.
Drop `Database::has_send_session` / `has_recv_session`; they were added
in the previous commit purely to power auto-dispatch and have no other
callers.

Update both fallback e2e tests to feed the prefixed ref.

Without this, every operator with one of each session role open is
one typo away from broadcasting the wrong original.

80 of 99 new or added lines in 4 files covered. (80.81%)

11597 of 13633 relevant lines covered (85.07%)

401.67 hits per line

Relevant lines Covered
Build:
Build:
13633 RELEVANT LINES 11597 COVERED LINES
401.67 HITS PER LINE
Source Files on master
  • Tree
  • List 64
  • Changed 6
  • Source Changed 6
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
25547534759 receiver-fallback Disambiguate session IDs with s/r prefix Sender and receiver session ids auto-increment per table, so `send_sessions.id = 1` and `recv_sessions.id = 1` routinely coexist. The previous `payjoin-cli fallback <i64>` dispatcher consulted the sender t... push 08 May 2026 09:18AM UTC DanGould github
85.07
25513952263 receiver-fallback Add v2 receiver fallback subcommand Mirror the sender-side fallback that shipped in PR #1510. The existing `Fallback { session_id }` subcommand now dispatches to either sender or receiver flow based on which DB table the session_id belongs to: se... push 07 May 2026 06:21PM UTC DanGould github
85.07
25482740670 inmemory-persister-single-owner Enforce single-owner contract on InMemoryPersister PR #1528 review feedback flagged that `Arc<RwLock<InnerStorage>>` inside `Clone`-able `InMemoryPersister` invites concurrent-write footgun: cloning the persister and sharing write access across a... push 07 May 2026 07:45AM UTC DanGould github
85.16
25450864672 persister-cleanup-1519 Remove orphan _test-utils feature from payjoin Nothing in the payjoin crate is gated on this feature anymore now that InMemoryPersister is public unconditionally. Drop the feature declaration and stop requesting it from payjoin-test-utils. The u... push 06 May 2026 05:33PM UTC DanGould github
85.17
25450507210 persister-cleanup-1519 Remove orphan _test-utils feature from payjoin Nothing in the payjoin crate is gated on this feature anymore now that InMemoryPersister is public unconditionally. Drop the feature declaration and stop requesting it from payjoin-test-utils. The u... push 06 May 2026 05:33PM UTC DanGould github
85.17
25449141461 persister-cleanup-1519 Apply treefmt to payjoin-test-utils Cargo.toml The features array now fits on one line after dropping _test-utils in the previous commit; nix fmt --ci flagged the multi-line form. push 06 May 2026 05:00PM UTC DanGould github
85.19
25372138050 fix/cli-println-bip78-terminology Use BIP 78 spec terms in payjoin-cli prints The CLI called the request to the receiver a "fallback request" and the post-send tx info "Sent fallback transaction ...". The request body is the Original PSBT in BIP 78 parlance, and the fallback tran... push 05 May 2026 11:06AM UTC DanGould github
85.09
25372138019 payjoin-0.25.0 Bump payjoin version to 0.25.0 (#1438) push 05 May 2026 10:58AM UTC web-flow github
84.12
25371872346 dart-fetch-ohttp-keys Defend http client against attacks push 05 May 2026 10:52AM UTC DanGould github
84.5
25360328706 payjoin-1.0.0-rc.2 Bump payjoin-mailroom version to 0.1.0 (#1359) push 05 May 2026 06:07AM UTC web-flow github
82.48
See All Builds (518)

Badge your Repo: rust-payjoin

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc