Skip to content

Add a Diagnostics panel to the UI - #3

Merged
stoatworks-labs merged 1 commit into
mainfrom
diagnostics-ui
Jul 29, 2026
Merged

Add a Diagnostics panel to the UI#3
stoatworks-labs merged 1 commit into
mainfrom
diagnostics-ui

Conversation

@stoatworks-labs

Copy link
Copy Markdown
Owner

Wires the diagnostics IPC handlers to actual buttons — the gap left open when logging and crash reporting landed.

What this adds

  • DiagnosticsPanel — collapsed by default, with Collect Diagnostics and Open Log Folder. It is a support tool, not something anyone needs during a show.
  • diag on the preload bridgediag:collect and diag:openLogFolder were already registered in the main process by installElectronDiagnostics(), but nothing exposed them to the renderer, so no UI could reach them.
  • Panel styling built from each app's own CSS tokens rather than a bolted-on palette.

Notes

  • The collected path is copied to the clipboard as well as shown — nobody retypes a path out of a dialog — and the folder can be revealed, because on macOS logs live under ~/Library/Logs, which Finder hides by default.
  • Clipboard access can be refused; that is caught and the path stays on screen either way.
  • The status line uses overflow-wrap: anywhere, because it holds a filesystem path and would otherwise overflow the panel.

Verification

Rendered for real, not just typechecked: the panel was mounted in a throwaway Vite harness with a stubbed bridge, expanded, and Collect Diagnostics clicked — status line showed the returned path, and the clipboard-refused fallback exercised itself (plain HTTP has no navigator.clipboard). Screenshot confirmed the styling and the path wrapping. All six apps typecheck and build clean.

🤖 Generated with Claude Code

Wires the diagnostics IPC handlers to actual buttons - the gap left open
when logging and crash reporting landed.

  - DiagnosticsPanel: collapsed by default, with Collect Diagnostics and
    Open Log Folder. A support tool, not something wanted during a show.
  - diag on the preload bridge: the main-process handlers already existed,
    but nothing exposed them to the renderer, so no UI could reach them.
  - Styling built from each app's own CSS tokens.

The collected path is copied to the clipboard as well as shown, and the
folder can be revealed - on macOS logs live under ~/Library/Logs, which
Finder hides by default. A refused clipboard is caught; the path stays on
screen either way.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@stoatworks-labs
stoatworks-labs merged commit e5bb434 into main Jul 29, 2026
2 checks passed
@stoatworks-labs
stoatworks-labs deleted the diagnostics-ui branch July 29, 2026 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant