feat: web proactive-notifications#4435
feat: web proactive-notifications#4435neooriginal wants to merge 7 commits intoBasedHardware:mainfrom
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.
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 |
|
@smian1 ❤️ |
|
Hey @neooriginal, merging this — thanks for the work. Honest note: I don't have any plans to actively maintain the web version right now. I know that's tough to hear, but I don't want to waste the community's energy on reviews that go nowhere. So I'm merging these. As a next step, it would be great if you could talk to the team about taking ownership of the Omi web version maintenance. Would love to see it move forward with a proper maintainer behind it. |
|
@neooriginal This one has merge conflicts — could you rebase/resolve them? Will merge once it's clean. |
|
On it |
- Add proactive monitoring widget and settings - Add Gemini API client for screen analysis - Add focus analysis and proactive analysis libs - Add screen capture utilities - Integrate proactive assistant in recording UI - Add settings section for proactive configuration Cherry-picked from PR #4435 with merge conflicts resolved.
|
Hey @neooriginal 👋 Thank you so much for taking the time to contribute to Omi! We truly appreciate you putting in the effort to submit this pull request. After careful review, we've decided not to merge this particular PR. Please don't take this personally — we genuinely try to merge as many contributions as possible, but sometimes we have to make tough calls based on:
Your contribution is still valuable to us, and we'd love to see you contribute again in the future! If you'd like feedback on how to improve this PR or want to discuss alternative approaches, please don't hesitate to reach out. Thank you for being part of the Omi community! 💜 |
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.