Skip to content

Add diagnostics export for beta bug reports #46

Description

@tdeverx

Goal

Add an easy diagnostics export/report bundle so beta testers can provide useful, redacted context without manually gathering every detail.

Context

Support guidance asks for version, macOS version, container --version, logs, screenshots, crash snippets, and command output. During beta, reports will be much easier to act on if Contained can gather the safe parts itself and make the remaining manual steps obvious.

Research / design checklist

  • Decide where the action belongs: Settings, Help menu, System page, crash/error surfaces, or all of the above.
  • Define what the bundle should include: app version/build, update channel, macOS version, architecture, container --version, service status, selected settings, recent activity/log entries, recent errors, and environment summary.
  • Define what must be excluded or redacted: registry credentials, env var values, private paths where possible, tokens, passwords, bind mount secrets, and command arguments that may contain secrets.
  • Decide the output format: zip, folder, JSON + markdown summary, or .containeddiagnostics package.
  • Decide whether users can preview/edit the bundle before sharing.

Implementation checklist

  • Implement diagnostics collection through app-owned services rather than ad-hoc view code.
  • Add redaction helpers for known sensitive fields.
  • Add a user-facing export action with a clear save panel and success/failure feedback.
  • Add tests for redaction and stable summary generation where practical.
  • Update SUPPORT.md and troubleshooting docs to ask for the diagnostics bundle.

Acceptance criteria

  • A beta tester can export useful diagnostics from the app in under a minute.
  • The bundle does not include obvious credentials or sensitive values.
  • Maintainers can identify app version, CLI version, service state, and recent failure context from the bundle.
  • Support docs explain when and how to attach diagnostics.

Metadata

Metadata

Assignees

No one assigned

    Labels

    appSwiftUI app shell or app-wide behaviorfeatureNew user-facing capability or product improvementrepoRepository process, docs, templates, governance, discussions, and trackingup-nextReady and near the front of the queue

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions