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

bleedingdeacons / reach / 34347179136
86%

Build:
DEFAULT BRANCH: main
Ran 09 Sep 2026 11:48AM UTC
Jobs 1
Files 94
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 11:44AM UTC coverage: 86.388% (-0.1%) from 86.498%
34347179136

push

github

web-flow
feat(hand): let a handset ring the person it just picked (#116)

The message picker named people it gave no way to phone. A responder
who found somebody in the directory had to go and look their number up
somewhere else, which on a handset in the middle of a shift means not
bothering.

The numbers are not added to the list payload. That route returns the
whole directory, two hundred rows at a time, and numbers in it would
let one handset copy every number an intergroup holds in a couple of
requests, with nothing in the audit table to say it had happened. The
list is what makes a directory on every handset acceptable at all, and
it stays names and home groups.

Instead GET /reach/v1/members/{id}/contact answers for one member at a
time: the two numbers and which of them that member asked to be rung
on, in the same shape /nearest-members already reports, so the app
needs one model for both. Per member, a directory sweep costs a request
each against a sixty-an-hour cap — the same ceiling the find page's
search carries, since that endpoint governs this very exposure from the
browser side, and in data terms this is the stricter of the two.

Each lookup leaves an audit row against the member whose numbers were
shown, naming the asker in the caller:<name>#<id> form the search
already writes, so a member's exposure history reads the same whichever
door it came through. The landline is logged only for the members who
have one, matching the search. A member with nothing on file is a 200
with two empty strings and is audited anyway: it is the sweeping these
rows exist to make visible, not the yield.

The throttle keys on the responder rather than the handset. The alert
throttle keys on the device because it guards against a handset stuck
in a retry loop; this guards against a person copying a directory, and
a person with a phone and a tablet should not get twice the allowance.

Email addresses are untouched — a recipient is still chosen by id and
resolved to an ... (continued)

6372 of 7376 relevant lines covered (86.39%)

15.06 hits per line

Coverage Regressions

Lines Coverage ∆ File
57
64.94
4.94% reach/reach/src/Rest/DirectoryController.php
Jobs
ID Job ID Ran Files Coverage
1 34347179136.1 09 Sep 2026 11:48AM UTC 94
86.39
GitHub Action Run
Source Files on build 34347179136
  • Tree
  • List 94
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34347179136
  • 34ce2773 on github
  • Prev Build on main (#34299400352)
  • Next Build on main (#34392182184)
  • 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