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

medplum / medplum / 29134428168
92%

Build:
DEFAULT BRANCH: main
Ran 11 Jul 2026 01:25AM UTC
Jobs 1
Files 838
Run time 2min
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

11 Jul 2026 01:09AM UTC coverage: 91.914% (-0.02%) from 91.934%
29134428168

push

github

web-flow
feat(app): add project admin MFA / password reset UI (#9725)

* feat(app): add project admin MFA / password reset UI

Signed-off-by: Derrick Farris <derrick@medplum.com>

* [autofix.ci] apply automated fixes

* fix(app): use bare medplum.post for admin MFA reset and password reset

Simplifies version management and documentation by calling the admin
endpoints directly instead of adding dedicated MedplumClient methods.

Signed-off-by: Derrick Farris <derrick@medplum.com>

* docs(mfa): fix broken link to non-existent project-admin category page

The generated-index category page for api/project-admin isn't rendered
by this docs build, so linking to it directly fails onBrokenLinks. Drop
the link and keep the endpoint as inline code.

Signed-off-by: Derrick Farris <derrick@medplum.com>

* test(app): boost branch coverage for MembersTable and AccountSecurity

Add cases for legacy mfaEnrolled users, mfaRequired badge, missing-email
warning, email-default reset modal, toolbar-without-segmented-control,
and bulk remove/reset success, failure, and confirm-rejected paths.

Signed-off-by: Derrick Farris <derrick@medplum.com>

* [autofix.ci] apply automated fixes

* feat(app): show per-member MFA enrollment columns on the Users admin table

Add read-only "Authenticator MFA" and "Email MFA" columns to the project
admin Users table, each shown only when the project's `allowedMfaMethods`
setting permits that method. Cells reflect each member's enrolled factors,
read from the member's User resource.

- SearchControl: add an additive, backward-compatible `extraColumns` prop for
  computed columns that are not backed by a search parameter.
- MembersTable: gate the columns behind a new `showMfaEnrollment` prop (set
  only by UsersPage), load the project's allowed methods from
  `admin/projects/:id`, and batch-read the member Users on each search load.
- Extract shared MFA helpers (`getEnrolledMfaMethods`, `getAllowedMfaMethods`,
  labels) into `admin/mfa.ts` so the tabl... (continued)

22083 of 25083 branches covered (88.04%)

Branch coverage included in aggregate %.

148 of 170 new or added lines in 4 files covered. (87.06%)

1 existing line in 1 file now uncovered.

39276 of 41674 relevant lines covered (94.25%)

12374.96 hits per line

Uncovered Changes

Lines Coverage ∆ File
12
80.0
packages/app/src/admin/AccountSecurity.tsx
6
91.03
-3.71% packages/app/src/admin/MembersTable.tsx
3
84.94
-1.11% packages/server/src/admin/project.ts
1
88.89
packages/app/src/admin/mfa.ts

Coverage Regressions

Lines Coverage ∆ File
1
84.94
-1.11% packages/server/src/admin/project.ts
Jobs
ID Job ID Ran Files Coverage
1 29134428168.1 11 Jul 2026 01:25AM UTC 838
91.91
GitHub Action Run
Source Files on build 29134428168
  • Tree
  • List 838
  • Changed 4
  • Source Changed 4
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29134428168
  • 23bb5788 on github
  • Prev Build on gh-readonly-queue/main/pr-9773-a92cce63daaa2b4a91f33dc17091eeeb5efd639e (#29128921394)
  • Next Build on main (#29135016304)
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