Sloth-ninja closes the loopholes in firm settings

A small follow-up makes firm administration less confusing at exactly the moments permissions and policy choices matter.

workflowsecurity

The change is all in the settings screen, but it addresses the kind of edge cases that can leave an administrator guessing whether a policy actually stuck.

  • Failed loading of members, access keys, or connector choices now shows a clear error and a retry option instead of permanent loading placeholders.
  • Changes to roles, keys, and curation keep their existing inline feedback, separate from loading problems.
  • Administrators can no longer untick every approved connector by accident, which previously flipped the setting to allow all visible connectors.
  • Administrative dates now display consistently across the dashboard.
So what Firms using the platform for controlled access should care because small interface mistakes can quietly become policy mistakes.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

1 commit from Sloth-ninja/JessicaOSS, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
379f3d2d WS8 composed-range review: firm-settings minor fixes sloth-ninja 2026-07-27 ↗ GitHub
commit body
Fix wave from the multi-lens review of the WS8 train (0646edf...main).
Zero Critical/Important findings survived adversarial verification; the
four Minors all sat in admin/firm-settings/page.tsx:

- Firm API keys: failed status fetch no longer strands a perpetual
  loading skeleton - resolves to an error state with retry.
- All three section fetches (members, firm keys, connector curation)
  gain in-place "Try again" recovery (LoadErrorRow), aligned with the
  Dashboard's ErrorState; load errors tracked separately from mutation
  errors so inline banners keep working.
- Connector curation: block unticking the last connector - an empty
  tick-list would save [] which canonically means "all visible",
  silently inverting the admin's intent. Copy points at the member
  connectors policy instead.
- formatUkDate pins timeZone UTC to match the Dashboard, so dates
  cannot render a day apart across the two admin pages.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-1144.md from inside the repo you want the changes in.

⬇ Download capture-thread-1144.md