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

bleedingdeacons / reach / 33354183864
86%

Build:
DEFAULT BRANCH: main
Ran 31 Aug 2026 03:36AM UTC
Jobs 1
Files 90
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

31 Aug 2026 03:32AM UTC coverage: 88.161% (-0.1%) from 88.27%
33354183864

push

github

web-flow
feat(admin): send a message to everyone on a committee (#103)

* feat(admin): send a message to everyone on a committee

A third scope on Send Message, alongside every live handset and one
responder. Requires Unity's committee test doubles
(bleedingdeacons/unity#64) -- Reach autoloads Unity from the sibling
directory and its CI checks Unity out, so this is red until that merges.

Descendants are included. Messaging Public Information and not reaching
Health or Employment would be a trap: the tree says they are part of it,
and an admin picking the parent is picking the branch. It is also
CommitteeRepository's default, so the screen and the data agree.

Addressed by slug, never by term id. The committee tree is built by hand
in wp-admin on each site, so the same committee has different ids on dev,
test and production -- an id posted back here would be right on one
machine and point at something else on the next.

One message uuid across the whole committee, for the reason toResponder()
already documents: splitting by handset is a delivery decision. Handsets
are collected keyed by device id, because a member can hold both a parent
and a child in the branch being addressed and neither is a reason to ring
the same phone twice.

A committee whose members have no handsets is reported, not swallowed.
Saying "sent" when nothing was sent is a lie an admin acts on.

Every committee is listed, including those nobody on them can be reached
on, with the handset count in the label -- hiding them would leave an
admin wondering where a committee went, and the count answers it before
they press anything.

1167 tests, PHPCS clean, PHPStan level 8. Verified in wp-admin: the
control lists committees by slug with counts, and sending to one with no
handsets refuses with the notice rather than reporting success.

* refactor(admin): put responder and committee side by side

They are two halves of one question -- who is this for -- and mutually
exclusive in practice, since the... (continued)

5898 of 6690 relevant lines covered (88.16%)

14.4 hits per line

Coverage Regressions

Lines Coverage ∆ File
25
91.96
-5.31% reach/reach/src/Admin/SendMessagePage.php
Jobs
ID Job ID Ran Files Coverage
1 33354183864.1 31 Aug 2026 03:36AM UTC 90
88.16
GitHub Action Run
Source Files on build 33354183864
  • Tree
  • List 90
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33354183864
  • f4d9aae0 on github
  • Prev Build on main (#33213484139)
  • Next Build on main (#33367259862)
  • 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