87 Commits

Author SHA1 Message Date
Mohd Yasin
bbc3cc0e19 fix: add cursor pointer to all button elements (#2009) 2025-08-26 13:00:51 +01:00
Ahmet Kilinc
906a02cd97 update deps and remove unused deps (#2006)
# Package Dependency Updates

## Description

This PR updates several package dependencies across the project:

- Updated `@elevenlabs/react` from 0.1.5 to 0.5.1 in mail app
- Added `@elevenlabs/elevenlabs-js` 2.12.2 to server app
- Removed unused dependencies: `deepmerge`, `dexie`, `emblor`, and `react-markdown`
- Added `sanitize-html` 2.16.0 to mail app
- Removed `elevenlabs` 1.59.0 from server (replaced with newer `@elevenlabs/elevenlabs-js`)
- Updated PNPM package manager from 10.12.1 to 10.15.0
- Updated Node types from 22.15.29 to 24.3.0
- Updated various dev dependencies including prettier, dotenv-cli, and tsx
- Updated Zod from 3.25.42 to 4.1.1
- Updated wrangler catalog version from 4.28.1 to 4.32.0

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

* **Security**
  * Safer message rendering via HTML sanitization.
* **Improvements**
  * Updated voice/AI integration for increased reliability and compatibility.
  * General stability and performance enhancements across the app.
* **Chores**
  * Upgraded core libraries, developer tooling, and package manager to latest versions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-25 20:52:59 +02:00
Adam
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 -->
2025-08-04 10:34:29 -07:00
Adam
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. -->
2025-08-01 14:14:50 -07:00
amrit
e1cdeb82c2 feat: add tests using playwright (#1877)
1. Get both the better auth session tokens from appliations/cookies in .env

<img width="852" height="316" alt="image" src="https://github.com/user-attachments/assets/0177c496-103c-4111-8a80-089d1f4a6f94" />

2. Enter the email you wish to send to in .env

3. `cd packages/testing`

3. run `npm test:e2e:headed`

thats it tbh

https://github.com/user-attachments/assets/b703e78c-2373-40a2-b431-f9ba53d5d871



    
<!-- This is an auto-generated description by cubic. -->
---

## Summary by cubic
Added Playwright end-to-end tests for the mail inbox flow, including authentication setup and email send/reply actions.

- **New Features**
  - Added Playwright config, test scripts, and environment variables for E2E testing.
  - Implemented tests to sign in, send an email, and reply within the same session.

<!-- End of auto-generated description by cubic. -->



<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

## Summary by CodeRabbit

* **New Features**
  * Introduced a comprehensive testing package with support for unit, UI, and end-to-end tests.
  * Added Playwright-based authentication setup and mail inbox end-to-end test scripts.
  * Provided a dedicated test configuration and TypeScript setup for robust test execution.

* **Chores**
  * Updated environment variable examples to support Playwright testing.
  * Enhanced main project scripts to facilitate various testing modes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-01 08:29:43 -07:00
nizzy
99fcc71df8 dub (#1671)
## Description

Integrated Dub Analytics into the application to track user interactions and improve analytics capabilities. This PR adds the Dub Analytics component to the mail application layout and configures the analytics plugin in the authentication system.

---

## Type of Change

- [x]  New feature (non-breaking change which adds functionality)
- [x]  Performance improvement

## Areas Affected

- [x] Authentication/Authorization
- [x] User Interface/Experience
- [x] Data Storage/Management

## Testing Done

- [x] Manual testing performed

## Security Considerations

- [x] No sensitive data is exposed
- [x] Authentication checks are in place

## Checklist

- [x] I have performed a self-review of my code
- [x] My changes generate no new warnings
- [x] I have updated the documentation

## Additional Notes

The Dub Analytics integration provides better insights into user behavior while maintaining privacy standards. The implementation includes:

1. Added Dub Analytics component to the mail application layout with domain configuration
2. Integrated Dub analytics plugin into the authentication system
3. Added required dependencies (@dub/analytics, @dub/better-auth, and dub) to the project
2025-07-15 20:13:24 -07:00
amrit
35bf6df65b feat: add a way to evaluate llms for our usecase against our prompts (#1700) 2025-07-15 10:22:42 -07:00
needle
275c3fd514 refactor(nav): enhance account switcher (#1367)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced a global loading indicator with animated overlay and customizable messages for improved user feedback during operations.
- **Improvements**
  - Enhanced account switching with explicit loading states, improved cache management, and clearer success or error notifications.
  - Added new localized messages for account switching status.
- **Chores**
  - Updated package manager version for improved tooling support.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-21 13:03:24 -07:00
Dak Washbrook
a47e2f2f07 AI Phone Assistant (#1190)
…essing

# 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**
  - Introduced AI voice call handling with Twilio and ElevenLabs integration, enabling real-time conversational AI over phone calls.
  - Added a new /ai API route for voice and call management.
  - Implemented a system prompt for an AI email assistant with robust tool invocation and safety protocols.
  - Added a new database table for key management (JWKS).
  - Added endpoints for obtaining signed URLs for ElevenLabs conversational AI.
  - Added voice-related API routes and integrated voiceRouter into main API.

- **Improvements**
  - Enhanced authentication by supporting bearer tokens and refining session user handling throughout the app.
  - Updated Zod schema descriptions for improved API documentation.
  - Streamlined context management for user sessions across server routes and procedures.

- **Chores**
  - Updated dependencies and added new packages for Twilio, ElevenLabs, and JOSE.
  - Added scripts for streamlined Docker database management and development startup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-03 16:04:44 -07:00
Rahul Mishra
2eac4f30c5 chore: update dependencies and fix i8n issues (#1167)
- Update deps
- Fix i8n issues where it tries to translate hardcoded strings

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **Bug Fixes**
  - Improved translation handling for navigation titles in the command palette, ensuring titles are translated only once and displayed correctly.

- **Chores**
  - Removed unnecessary 'use client' directives from several UI components.
  - Updated and cleaned up dependencies across the workspace, including removal of unused packages and bumping versions.
  - Simplified and reorganized script commands for development and database operations.
  - Adjusted configuration files for improved client/server build warmup and removed obsolete Turbo tasks.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-31 17:20:14 +05:30
Serhii
df27146ff3 Merge branch 'staging' into staging 2025-05-23 11:49:21 +03:00
BlankParticle
d58c40669b feat: add helper cli 2025-05-21 20:26:33 +05:30
BlankParticle
43e690e5c4 fix: revert backend builder 2025-05-21 00:52:53 +05:30
BlankParticle
214b4ae372 chore: update build and deploy commands 2025-05-21 00:33:57 +05:30
BlankParticle
a4d7889fa2 chore: do optimizations 2025-05-20 16:52:55 +05:30
Aj Wazzan
0f2ed02de4 feat: add deployment scripts for frontend and backend; enhance mail and server package.json with deploy commands 2025-05-20 01:55:15 -07:00
BlankParticle
fa45abaf44 feat: remixify and whatever else needed to be done 2025-05-20 13:56:47 +05:30
Serhii
0f493b2516 Merge branch 'staging' into staging 2025-05-16 10:57:47 +03:00
Adam
09807dc5fd Merge pull request #871 from adiologydev/feat/docker-improvements
feat: multi-stage docker image, migrations container, 96.35% smaller
2025-05-15 17:19:27 -07:00
Aj Wazzan
47be7d8ef9 Add Sentry sourcemaps script to package.json and update build dependencies in turbo.json 2025-05-15 14:38:54 -07:00
Aditya Tripathi
15092dd7c5 Merge branch 'staging' of github.com:Mail-0/Zero into feat/docker-improvements 2025-05-15 21:26:52 +00:00
Serhii Mandrykin
5e1d384351 fix: update docker commands in package.json to use 'docker compose' syntax 2025-05-13 10:22:06 +03:00
BlankParticle
060c1aa124 chore: fix cf-install command 2025-05-09 01:44:54 +05:30
BlankParticle
94e7d68db9 feat: first working version of separated backend 2025-05-08 00:44:52 +05:30
Aditya Tripathi
606e7b2b58 chore(ci): fix redis proxy healthcheck + add db compose for development 2025-05-05 22:36:11 +00:00
Dak Washbrook
1906583a7a Simplify configuration and remove unused dependency
Updated `turbo.json` with a corrected cache configuration URL. Removed `@inquirer/prompts` from `devDependencies` in `package.json` as it is no longer needed.
2025-04-26 21:31:48 -07:00
Dak Washbrook
16445b3b9e Update turbo.json and package.json for config and new script
Removed the "ui" field from turbo.json as it's no longer needed. Added a new "scripts" command in package.json to run mail app scripts with bun, improving functionality and organization.
2025-04-26 21:19:19 -07:00
Dak Washbrook
c0ca4ae621 Add email assistant prompt enhancements and dependency updates
Enhanced email assistant prompts with new system prompt templates and dynamic style generation logic. Updated dependencies including @langchain/core, @ai-sdk/groq, and others for improved functionality and compatibility.
2025-04-26 21:07:34 -07:00
BlankParticle
b3415c3d5b chore: simplify and fix the dev env 2025-04-21 18:43:31 +05:30
Aj Wazzan
f28a28d214 Update turbo version to ^2.5.0 in package.json 2025-04-10 16:25:35 -07:00
plyght
8ebad01745 add signatures 2025-04-05 11:24:38 -04:00
Nizzy
bc3f331b68 posthog 2025-03-31 23:22:11 -07:00
Nizzy
92cfb27589 search 2025-03-29 23:22:03 -07:00
needle
76cf73a9d5 reply ai (#526)
* reply ai

* ai functionality

* line height

* adam fixes

---------

Co-authored-by: user12224 <122770437+user12224@users.noreply.github.com>
Co-authored-by: Nizzy <nizabizaher@gmail.com>
2025-03-27 18:19:31 -04:00
Aj Wazzan
bff757bff3 saving... 2025-03-17 10:08:10 -07:00
user12224
e31b347e4d Merge branch 'staging' of https://github.com/Mail-0/Zero into feat/c-notes 2025-03-17 15:26:34 +02:00
Aj Wazzan
1b8c5d75e4 saving... 2025-03-16 22:51:12 -07:00
Aj Wazzan
0a76b1b1ea minor 2025-03-16 22:44:30 -07:00
Aj Wazzan
d3c16e1439 minor 2025-03-16 22:43:31 -07:00
Aj Wazzan
7ff4af2f2d minor 2025-03-16 22:38:48 -07:00
Aj Wazzan
493a5c15b0 minor 2025-03-16 22:35:48 -07:00
Aj Wazzan
260cd8b562 minor 2025-03-16 22:34:17 -07:00
Aj Wazzan
698b3736f7 minor 2025-03-16 22:26:56 -07:00
user12224
5e778bdff7 ?? 2025-03-17 00:58:13 +02:00
user12224
b4501789c3 feat: notes 2025-03-16 23:38:22 +02:00
nizzy
8b139d8c84 feat: migrate to bun (#443) 2025-03-14 14:41:55 -04:00
Ahmet Kilinc
768d5c7a64 Merge branch 'staging' into docs 2025-03-10 21:57:43 +00:00
nizzy
3a8739d2d7 Create email updates (#407)
* create-email and onboarding

* create-email and onboarding

* added tiptap-markdown to Editor

* create-email-updates

* refactor(auth): enhance auth configuration

* early access flow

---------

Co-authored-by: Ahmet Kilinc <akx9@icloud.com>
Co-authored-by: user12224 <122770437+user12224@users.noreply.github.com>
2025-03-10 17:55:51 -04:00
user12224
71b11e2f30 refactor: docs 2025-03-10 11:26:19 +02:00
Adam
2b11e67893 fix: improve mail list and thread management with updated hooks and l… (#370)
* fix: improve mail list and thread management with updated hooks and layout adjustments

* conflicts

---------

Co-authored-by: Nizzy <nizabizaher@gmail.com>
2025-03-03 03:24:40 -05:00