Bug reports
Send issue reports from Happier with optional diagnostics for faster triage.
Happier includes a built-in bug report flow from app settings.
When enabled by your server, users can submit:
- a short issue description,
- optional diagnostic payloads (for example logs),
- metadata that helps support reproduce and triage issues.
Server controls
Use these env vars on the Happier server:
HAPPIER_FEATURE_BUG_REPORTS__ENABLED(default1)HAPPIER_FEATURE_BUG_REPORTS__PROVIDER_URL(defaulthttps://reports.happier.dev)- If set to an invalid URL, provider submission is disabled instead of falling back to a central default.
HAPPIER_FEATURE_BUG_REPORTS__DEFAULT_INCLUDE_DIAGNOSTICS(default1)HAPPIER_FEATURE_BUG_REPORTS__MAX_ARTIFACT_BYTES(default10485760)HAPPIER_FEATURE_BUG_REPORTS__UPLOAD_TIMEOUT_MS(default120000)HAPPIER_FEATURE_BUG_REPORTS__CONTEXT_WINDOW_MS(default1800000; min1000, max86400000)HAPPIER_FEATURE_BUG_REPORTS__ACCEPTED_ARTIFACT_KINDS(comma-separated allowlist)HAPPIER_BUG_REPORTS_SERVER_DIAGNOSTICS_ENABLED(default0)HAPPIER_BUG_REPORTS_SERVER_DIAGNOSTICS_ACCESS_MODE(defaultowner, allowed:authenticated,owner)HAPPIER_SERVER_OWNER_USER_IDS(comma-separated server owner account ids for owner-gated features)HAPPIER_BUG_REPORTS_SERVER_LOG_PATH(optional explicit server log path)HAPPIER_BUG_REPORTS_SERVER_LOG_MAX_BYTES(default262144, max tail bytes read from server log snapshot)HAPPIER_BUG_REPORTS_SERVER_DIAGNOSTICS_RATE_LIMIT_MAX(default30)HAPPIER_BUG_REPORTS_SERVER_DIAGNOSTICS_RATE_LIMIT_WINDOW(default1 minute)
To hard-disable server log exfiltration, keep HAPPIER_BUG_REPORTS_SERVER_DIAGNOSTICS_ENABLED=0 and/or remove server from HAPPIER_FEATURE_BUG_REPORTS__ACCEPTED_ARTIFACT_KINDS.
For shared servers, keep HAPPIER_BUG_REPORTS_SERVER_DIAGNOSTICS_ACCESS_MODE=owner (or leave it unset) and define HAPPIER_SERVER_OWNER_USER_IDS so only configured owners can fetch server diagnostics snapshots.
HAPPIER_SERVER_OWNER_USER_IDS uses Happier account ids (not usernames). Owners can copy their id from Settings → Account in the app.
Privacy and control
- Diagnostic upload is optional at submit time.
- Server operators can disable automated provider submission for restricted environments.
- User-facing UI follows server capability flags.
- Clients remain backward-compatible with older servers that do not expose
features.bugReports(treated as disabled). - When provider submission is unavailable, clients can still offer a prefilled public GitHub issue fallback (without private artifacts).
Similar issues (duplicates)
To reduce duplicate reports, Happier can search GitHub for potentially similar issues while you fill the report.
- In the app, you can select one of the suggested issues to post your report as a comment instead of opening a new issue.
- In the CLI, you can:
- pass
--existing-issue-number <number>to post the report as a comment on an existing issue - pass
--no-similar-issuesto skip duplicate searching in interactive mode
- pass
CLI reporting
You can submit reports from CLI too:
happier bug-report \
--title "CLI crash while starting daemon" \
--github-username "@octocat" \
--summary "Daemon start exits immediately" \
--current-behavior "happier daemon start exits with unknown error" \
--expected-behavior "daemon starts successfully" \
--repro-step "Run happier daemon start" \
--accept-privacy-noticeIf required fields are missing in an interactive terminal, the CLI prompts for them. In non-interactive mode, pass all required flags.
Reporter GitHub username (optional)
If you want maintainers to be able to reach you, provide your GitHub username via --github-username. Happier appends a Reporter GitHub: \...`` line to the report summary (sanitized to avoid accidental formatting/pings).
When to use
- UI rendering issues,
- session sync mismatches,
- auth/connection problems,
- tool timeline or diff rendering regressions.