-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Add water-reminder extension #24241
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?
Add water-reminder extension #24241
Conversation
- fix(publish): finalize all extensions for store release - fix(publish): fix validation and variable duplication in gcs-uploader - fix(publish): fix validation issues and prepare water-reminder for public store - fix(publish): set author and owner for gcs-uploader and water-reminder - Initial commit
|
Congratulations on your new Raycast extension! 🚀 Due to our current reduced availability, the initial review may take up to 10-15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
Greptile SummaryThis PR introduces a comprehensive water reminder extension for Raycast with features including water intake logging, history tracking, menu bar integration, background reminders, and integrations with Habitify, NocoDB, and webhooks. The code is well-structured with proper error handling and state management across all commands. Key Issues:
Highlights:
Confidence Score: 2/5
Important Files Changed
|
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.
Additional Comments (6)
-
extensions/water-reminder/src/utils/nocodb.ts, line 2 (link)syntax: Remove unnecessary
node-fetchimport. Node 21+ includes fetch as a built-in global API.Why: Unnecessary imports add... (source)
Context Used: Rule from
dashboard- What: Do not import fetch in Node 21+, as it is a built-in global API. -
extensions/water-reminder/src/reminder.tsx, line 9-13 (link)syntax: Don't manually define
Preferences. Remove this interface and use the auto-generatedPreferencestype fromraycast-env.d.ts(created automatically when the extension runs).Context Used: Rule from
dashboard- What: Don't manually definePreferencesforgetPreferenceValues()or commendsArgumentinterfa... (source) -
extensions/water-reminder/src/log-water.tsx, line 20-29 (link)syntax: Don't manually define
Preferences. Remove this interface and use the auto-generatedPreferencestype fromraycast-env.d.ts(created automatically when the extension runs).Context Used: Rule from
dashboard- What: Don't manually definePreferencesforgetPreferenceValues()or commendsArgumentinterfa... (source) -
extensions/water-reminder/src/menu-bar.tsx, line 22-30 (link)syntax: Don't manually define
Preferences. Remove this interface and use the auto-generatedPreferencestype fromraycast-env.d.ts(created automatically when the extension runs).Context Used: Rule from
dashboard- What: Don't manually definePreferencesforgetPreferenceValues()or commendsArgumentinterfa... (source) -
extensions/water-reminder/src/view-history.tsx, line 21-23 (link)syntax: Don't manually define
Preferences. Remove this interface and use the auto-generatedPreferencestype fromraycast-env.d.ts(created automatically when the extension runs).Context Used: Rule from
dashboard- What: Don't manually definePreferencesforgetPreferenceValues()or commendsArgumentinterfa... (source) -
extensions/water-reminder/src/utils/shortcuts.ts, line 32 (link)logic: Shell injection vulnerability: JSON input is directly embedded in shell command string. Special characters in
shortcutNamecan break command execution. Use proper shell escaping or pass data via stdin/environment variables.
15 files reviewed, 6 comments
- fix(water-reminder): address feedback and update guidelines - fix(water-reminder): address Greptile feedback - fix shell injection, remove manual preferences, remove node-fetch, add changelog
- fix(water-reminder): fix PR check failure - add metadata folder and remove node-fetch - fix(gcs-uploader): address Greptile feedback and final formatting - fix(gcs-uploader): address Greptile feedback - remove hardcoded config, redundant types and deps, add metadata and changelog
|
Thanks for your contribution @leolionart 🔥 We already have one more extension in the store that deals with Water Reminder. Could we enhance that extensions instead of creating another one? |
|
@greptileai, could you please do a fresh review of this PR? |
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.
Additional Comments (2)
-
extensions/water-reminder/CHANGELOG.md, line 5 (link)syntax: Changelog should use
{PR_MERGE_DATE}placeholder instead of a hardcoded date. The date will be automatically set during release.Context Used: Rule from
dashboard- What: Changelog entries must use{PR_MERGE_DATE}placeholder in titles, be placed at the top of th... (source) -
extensions/water-reminder, line 1 (link)logic: View-type commands require metadata screenshots folder. Both
log-waterandview-historyare view-type commands but there's nometadata/folder with Raycast-styled screenshots. This is required for store submission.Create
extensions/water-reminder/metadata/folder with appropriately sized and styled screenshots.Context Used: Rule from
dashboard- What: Extensions with view-type commands must include ametadata/folder containing Raycast-styled... (source)
16 files reviewed, 2 comments
|
Please replace my extension completely, it's quite limited and I'm not maintaining it anymore anyways. |
|
Hi @leolionart 👋 Can you please check the feedback from greptile here? I'm looking forward to reviewing this extension🔥 I converted this PR into a draft until it's ready for the review, please press the button Feel free to contact me here or at Slack if you have any questions. |
Description
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder