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

bleedingdeacons / amber / 34001262629
92%

Build:
DEFAULT BRANCH: main
Ran 06 Sep 2026 12:29AM UTC
Jobs 1
Files 34
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

06 Sep 2026 12:25AM UTC coverage: 92.346% (-0.5%) from 92.819%
34001262629

push

github

web-flow
feat: a member password screen, for the shared credential store (#68)

* feat: a member password screen, for the store Unity now owns

Reach and Fellowship used to keep a credentials table each; they share
one now, and this is where an administrator can see what is in it and
act on it. It lives in Amber rather than in either app because putting
it in one of them would mean the other's members were managed from a
plugin that has nothing to do with them.

Three actions, and none of them sets a password. Clear, unlock, remove.
An administrator who could choose somebody's password could sign in as
that member, and a store that holds only hashes exists to make sure
nobody is in that position. A member who needs one asks for a link from
the app they are signing into, which is also where that email template
lives.

Clearing is not deleting, and both are offered. Clearing empties the
hash and keeps the row, so the member can still be found by the reset
that gives them a new password - which is what somebody wants when a
password may have been seen. Removing deletes the row, which is what
erasure wants, and is the manual door onto what the apps already do
automatically when a member is deleted.

Guarded by Scrutiny's edit capability rather than Amber's menu one, and
re-checked in the handler: it runs on admin_init for any request
carrying the parameters, so the menu is not what stopped one arriving.
Every action is audited, and the entry carries the member id rather
than the address - an audit row that reproduces the data it protects is
working against itself.

The decision is split from the redirect so it can be driven directly,
which is the suite's existing answer to the wp_safe_redirect-and-exit
wall. Feature-detected on the binding, like the committee screens: a
site on an older Unity simply does not get the menu item.

473 tests, PHPCS clean, PHPStan level 8 no errors.

* docs: name tsml-for-unity as the binder, not Unity

Unity declares the credential co... (continued)

4102 of 4442 relevant lines covered (92.35%)

4.13 hits per line

Coverage Regressions

Lines Coverage ∆ File
23
83.91
-2.84% amber/amber/src/Core/AmberServiceProvider.php
8
83.08
-1.05% amber/amber/src/Plugin.php
Jobs
ID Job ID Ran Files Coverage
1 34001262629.1 06 Sep 2026 12:29AM UTC 34
92.35
GitHub Action Run
Source Files on build 34001262629
  • Tree
  • List 34
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34001262629
  • 723ca862 on github
  • Prev Build on main (#33975335994)
  • Next Build on main (#35540067427)
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