• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

KarpelesLab / libwallet / 26057861985
22%

Build:
DEFAULT BRANCH: master
Ran 18 May 2026 08:21PM UTC
Jobs 1
Files 119
Run time 1min
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

18 May 2026 08:13PM UTC coverage: 21.956% (+0.09%) from 21.864%
26057861985

push

github

MagicalTux
wltwallet/restretry: transparently retry phplatform 5xx errors

The integration tests (TestRemoteWallet, TestEdDSALocalToRemoteReshare,
TestWalletCreate, and Dart's "RemoteKey new → validate lifecycle")
have been flaking for weeks on phplatform's periodic DB blips —
HTTP 500 with `{"error":"There was a database error while processing
your request, ref: <uuid>"}`. The user has been manually rerunning
CI each time; we even have a memory note documenting the failure
signature.

The blip lasts seconds. Make every libwallet → Crypto/WalletSign:*
call retry transiently:

  - 3 attempts (1 initial + 2 retries)
  - 500ms, 1s exponential backoff
  - retry on HTTP >=500 only (4xx errors are deterministic; retrying
    auth/validation/not-found failures just delays the inevitable)
  - context-cancel-aware (Done ctx aborts the backoff sleep)

Wrapped via restApplyRetry / restDoRetry; the 12 callsites in
remote.go + walletkey.go swap rest.Apply/Do for the wrappers.

Benefit reaches runtime too: a user mid-wallet-creation no longer
sees a confusing error when phplatform has a 2-second DB hiccup —
libwallet retries under the hood.

Tests cover the classifier (5xx → retry, 4xx → pass through, wrapped
errors via errors.As, nil/missing Response defensive) and the loop
contract (first-call success, transient-then-success, permanent
short-circuit, exhausted retries, context cancellation).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

31 of 57 new or added lines in 3 files covered. (54.39%)

3633 of 16547 relevant lines covered (21.96%)

111.99 hits per line

Uncovered Changes

Lines Coverage ∆ File
20
55.56
wltwallet/restretry.go
4
36.96
0.0% wltwallet/remote.go
2
48.52
0.0% wltwallet/walletkey.go
Jobs
ID Job ID Ran Files Coverage
1 26057861985.1 18 May 2026 08:21PM UTC 119
21.96
GitHub Action Run
Source Files on build 26057861985
  • Tree
  • List 119
  • Changed 2
  • Source Changed 2
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26057861985
  • ae36b808 on github
  • Prev Build on master (#25899011415)
  • Next Build on master (#26057904100)
  • Delete
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