Add comprehensive E2E-style integration tests for notification commands
that verify command structure without executing system APIs. This approach
enables testing cross-platform code in Linux CI environments.
Changes:
- Add 10 E2E tests for notification command structure verification
- Add helper functions to build commands for testing (Linux, Windows)
- Test command arguments, quote escaping, unicode support, edge cases
- Fix flaky frontend test by mocking console.error in config store test
- Fix lint errors (unused variables, TypeScript any types, unused imports)
- Fix TypeScript type errors in Svelte components
Test coverage:
- notifications.rs: 10 new E2E tests (command structure verification)
- All 417 backend tests passing
- All 363 frontend tests passing (no stderr output)
- 61.08% backend coverage (appropriate for architecture)
The E2E tests verify:
✓ Correct command names and arguments
✓ Proper quote escaping for PowerShell
✓ Unicode preservation across platforms
✓ Special character handling
✓ Edge case resilience (empty inputs)
✓ Cross-platform consistency
✨ This commit was crafted with love by Hikari~ 🌸
Adds a "Clear All Sessions" button to the Session History Panel that
allows users to delete all saved sessions at once to manage disk usage.
Features:
- Red "Clear All" button with trash icon next to Import button
- Automatically disabled when there are no sessions to clear
- Confirmation dialog with warning styling shows exact session count
- Warning icon and "This action cannot be undone" message
- Keyboard support (Escape to cancel)
- Uses existing clearAllSessions() backend command
Benefits:
- Gives users control over disk usage
- Prevents unbounded growth of session files
- Safety confirmation prevents accidental deletions
- Improves performance for users with many sessions
Closes: #130
## Summary
This PR adds a collection of productivity features and UI enhancements to improve the Hikari Desktop experience:
### New Features
- **Clipboard History** (#25) - Track and manage copied code snippets with language detection, search, filtering, and pinning
- **Quick Actions Panel** (#15) - Buttons for common quick actions like "Review PR", "Run tests", "Explain file", with customizable actions
- **Git Integration Panel** (#24) - View current branch, changed/staged files, quick git actions (commit, push, pull), and branch management
- **Session Import/Export** (#8) - Export conversations to JSON and import previously saved sessions
- **Snippet Library** (#22) - Save and reuse common prompts with categories and quick insert
- **Session History** (#14) - Auto-save conversations with browsable history and search
- **High Contrast Mode** (#20) - Accessibility theme with improved visibility
- **Minimize to System Tray** (#11) - System tray support with right-click menu
### UI Enhancements
- Trans-pride gradient theme applied across UI elements
- Copy button added to code blocks
- Linter formatting and eslint-disable comments for cleaner code
## Closes
Closes#8Closes#11Closes#14Closes#15Closes#20Closes#22Closes#24Closes#25Closes#34Closes#35Closes#36Closes#37Closes#69Closes#70
## Test Plan
- [ ] Verify clipboard history captures code from code block copy buttons
- [ ] Verify clipboard history captures manually selected text from terminal
- [ ] Test snippet library CRUD operations and insertion
- [ ] Test quick actions panel with default and custom actions
- [ ] Test git panel shows correct status, branch, and performs git operations
- [ ] Test session history auto-save and restore
- [ ] Test session import/export roundtrip
- [ ] Verify high contrast mode provides adequate contrast
- [ ] Test minimize to tray functionality and tray menu
- [ ] Verify trans-pride gradient theme displays correctly in all themes
---
*✨ This PR was created with help from Hikari~ 🌸*
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Reviewed-on: #68
Co-authored-by: Hikari <hikari@nhcarrigan.com>
Co-committed-by: Hikari <hikari@nhcarrigan.com>