* chore: add CI secrets management and local testing script
- Added ci-secrets.example.json to provide a template for CI secrets configuration.
- Introduced test-ci-local.sh script to facilitate local testing of the package-and-publish workflow using act.
- Updated .gitignore to exclude the actual ci-secrets.json file containing sensitive tokens.
* Add user-facing error handling system with opt-in reporting
Intercept all errors (React, global JS, skill runtime) and show non-blocking
notifications that let users inspect the exact sanitized payload before
choosing to report or dismiss. Errors are no longer auto-sent to Sentry.
- Add error report queue (errorReportQueue.ts) with subscribe/notify pattern
- Add ErrorReportNotification rendered in isolated React root (survives crashes)
- Add ErrorFallbackScreen for catastrophic React boundary errors
- Wire Sentry beforeSend to queue errors instead of auto-sending
- Add skill runtime error capture via runtime:skill-status-changed listener
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Remove conflicting Telegram API fields from ci-secrets.example.json
* Strip sensitive fields from exception before queuing for user review
Sanitize stacktrace frames to remove local variables (vars), source code
context lines (context_line, pre_context, post_context), and mechanism.data.
Only safe location metadata (filename, function, lineno, colno, in_app)
is retained in the sanitized event shown to the user.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Compute analyticsEnabled on each render instead of caching with useMemo
The Report button now reflects the current analytics setting immediately
when the user toggles it in Settings.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Refactor components for improved readability and consistency
- Adjusted formatting in ErrorFallbackScreen and ErrorReportNotification components for better JSX structure.
- Removed unnecessary line breaks in Home component for cleaner layout.
- Streamlined error handling logic in SkillProvider for clarity.
- Enhanced errorReportQueue with consistent object formatting for better maintainability.
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>