Skip to content

Move diagnostics to an Owner and Admin page - #1420

Merged
Kevinjohn merged 9 commits into
mainfrom
feature/diagnostics-page
Oct 1, 2026
Merged

Kevinjohn merged 9 commits into
mainfrom
feature/diagnostics-page

Conversation

@Kevinjohn

@Kevinjohn Kevinjohn commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Part of #1408 (T16). Merge predecessor: #1419 (this PR's base branch).

  • New /diagnostics page for Owners and Admins (auth-off demo allowed; Editors and Viewers redirected), listed after Settings in the sidebar and the command palette from one access decision.
  • The copied report adds the sign-in mode, this session's save counters and browser facts (user agent, viewport, time zone, language) to the build and server status. It carries no names, emails, ids, tokens, host URLs or company data; a user agent carrying a URL or email is dropped.
  • Settings keeps Build details (stamp and Send feedback) for every role; the Diagnostics row and Copy action move to the new page.

Validation: integrated with the rest of Batch 2 and Batch 3 (T7, T15, T6, T8, T16) on 84ae32e7 over origin/main da72918: pnpm run gate:all and pnpm run e2e (290 tests) pass on Node 24.16.0. Independently reviewed before E2E; review findings fixed.

Merge order

  1. Route support to Discussions and remove PR screenshots #1411, Add project status, comparison, testing and philosophy pages #1412, Archive changelog sections before 0.41.0-alpha.3 #1414 (independent)
  2. Add a first-change path for contributors #1413 (after Archive changelog sections before 0.41.0-alpha.3 #1414), Restate the comment standard as numbered voice rules #1415, Reduce configuration and hide password MFA #1416
  3. Rename SMALLSASS_ACCOUNT_ settings to CAPACITYLENS_ #1417 → Add an init command that writes the environment file #1418
  4. Retire unused settings and derive engagement grouping #1419 → Move diagnostics to an Owner and Admin page #1420 → Reshape the documentation into four role guides #1421 → Use @/ for app imports that leave their folder #1422 → Consolidate server test scaffolding #1423 → Normalise server route handlers and reply messages #1424 → Apply the comment-voice rules and check them in the gate #1425 (Apply the comment-voice rules and check them in the gate #1425 also after Restate the comment standard as numbered voice rules #1415) → Name the tenant boundary account in code #1426

Merge predecessor for this PR: #1419.

A new /diagnostics route, listed after Settings in the sidebar and the
command palette, shows the support report as it is copied. It is open to
Owners and Admins, and to sessions without a membership role (auth off,
demo); Editors and Viewers are redirected to the schedule and see no link.

The report keeps the existing fixed projection and adds the sign-in mode,
this browser session's persistence counters and the browser's user agent,
viewport, time zone and language. Browser values that do not match their
expected shape are reported as Unknown.

Settings loses the Diagnostics row and its Copy diagnostics action; Build
details stays for every role.

Refs #1408

Signed-off-by: Kevinjohn Gallagher <kevinjohngallagher@hotmail.com>
A new admin guide page explains who can open Diagnostics, what the support
report contains and what it leaves out. The Settings guide, the
ongoing-administration page, the development reference, the navigation and
diagnostics stories and the reference catalogue follow the move out of
Settings.

Refs #1408

Signed-off-by: Kevinjohn Gallagher <kevinjohngallagher@hotmail.com>
# Conflicts:
#	docs/admin/company-settings.html
#	docs/guide/settings.html
# Conflicts:
#	user-stories/settings/US-SET-01-calendar-settings.md
Signed-off-by: Kevinjohn Gallagher <kevinjohngallagher@hotmail.com>
Signed-off-by: Kevinjohn Gallagher <kevinjohngallagher@hotmail.com>
Signed-off-by: Kevinjohn Gallagher <kevinjohngallagher@hotmail.com>
@Kevinjohn

Copy link
Copy Markdown
Owner Author

Polish review: no P1/P2 findings.

  • Report privacy checked field by field. Every value is enum- or pattern-projected, and fetch errors are never rendered. The page mounts only after the access decision, so nothing flashes before the redirect.
  • GET /api/diagnostics still answers any signed-in member, as it did before this PR. The payload is instance-level only (schema version, backup status, no company data), so the page restriction is a presentation choice, not a data boundary.
  • Ladder passes on Node 24: format, lint, typecheck, file sizes, server tsc, and 178 app test files.
  • Simplification: formatDiagnostics now uses the existing UNKNOWN constant.

Merge order for this batch: #1411, #1412, #1414 → #1413, #1415, #1416 → #1417 → #1418, #1419 → #1420 → #1421 → #1422 → #1423 → #1424 → #1425 → #1426. Predecessor: #1419.

# Conflicts:
#	CHANGELOG.md
#	docs/getting-started/invite-your-team.html
#	docs/reference/development.html
Signed-off-by: Kevinjohn Gallagher <kevinjohngallagher@hotmail.com>
@Kevinjohn
Kevinjohn merged commit b2b3d8e into main Oct 1, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

polish-done Polish review complete

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant