mirror of
https://github.com/Mail-0/Zero.git
synced 2026-07-01 08:16:28 +00:00
4e2cfdfd29cd2e3437b520ab0f4ebf2578f57a82
376 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
fb29c6b737 |
Add rate limiting to meet creation endpoint (#1950)
# Restrict Video Meeting Creation to Pro Users ## Description This PR restricts the video meeting creation functionality to Pro users only. It also adds rate limiting to the meeting creation endpoint to prevent abuse. The UI has been updated to hide the video meeting button for non-Pro users. ## Type of Change - [x] ✨ New feature (non-breaking change which adds functionality) - [x] 🔒 Security enhancement - [x] ⚡ Performance improvement ## Areas Affected - [x] User Interface/Experience - [x] Authentication/Authorization - [x] API Endpoints ## Testing Done - [x] Manual testing performed ## Security Considerations - [x] Authentication checks are in place - [x] Rate limiting is implemented ## Checklist - [x] I have performed a self-review of my code - [x] My changes generate no new warnings ## Additional Notes The PR includes: 1. Refactoring the Pro user detection logic into a reusable utility function 2. Adding rate limiting to the meeting creation endpoint (10 requests per minute) 3. Conditionally rendering the video meeting button in the sidebar based on Pro status 4. Proper error handling for unauthorized meeting creation attempts |
||
|
|
69e0676b51 |
chore: refine system prompt and small update to eval (#1940)
<!-- This is an auto-generated description by cubic. --> ## Summary by cubic Refined the system prompt for the email assistant to clarify tool usage, safety protocols, and response guidelines. Updated eval test case builders for more realistic coverage and improved test data generation. - **Prompt Improvements** - Expanded instructions on when and how to use tools, safety checks, and bulk actions. - Added detailed workflow examples, safety protocols, and clearer self-check steps. - Updated common use cases and removed manual instruction responses. - **Eval Updates** - Replaced and improved test case builders for Gmail search and email composition. - Made test prompts and expected outputs more realistic and varied. <!-- End of auto-generated description by cubic. --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Enhanced AI assistant guidance with more detailed instructions for tool usage, safety protocols, and workflow examples. * Added comprehensive safety protocols for bulk and destructive email operations, including confirmation steps and undo guidance. * Expanded support for contextual assistance and smart organization workflows. * **Refactor** * Improved and modularized test case generation for AI email search and composition, with stricter validation and clearer prompts. * **Style** * Updated prompt language to prioritize relevance in email retrieval instead of a fixed number of recent emails. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
428e75ff93 |
feat: remove old hotkeys and add new View hotkeys (#1918)
# Add Numeric Hotkeys for Category Selection in Mail List ## Description This PR adds keyboard shortcuts for quickly toggling mail categories in the inbox view: - Numbers 1-9 toggle the corresponding categories (based on their index) - Number 0 clears all selected labels The implementation uses React Hotkeys Hook to register these shortcuts within the mail-list scope, making View switching much faster for keyboard-oriented users. ## Type of Change - [x] ✨ New feature (non-breaking change which adds functionality) - [x] 🎨 UI/UX improvement ## Areas Affected - [x] User Interface/Experience ## Testing Done - [x] Manual testing performed ## Checklist - [x] I have performed a self-review of my code - [x] My changes generate no new warnings <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added keyboard shortcuts (number keys 1–9) to quickly toggle category label filters in the mail category dropdown. * Added a keyboard shortcut (0 key) to clear all active category label filters. * **Refactor** * Disabled previous keyboard shortcuts for switching mail list categories to avoid conflicts and streamline shortcut behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
fec8e1be22 |
Scheduling (#1914)
Co-authored-by: amrit <iamamrit27@gmail.com> |
||
|
|
b128491173 |
Remove email hover tracking and related event listeners (#1916)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Removed email hover tracking and all related event listeners from the mail list and hotkey logic. - **Refactors** - Commented out email hover event dispatch and handlers in mail-list and mail components. - Removed emailHover event listener logic from mail-list-hotkeys. <!-- End of auto-generated description by cubic. --> |
||
|
|
01e2adf492 |
Redesign mail categories to use label-based filtering instead of search queries (#1902)
# Redesigned Mail Categories with Label-Based Filtering ## Description Reimplemented the mail categories feature to use label-based filtering instead of search queries. This change makes it easier for users to customize and manage their inbox views by selecting specific labels rather than writing complex search queries. The PR enables the categories settings page in the navigation and completely redesigns the UI to focus on label selection. Users can now add, delete, reorder, and set default categories with a more intuitive interface. ## Type of Change - ✨ New feature (non-breaking change which adds functionality) - 🎨 UI/UX improvement ## Areas Affected - [x] User Interface/Experience - [x] Data Storage/Management ## Testing Done - [x] Manual testing performed ## Checklist - [x] I have performed a self-review of my code - [x] My changes generate no new warnings - [x] My code follows the project's style guidelines ## Additional Notes The PR also includes improvements to the thread querying logic in the backend to better support label-based filtering. The categories feature is now called "Views" in the UI to better reflect its purpose. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Categories settings page is now accessible from navigation. * Categories (now called "Views") can be managed with multi-select label filters, drag-and-drop reordering, add/delete actions, and unsaved changes tracking. * Save and reset options are available for category changes. * **Improvements** * Category selection supports multi-label filtering with a dropdown menu. * UI styling updated for better dark mode support and usability. * Localization updated to rename "Categories" to "Views". * Navigation and mail list no longer use category query parameters, simplifying URL handling. * **Bug Fixes** * Removed unused and AI-related code for category search queries. * **Chores** * Added a pre-commit script to enforce linting before commits. * Refactored internal logic for category and thread management for better maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5723c627ee |
Remove thread ID tracking and filter suggestion files (#1895)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Removed thread ID tracking from the agent and deleted unused filter suggestion files to simplify code and reduce complexity. - **Refactors** - Removed all code related to thread ID updates and tracking in both client and server. - Deleted filter suggestion utilities and types from mail and server libs. <!-- End of auto-generated description by cubic. --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Enhanced inbox search tool to allow specifying the folder and number of results when searching email threads. * **Bug Fixes** * Improved handling of email thread listing to ensure correct retrieval based on search queries and folder selection. * **Refactor** * Removed deprecated email filter suggestion logic and related utilities from both client and server. * Cleaned up unused message types and socket communication related to thread ID updates. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e1e76242f7 |
Comment out unused constants and set default server URL (#1890)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Commented out unused constants in prompts and voice provider files, and set a default server URL in the ElevenLabs tools script. <!-- End of auto-generated description by cubic. --> |
||
|
|
a34028c1bc |
Streamline email assistant prompt and add server-side tool execution (#1887)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Simplified the email assistant system prompt for clarity and added server-side tool execution for voice and web integrations. - **Refactors** - Rewrote the assistant prompt to be shorter, more direct, and easier for models to follow. - Removed unused and verbose prompt sections. - **New Features** - Added a server-side tool execution endpoint and utility for handling tool calls from the client. - Introduced a script to register all tools with ElevenLabs for voice agent integration. <!-- End of auto-generated description by cubic. --> |
||
|
|
4c3753e3f8 |
feat: ability to snooze emails (#1477)
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by: Adam <13007539+MrgSub@users.noreply.github.com> |
||
|
|
8d7bb25dd8 |
dvorak for rene (#1738)
# Keyboard Layout Detection and Mapping for Shortcuts ## Description Added keyboard layout detection and mapping to ensure keyboard shortcuts work correctly across different keyboard layouts. The implementation supports QWERTY, Dvorak, Colemak, AZERTY, and QWERTZ layouts, with automatic detection based on browser APIs and fallback methods. Also added a keyboard layout indicator component to show the current detected layout in the UI. ## Type of Change - ✨ New feature (non-breaking change which adds functionality) - 🎨 UI/UX improvement - ⚡ Performance improvement ## Areas Affected - [x] User Interface/Experience ## Testing Done - [x] Manual testing performed - [x] Cross-browser testing (if UI changes) ## Checklist - [x] I have performed a self-review of my code - [x] I have commented my code, particularly in complex areas - [x] My changes generate no new warnings ## Additional Notes The implementation uses the KeyboardLayoutMap API when available, with fallbacks to language detection and predefined mappings. The keyboard layout indicator only appears when a non-QWERTY layout is detected. Also includes some code quality improvements: - Enhanced error handling in Gmail API interactions - Simplified optimistic action refresh logic - Improved rate limit handling on the server side ## Screenshots/Recordings N/A --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added dynamic keyboard layout detection and mapping, supporting QWERTY, Dvorak, Colemak, Azerty, and QWERTZ. * Introduced a keyboard layout indicator to display the current layout in the mail app. * Enhanced keyboard shortcuts to display and map keys according to the detected keyboard layout. * Added a utility to convert key names to keyboard event codes for consistent shortcut handling. * **Refactor** * Updated keyboard shortcut handling throughout the mail app to use layout-aware shortcuts. * Simplified optimistic action refresh logic and removed unused parameters. * Refactored internal retry logic for server-side Gmail API calls. * Replaced promise handling with Effect abstractions in server thread label modifications. * **Style** * Cleaned up whitespace and reordered import statements in several components. * **Chores** * Added additional logging for debugging and removed unnecessary log statements. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3bb42e5357 |
better ai (#1724)
## Description Refactored the AI chat component and email assistant to improve performance, reliability, and user experience. This PR introduces a new `inboxRag` tool for natural language email search, replaces the previous `listThreads` implementation, and enhances the prompt design for more efficient inbox management. --- ## Type of Change - ✨ New feature (non-breaking change which adds functionality) - ⚡ Performance improvement ## Areas Affected - [x] Email Integration (Gmail, IMAP, etc.) - [x] User Interface/Experience - [x] API Endpoints ## Testing Done - [x] Manual testing performed ## Checklist - [x] I have performed a self-review of my code - [x] My changes generate no new warnings ## Additional Notes Key improvements: - Added `ThreadPreview` component to replace the previous thread rendering approach - Refactored `ToolResponse` to use specialized subcomponents for different tool types - Updated AI prompts with better instructions for multi-step and parallel operations - Switched backend models to Claude 3.5 for improved reasoning capabilities - Fixed key prop issues in attachment rendering to prevent React warnings - Increased agent max steps from 5 to 10 for more complex operations - Added better markdown styling support for lists and other elements <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced advanced AI-powered inbox search and organization with new tools and richer assistant guidance. * Added support for Anthropic AI models for chat and search tasks. * Enabled new streaming tool for natural language inbox search. * **Improvements** * Enhanced AI assistant prompt with detailed instructions, expanded use cases, and improved communication style. * Modularized and streamlined AI chat component for clearer tool response rendering and better markdown styling. * Increased chat step limit in the AI sidebar for longer conversations. * Improved uniqueness of attachment keys to prevent display issues. * **Bug Fixes** * Corrected parameter naming for thread and draft listing to ensure accurate pagination. * **Chores** * Updated dependencies and environment variables for improved configuration and model support. * Cleaned up unused code and imports for better maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7bca596dc3 |
minor fix (#1704)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Fixed an issue where microphone permission state was not updated after requesting access in the voice provider. <!-- End of auto-generated description by cubic. --> |
||
|
|
277f476575 |
cleanup on isle zero (#1699)
Ran oxc (https://oxc.rs/docs/guide/usage/linter.html#vscode-extension) and fixed all the issues that came up, set it up to run as a PR check and added steps to the README.md asking users to use it. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced JavaScript linting using oxlint in development guidelines and CI workflow for improved code quality. * Added oxlint configuration and dependencies to the project. * **Bug Fixes** * Improved error logging in various components and utilities for better debugging. * Enhanced React list rendering by updating keys to use unique values instead of array indices, reducing rendering issues. * Replaced browser alerts with toast notifications for a smoother user experience. * **Refactor** * Simplified component logic and state management by removing unused code, imports, props, and components across multiple files. * Updated function and component signatures for clarity and maintainability. * Improved efficiency of certain operations by switching from arrays to sets for membership checks. * **Chores** * Cleaned up and reorganized import statements throughout the codebase. * Removed deprecated files, components, and middleware to streamline the codebase. * **Documentation** * Updated contribution guidelines to include linting requirements for code submissions. * **Style** * Minor formatting and readability improvements in JSX and code structure. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
99bdd714f1 |
little-cache (#1684)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
d0113d0716 |
billing hotfix (#1670)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved error handling in billing to automatically sign out users if a billing error occurs. * **Chores** * Updated internal cache key version for improved data management. * Enhanced user deletion process to ensure user data is fully removed from all relevant systems. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
ddb4fed6a3 |
Hotfix (#1668)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
38bcc6e96b |
Enable voice (#1639)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
0b19bdad03 |
No batching (#1629)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
3263d88008 |
Fix/email printing (#1529)
Co-authored-by: Adam <x_1337@outlook.com> |
||
|
|
f623c912e4 |
new email renderer (#1584)
# Replace iFrame with Shadow DOM for Email Content Rendering ## Description Replaced the `MailIframe` component with a new `MailContent` component that uses Shadow DOM instead of iframes for rendering email content. This approach provides better security isolation while maintaining styling control and performance. The implementation uses DOMPurify for sanitization and includes proper handling of external images, trusted senders, and theme adaptation. ## Type of Change - ✨ New feature (non-breaking change which adds functionality) - 🔒 Security enhancement - ⚡ Performance improvement <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced a new email content viewer that securely displays HTML emails with improved security, style isolation, and theme support. * Added user controls to manage image loading and trust email senders directly from the email view. * **Refactor** * Replaced the previous email iframe viewer with the new secure content viewer, streamlining functionality and enhancing user experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
92fce9ea04 |
faster maybe (#1606)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Increased the maximum number of requests that can be batched together, potentially improving performance and reducing network overhead for users. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
34fa41eca5 |
Add posthog capture for optimistic actions (#1521)
# Add PostHog analytics tracking for email actions ## Description Added PostHog event tracking to various email actions to improve analytics and user behavior insights. Events are now captured when users: - Mark emails as read/unread - Star/unstar emails - Move emails between folders - Delete emails - Mark emails as important/not important - Undo actions <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added event tracking for key email actions, including marking as read/unread, starring/un-starring, moving, deleting, marking as important/unimportant, and undoing actions. This improves visibility into user interactions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
2fbaf7b312 |
SPA (#1538)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](https://github.com/Mail-0/Zero/blob/staging/.github/CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced a new localization system replacing translation hooks with direct message function calls. * Added localization project configuration and Inlang plugins for improved message formatting. * **Bug Fixes** * Enhanced pluralization handling across all supported languages for accurate message display. * **Refactor** * Unified translation and locale management across components by removing hook-based translations. * Removed obsolete navigation and email signature settings pages. * Simplified query and server provider logic, removing connection-specific and internationalization context code. * Disabled server-side rendering in the mail app. * Removed Cloudflare Worker request handler and related environment augmentations. * **Chores** * Updated dependencies and scripts, adding Inlang CLI and removing unused packages. * Cleaned up configuration files including Vite, Wrangler, and i18n settings. * Added `.gitignore` for localization cache. * Updated static asset handling and environment configurations for Cloudflare deployments. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3d3f876328 | feat: Draft mail list timming display added (#1501) | ||
|
|
d725c3cd7e | feat: ability to compress images while sending mail (#1443) | ||
|
|
b60661e6a6 |
fix: add inline images (#1486)
# Add image support to email composer This PR adds support for inline images in the email composer. Users can now drag and drop or paste images directly into the email body, which will be properly embedded in the outgoing emails. ## Key changes: - Added TipTap extensions for image handling and file handling - Modified the sanitize HTML function to process base64 images and convert them to CID references - Updated Google and Microsoft mail managers to handle inline images in emails <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added support for inserting and handling images (including drag-and-drop and paste) in the email composer. * Inline images are now properly embedded and displayed in sent emails and drafts. * **Bug Fixes** * Improved sanitization to allow safe image embedding while restricting allowed tags and attributes. * **Chores** * Updated and added dependencies to support image handling and improved email processing. * Removed the toast notification test route and related UI. * **Refactor** * Streamlined attachment processing and schema handling for better reliability and maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
315b2fcb74 | feat: Added recieve time display to the mail even for previous days (#1439) | ||
|
|
34bb334cec |
Fixing type errors (#1488)
# Refactor Command Palette to use URL State and Improve Agent Communication ## Description This PR refactors the command palette to use URL state instead of React state, allowing for better persistence and sharing of the command palette's open state. It also improves the agent communication architecture by implementing proper RPC targets for both database and agent operations. Key changes: - Refactored command palette to use URL query parameters instead of React state - Added loading indicator for search processing - Improved empty state messaging in command palette - Fixed filter clearing when navigating between folders - Enhanced agent communication with proper RPC targets - Removed unnecessary toast notifications - Fixed type issues in sidebar labels component ## Type of Change - 🐛 Bug fix (non-breaking change which fixes an issue) - ✨ New feature (non-breaking change which adds functionality) - ⚡ Performance improvement ## Areas Affected - [x] Email Integration (Gmail, IMAP, etc.) - [x] User Interface/Experience - [x] API Endpoints ## Testing Done - [x] Manual testing performed ## Checklist - [x] I have performed a self-review of my code - [x] My changes generate no new warnings - [x] All tests pass locally ## Additional Notes The command palette now maintains its state via URL parameters, which improves the user experience when navigating between pages. The agent communication architecture has been improved to use proper RPC targets, which should make the code more maintainable and robust. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced command palette loading UI with a spinning loader icon during searches. - Added output validation for label and mail count queries to improve data reliability. - **Improvements** - Unified the command palette open state with the URL query for better navigation and consistency. - Refined search handling to prevent concurrent searches and improve performance. - Sidebar labels now only appear when an account is active for a cleaner interface. - Updated navigation UI with revised sign-in button behavior and streamlined GitHub link label. - **Bug Fixes** - Resolved issues with command palette state and filter clearing on route changes. - **Removed** - Toast notifications for clearing filters, saving searches, and deleting saved searches have been removed. - Removed the navigation bar component and Product Hunt badge from the home content. - Removed interactive sign-in button from home content, replaced with static badge. - **Developer Changes** - Updated and streamlined type definitions for user accounts and connections. - Refactored backend authentication setup to use explicit connection IDs and added RPC proxy class for mail operations. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7db4b08c3d |
Fixes (#1397)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
ea1f93e4ef |
adam is AGI (#1373)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
8ae5cc9397 |
Add unsaved email confirmation dialog (#1364)
## Description Added a confirmation dialog when users attempt to close the email composer with unsaved content. This prevents accidental data loss by prompting users to confirm before discarding their draft. Also implemented browser-level protection against navigation/refresh when there's unsaved content in the composer. ## Type of Change - [x] 🐛 Bug fix (non-breaking change which fixes an issue) - [x] 🎨 UI/UX improvement ## Areas Affected - [x] User Interface/Experience - [x] Email Integration (Gmail, IMAP, etc.) ## Testing Done - [x] Manual testing performed ## Checklist - [x] I have performed a self-review of my code - [x] My changes generate no new warnings ## Additional Notes The changes include: 1. Added a confirmation dialog when users try to close the email composer with unsaved content 2. Implemented browser-level protection against navigation/refresh with unsaved content 3. Fixed the Escape key behavior to show confirmation dialog instead of immediately closing 4. Improved state cleanup when closing the composer (clearing threadId, activeReplyId, etc.) 5. Fixed compose hotkey behavior to only close the compose window, not toggle it 6. Added proper cleanup of draft state when unmounting the composer component |
||
|
|
9b49f00fee | feat: ability to customize categories (#1328) | ||
|
|
532fb6d49b |
No Batching (#1305)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
1523b37047 |
No Microsoft (#1288)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
17828fe541 |
composer styling (#1259)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for forwarding emails, allowing users to send existing messages to new recipients with original content included. - **Bug Fixes** - Improved formatting for quoted and forwarded message sections in email bodies. - **Chores** - Enhanced email composition options to handle more flexible message metadata, such as optional attachments, headers, and recipient fields. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6747ff4276 |
re-enables outlook (#1245)
# Enable Outlook/Microsoft Email Provider ## Description This PR enables the Outlook email provider by uncommenting the Microsoft provider configuration in both the frontend and backend. It also removes a debug console.log statement from the Outlook mail manager. ## Areas Affected - [x] Email Integration (Outlook) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Outlook is now available as an email provider option. - Microsoft authentication is now enabled for user sign-in. - **Chores** - Removed a debugging log message to improve console cleanliness. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a0d812a7c7 |
fixes shortcut key size and windows key (#1252)
# Display correct keyboard shortcut symbol based on operating system
## Description
This PR updates the keyboard shortcut display in the mail component to show the appropriate modifier key symbol based on the user's operating system. It now displays "⌘" for Mac users and "Ctrl" for non-Mac users, making the UI more accurate for all platforms.
## Type of Change
- [x] 🎨 UI/UX improvement
## Additional Notes
The change exports the `isMac` utility function from `use-hotkey-utils.ts` so it can be reused in the mail component, ensuring consistent OS detection throughout the application.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Keyboard shortcut hints in the mail interface now display platform-specific keys, showing "⌘" for Mac users and "Ctrl" for others, for improved clarity and user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
01867f0a82 |
Hotfix (#1237)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
7bdc0be2eb |
Optimistic Fixes (#1231)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
2bc5976928 |
fixing small bugs (#1204)
# WIP ## Icon Styling and Keyboard Shortcut Improvements ### TL;DR Improved icon styling and keyboard shortcuts for better user experience in the mail application. ### What changed? - Fixed icon styling by changing `--icon-color` from `black` to `currentColor` for better theme compatibility - Enhanced the ExclamationCircle icon appearance with conditional styling based on importance status - Adjusted Star icon size for better visual consistency - Moved mouse event handlers from mail-list to mail layout component for proper scope management - Added Cmd+Z (Ctrl+Z) keyboard shortcut for undoing the last action - Fixed OldPhone icon SVG formatting - Implemented the undoLastAction handler in global hotkeys ### How to test? 1. Verify icon appearance in both light and dark themes 2. Check that the ExclamationCircle icon properly changes appearance when marking emails as important 3. Test the new Cmd+Z (Ctrl+Z) keyboard shortcut to undo actions 4. Confirm that keyboard shortcuts work correctly when hovering over the mail list ### Why make this change? These changes improve the visual consistency of icons across themes and enhance the user experience by adding expected keyboard shortcuts like undo functionality. The refactoring of mouse event handlers ensures proper keyboard shortcut scope management when interacting with the mail list. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added global keyboard shortcut (Cmd/Ctrl + Z) to undo the last action in the mail app. - **Enhancements** - Improved icon appearance with dynamic color inheritance and updated important/flagged icon styling. - Adjusted icon sizing for better consistency. - Hotkey scope for the mail list is now enabled or disabled based on mouse hover over the mail list panel. - **Style** - Minor formatting improvements to icon components. - **Bug Fixes** - Ensured undo shortcut prevents default browser behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
1b761e3107 |
updates tools (#1213)
### TL;DR Improved label management and email summarization functionality in the ElevenLabs tools. ### What changed? - Enhanced `applyLabel` function to find labels by name instead of requiring a label ID - Improved `removeLabel` function to: - Check if an email is currently open - Find labels by name instead of requiring a label ID - Provide helpful error messages and hints - Fixed `summarizeEmail` function to: - Remove unused parameters - Implement email summarization using the AI web search API - Include relevant email details in the summary prompt ### How to test? 1. Try applying a label to an email using the label name 2. Test removing a label from an email using the label name 3. Test the summarize email functionality on various types of emails 4. Verify error handling when no email is open or when a label is not found ### Why make this change? These improvements make the label management more user-friendly by allowing operations based on label names rather than IDs. The email summarization feature now properly generates summaries using the AI web search API, providing users with concise overviews of their emails including topic, action items, and urgency level. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved label application and removal by ensuring labels are correctly identified by name, with clear error messages if labels are not found or no thread is open. - **New Features** - Enhanced email summarization with more detailed summaries using updated AI capabilities. The summarize action no longer requires parameters. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
eb2871f364 |
new ai voice assistant (#1163)
### TL;DR
Added a new voice assistant feature to the mail app using ElevenLabs integration.
### What changed?
- Created a new voice assistant page at `/mail/voice` with a complete UI for voice interactions
- Added a navigation item for the Voice Assistant under a new "AI & Tools" section
- Updated the ElevenLabs package from `@11labs/react` to `@elevenlabs/react` (version 0.1.5)
- Added localization support for the voice assistant feature
- Implemented email context loading to provide the assistant with recent email information
### How to test?
1. Navigate to `/mail/voice` in the mail app
2. Ensure you're logged in and have granted microphone permissions
3. Click "Start Conversation" to begin interacting with the voice assistant
4. Test the mute/unmute functionality during conversation
5. Verify that recent emails are properly loaded and provided as context
### Why make this change?
This change enhances the mail application with voice interaction capabilities, allowing users to interact with their email through natural language. The voice assistant can access recent emails for context, providing a hands-free way to manage email communications. This feature improves accessibility and offers an alternative interface for users who prefer voice commands over traditional input methods.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a voice assistant feature, including a VoiceButton UI for starting and managing voice interactions within the mail app.
- Added a global keyboard shortcut ("v") to quickly open the voice assistant.
- Implemented a new alert component for improved user notifications.
- Added localization for the voice assistant in the navigation sidebar.
- **Enhancements**
- Updated the Sparkles icon with improved color and opacity styling.
- **Bug Fixes**
- Corrected localization string formatting for error messages.
- **Chores**
- Updated and reorganized dependencies to support new voice and AI features.
- Added new context providers for managing voice interactions throughout the app.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
94f7707ae6 |
Less batch size (#1205)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
18af54e730 |
Hotkeys Fix (#1176)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Simplified sidebar toggle shortcut to use only 'Meta+0'. - Standardized navigation hotkeys for smoother user interaction. - Improved internal hotkey configurations for consistent behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
13bae8fdcb |
better command palette and new shortcuts (#1165)
### TL;DR Refactored the command palette to improve the search and filter experience in the mail app. ### What changed? - Restructured the `CommandPaletteProvider` to wrap the entire mail app layout - Enhanced the command palette context to expose active filters and a clear filters function - Replaced the search bar with an improved command palette button that displays active filters - Added a "Clear" button directly in the search UI to quickly remove all filters - Added a new keyboard shortcut (Cmd+Shift+F) to clear all filters - Removed the '/' shortcut for search in favor of using Cmd+K for the command palette ### How to test? 1. Open the mail app and press Cmd+K to open the command palette 2. Apply some filters through the command palette 3. Verify that active filters appear in the search bar 4. Test clearing filters using: - The "Clear" button next to the filters - The Cmd+Shift+F keyboard shortcut 5. Verify that the command palette opens correctly with Cmd+K ### Why make this change? This change improves the user experience by: - Making active filters more visible in the UI - Providing multiple ways to clear filters - Streamlining the search and filter workflow - Creating a more consistent command interface throughout the application <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a global keyboard shortcut (Cmd+Shift+F) to clear all active filters in the mail app. - **Refactor** - Streamlined the command palette and its provider for improved context management and simplified state handling. - Updated the mail layout to use a button for opening the command palette, displaying active filters and providing quick access to clearing filters. - Wrapped the entire mail layout with the command palette context provider for consistent state access. - **Style** - Improved button and filter UI styling for better clarity and usability. - **Bug Fixes** - Removed the single-key '/' search shortcut to prevent accidental activation. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
05a67e1c47 |
Hotkeys Keyboard Layout (#1166)
# READ CAREFULLY THEN REMOVE Remove bullet points that are not relevant. PLEASE REFRAIN FROM USING AI TO WRITE YOUR CODE AND PR DESCRIPTION. IF YOU DO USE AI TO WRITE YOUR CODE PLEASE PROVIDE A DESCRIPTION AND REVIEW IT CAREFULLY. MAKE SURE YOU UNDERSTAND THE CODE YOU ARE SUBMITTING USING AI. - Pull requests that do not follow these guidelines will be closed without review or comment. - If you use AI to write your PR description your pr will be close without review or comment. - If you are unsure about anything, feel free to ask for clarification. ## Description Please provide a clear description of your changes. --- ## Type of Change Please delete options that are not relevant. - [ ] 🐛 Bug fix (non-breaking change which fixes an issue) - [ ] ✨ New feature (non-breaking change which adds functionality) - [ ] 💥 Breaking change (fix or feature with breaking changes) - [ ] 📝 Documentation update - [ ] 🎨 UI/UX improvement - [ ] 🔒 Security enhancement - [ ] ⚡ Performance improvement ## Areas Affected Please check all that apply: - [ ] Email Integration (Gmail, IMAP, etc.) - [ ] User Interface/Experience - [ ] Authentication/Authorization - [ ] Data Storage/Management - [ ] API Endpoints - [ ] Documentation - [ ] Testing Infrastructure - [ ] Development Workflow - [ ] Deployment/Infrastructure ## Testing Done Describe the tests you've done: - [ ] Unit tests added/updated - [ ] Integration tests added/updated - [ ] Manual testing performed - [ ] Cross-browser testing (if UI changes) - [ ] Mobile responsiveness verified (if UI changes) ## Security Considerations For changes involving data or authentication: - [ ] No sensitive data is exposed - [ ] Authentication checks are in place - [ ] Input validation is implemented - [ ] Rate limiting is considered (if applicable) ## Checklist - [ ] I have read the [CONTRIBUTING](../CONTRIBUTING.md) document - [ ] My code follows the project's style guidelines - [ ] I have performed a self-review of my code - [ ] I have commented my code, particularly in complex areas - [ ] I have updated the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix/feature works - [ ] All tests pass locally - [ ] Any dependent changes are merged and published ## Additional Notes Add any other context about the pull request here. ## Screenshots/Recordings Add screenshots or recordings here if applicable. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved keyboard shortcut support for users with the Dvorak keyboard layout. Shortcut keys are now correctly interpreted and displayed based on the detected layout, enhancing usability for Dvorak users. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
27547ca7bd |
Remove CommandPaletteProvider wrapper and enhance search functionality (#1154)
# Remove CommandPaletteProvider and Enhance Command Palette Functionality ## Description This PR significantly enhances the command palette functionality while simplifying its implementation. The main changes include: - Removed the `CommandPaletteProvider` wrapper from the mail app layout - Integrated the command palette directly into the mail component - Added comprehensive search and filter capabilities to the command palette - Implemented natural language search processing - Added date filtering with calendar selection - Added support for saved searches and filter combinations - Improved the UI with better organization of commands and search results - Added keyboard shortcuts for quick navigation within the command palette - Added help documentation for search syntax ## Type of Change - ✨ New feature (non-breaking change which adds functionality) - 🐛 Bug fix (non-breaking change which fixes an issue) - 🧹 Code refactoring (no functional changes) ## Areas Affected - [x] User Interface - [x] Search Functionality - [x] Command Palette ## Testing Done - [x] Manual testing of search and filter functionality - [x] Verified keyboard shortcuts work correctly - [x] Tested natural language search processing ## Checklist - [x] I have performed a self-review of my code - [x] My changes generate no new warnings - [x] The code follows the project's style guidelines ## Additional Notes The command palette now provides a more powerful and intuitive way to search and filter emails, with support for Gmail-compatible search syntax and natural language processing. Users can now easily filter by sender, recipient, subject, date ranges, and more. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a comprehensive command palette for email with multiple views, advanced filtering, saved searches, natural language and AI-assisted search, keyboard shortcuts, and persistent state. - Added localization strings for new command palette features and search/filter instructions. - **Enhancements** - The command palette now replaces the previous search bar in the mail panel header. - AI-powered search queries now exclude promotional emails by default unless specified. - **Bug Fixes** - Improved hotkey handling across the app for consistent keyboard shortcut behavior. - **Backend Improvements** - Refined AI thread summary and search tools for more relevant and concise responses. - Simplified and optimized AI search query generation and email tool management. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
9ae261ca64 |
Fix ZeroAgent authentication reconnection (#1149)
## Description This PR makes three targeted improvements: 1. Removes an unused import of `ThreadSubject` component from thread-display.tsx 2. Renames variable `idsToArchive` to `idsToMark` in mail-list-hotkeys.tsx to better reflect its purpose in the context of marking emails as important 3. Enhances error handling in the ZeroAgent class by attempting to re-setup authentication when a connection is missing before throwing an error ## Type of Change - [x] 🐛 Bug fix (non-breaking change which fixes an issue) - [x] ⚡ Performance improvement ## Areas Affected - [x] Email Integration (Gmail, IMAP, etc.) - [x] User Interface/Experience - [x] Authentication/Authorization ## Testing Done - [x] Manual testing performed ## Checklist - [x] I have performed a self-review of my code - [x] My changes generate no new warnings ## Additional Notes The authentication improvement in the ZeroAgent class adds a fallback mechanism to attempt re-authentication before failing, which should improve reliability when connections time out or are temporarily lost. --- _By submitting this pull request, I confirm that my contribution is made under the terms of the project's license._ |
||
|
|
9914ec8478 |
new shortcuts (#1147)
Enabled additional keyboard shortcuts for mail list actions including marking emails as important, archiving, deleting, and starring. - Uncommented four keyboard shortcuts in `shortcuts.ts`: - `i` - Mark as important - `a` - Bulk archive - `d` - Bulk delete - `s` - Bulk star - Implemented the corresponding handler functions in `mail-list-hotkeys.tsx`: - Added `markAsImportant`, `bulkArchive`, `bulkDelete`, and `bulkStar` functions - Added these functions to the actions object returned by the component - Imported additional optimistic action hooks needed for these operations 1. Navigate to the mail list view 2. Test each of the newly enabled keyboard shortcuts: - Press `i` to mark an email as important - Press `a` to archive an email - Press `d` to delete an email - Press `s` to star an email 3. Verify that these actions work both for hovered emails and for bulk-selected emails These keyboard shortcuts enhance user productivity by providing quick access to common mail actions without requiring mouse interaction. This improves the overall user experience for keyboard-oriented users and brings the mail application closer to feature parity with other popular email clients. |