feat: feedback hub widget in Settings Logs card #100

Merged
maximus merged 1 commit from issue-67-feedback-widget into main 2026-04-17 14:36:27 +00:00

1 commit

Author SHA1 Message Date
le king fu
3b3b6d9a32 feat: feedback hub widget in Settings Logs card (#67)
All checks were successful
PR Check / rust (push) Successful in 23m3s
PR Check / frontend (push) Successful in 2m19s
PR Check / rust (pull_request) Successful in 22m25s
PR Check / frontend (pull_request) Successful in 2m18s
Add an opt-in feedback submission flow that posts to the central
feedback-api service. Integrated into the existing LogViewerCard so
the same card now covers diagnostics capture (logs) and diagnostics
forwarding (feedback).

- Rust command `send_feedback` forwards the payload via reqwest, so
  the Tauri origin never needs a CORS whitelist entry server-side
- First submission shows a one-time consent dialog explaining that
  this is the only app feature that talks to a server besides updates
  and Maximus sign-in
- Three opt-in checkboxes (all unchecked by default): navigation
  context, recent error logs (appended as a suffix to the content),
  identify with the Maximus account
- Context keys are limited to the server whitelist (page, locale,
  theme, viewport, userAgent, timestamp); app_version + OS are packed
  into userAgent via `get_feedback_user_agent` so we don't pull in an
  extra Tauri plugin
- Error codes are stable strings (invalid, rate_limit, server_error,
  network_error) mapped to i18n messages on the frontend
- Wording follows the cross-app convention documented in
  `la-compagnie-maximus/docs/feedback-hub-ops.md`
- CSP `connect-src` extended with feedback.lacompagniemaximus.com
- Docs: CHANGELOG (EN + FR), guide utilisateur, docs.settings
  (features/steps/tips) updated in both locales

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 10:18:18 -04:00