-
Notifications
You must be signed in to change notification settings - Fork 1.3k
feat: web proactive-notifications #4435
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: web proactive-notifications #4435
Conversation
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…nal/omi into web-proactive-assistant
|
@gemini-code-assist re-review pls |
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
@gemini-code-assist re-review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a significant new feature, the Proactive Assistant, by porting logic from the macOS app. The implementation is well-structured, with clear separation of concerns between server actions for Gemini API calls, context providers for state management, and React components for the UI. The use of a dedicated hook useProactiveNotifications to encapsulate the core logic is a great pattern.
I've identified two high-severity issues that should be addressed:
- A security vulnerability where the Gemini API key is exposed in the URL.
- A bug in the proactive settings widget UI that makes it non-functional.
Details and suggestions for fixes are in the review comments. Besides these points, the code is clean and the feature seems well-integrated into the existing application.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
ready to be merged |
Added proactive notification logic from the macos app to the web app. See below for technical details.
This pull request introduces a new "Proactive Assistant" feature to the application, providing infrastructure for proactive notifications and monitoring using Gemini AI. The changes include environment variable setup, context management, UI components, and integration into the main layout and sidebar.
Proactive Assistant Feature Implementation:
ProactiveContext,ProactiveProvider) to manage proactive assistant state, settings (including advice and focus assistants), and history, with localStorage persistence and legacy support.ProactiveMonitoringWidget) for user interaction, status display, error handling, and quick access to settings.Gemini API Integration:
analyzeScreenAction) to interact with the Gemini API for analyzing screen content, supporting image and prompt input, error handling, and extensibility for different models and response schemas.Configuration and Environment:
env.local.example) to include required keys for Firebase, Gemini API, push notifications, and analytics, supporting the new proactive assistant and notification features.