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

bleedingdeacons / hand / 34411741967
93%

Build:
DEFAULT BRANCH: main
Ran 09 Sep 2026 10:21PM UTC
Jobs 1
Files 20
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

09 Sep 2026 10:20PM UTC coverage: 93.114% (+0.1%) from 92.975%
34411741967

push

github

web-flow
fix: bring the user-agent into line with Reach's

Hand sent `Hand/1.19.2 (Android)`. Reach and Fellowship send
`Reach/1.4.2 (rest@aa-bristol.org; https://aa-bristol.org)` — product,
version, a human to contact, and which deployment the traffic belongs to
— which is the shape their upstream's bot protection asked for. Two
clients of the same API introducing themselves two different ways is two
things to parse in one access log for no reason, so Hand now sends that
shape with its head kept in front:

    Hand/1.19.2 (Android; rest@aa-bristol.org; https://aa-bristol.org)

The builder is a port of `reach/src/Core/UserAgent.php`, sanitising
included: newlines and tabs are header injection, and a bracket or
semicolon in a version string would close the comment early and leave
the contact details dangling outside it. It lives in Hand.Core, where a
test can reach it; reading AppInfo, DeviceInfo and the resolved server
address is the part that can only run on a device, and that stayed in
the app.

A DelegatingHandler rather than DefaultRequestHeaders, because one of
the four things the header reports can change while the app is running.
A responder repointing the handset from the settings screen would
otherwise leave it naming the old server until the next restart, which
is worse than saying nothing. The synchronous send path is overridden
too — the headless alert reporter uses it, and it would go out
unlabelled otherwise.

1474 of 1583 relevant lines covered (93.11%)

1199.46 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34411741967.1 09 Sep 2026 10:21PM UTC 20
93.11
GitHub Action Run
Source Files on build 34411741967
  • Tree
  • List 20
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34411741967
  • 421561e1 on github
  • Prev Build on main (#34385128918)
  • Next Build on main (#34486533346)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc