Skip to content

Conversation

@leolionart
Copy link

Description

Screencast

Checklist

- 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
@raycastbot raycastbot added the new extension Label for PRs with new extensions label Jan 7, 2026
@raycastbot
Copy link
Collaborator

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-apps
Copy link
Contributor

greptile-apps bot commented Jan 7, 2026

Greptile Summary

Adds a new extension for uploading files to Google Cloud Storage with clipboard detection and CDN support. The extension checks clipboard for files first, then falls back to manual file picker if empty.

Key concerns:

  • Missing metadata folder: Extension has view-type command but lacks required metadata/ folder with Raycast-styled screenshots
  • Missing CHANGELOG.md: No changelog file included
  • Hardcoded personal defaults: package.json contains author's bucket name (prod-omniagent) and CDN URL which should be empty
  • Manual type definitions: Both upload-file.tsx and utils.ts manually define Preferences interfaces instead of using auto-generated types from raycast-env.d.ts
  • Unnecessary dependency: Uses node-fetch when fetch is built-in in Node 21+
  • Unused code: confirmUpload function in utils.ts is never called

Confidence Score: 1/5

  • This PR requires significant changes before merge - missing required metadata, contains hardcoded personal configuration, and violates extension guidelines
  • Score reflects multiple critical issues: missing required metadata/ folder with screenshots (required for view-type commands per extension guidelines), missing CHANGELOG.md, hardcoded personal bucket name and CDN URL as defaults, manual Preferences type definitions that violate auto-generated types policy, and unnecessary dependencies. The functional code appears sound, but the extension is not ready for the store
  • Pay close attention to package.json (remove hardcoded defaults), create metadata/ folder with screenshots, add CHANGELOG.md, and remove manual Preferences interfaces from upload-file.tsx and utils.ts

Important Files Changed

Filename Overview
extensions/gcs-uploader/package.json Configuration file with hardcoded personal defaults (bucket name, CDN URL) and unnecessary node-fetch dependency
extensions/gcs-uploader/src/upload-file.tsx Main upload command with manual Preferences interface that should use auto-generated types
extensions/gcs-uploader/src/utils.ts Utility functions with manual Preferences interface, unnecessary node-fetch import, and unused confirmUpload function

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional Comments (7)

  1. extensions/gcs-uploader/package.json, line 39 (link)

    logic: hardcoded default bucket name - should be empty or use a generic placeholder

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

  2. extensions/gcs-uploader/package.json, line 65 (link)

    logic: hardcoded default CDN URL - should be empty

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

  3. extensions/gcs-uploader/package.json, line 88 (link)

    style: node-fetch unnecessary in Node 21+ (fetch is built-in)

    Why: Unnecessary imports add... (source)

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

    Context Used: Rule from dashboard - What: Do not import fetch in Node 21+, as it is a built-in global API.

  4. extensions/gcs-uploader/src/upload-file.tsx, line 23-25 (link)

    logic: manual Preferences interface violates auto-generated types policy - remove and use auto-generated types from raycast-env.d.ts

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

    Context Used: Rule from dashboard - What: Don't manually define Preferences for getPreferenceValues() or commends Argument interfa... (source)

  5. extensions/gcs-uploader/src/utils.ts, line 13-20 (link)

    logic: manual Preferences interface violates auto-generated types policy - remove and use auto-generated types from raycast-env.d.ts

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

    Context Used: Rule from dashboard - What: Don't manually define Preferences for getPreferenceValues() or commends Argument interfa... (source)

  6. extensions/gcs-uploader/src/utils.ts, line 11 (link)

    style: node-fetch unnecessary in Node 21+ (fetch is built-in) - remove import

    Why: Unnecessary imports add... (source)

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

    Context Used: Rule from dashboard - What: Do not import fetch in Node 21+, as it is a built-in global API.

  7. extensions/gcs-uploader/src/utils.ts, line 113-123 (link)

    style: confirmUpload function is defined but never used - remove unused code

7 files reviewed, 7 comments

Edit Code Review Agent Settings | Greptile

- 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
- 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: force update dependencies to match Raycast Store CI requirements
- fix(water-reminder): fix PR check failure - add metadata folder and remove node-fetch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: please update this to English

Currently, Raycast does not support localization. I recommend using English for now.

@0xdhrv
Copy link
Contributor

0xdhrv commented Jan 8, 2026

Hi 👋

Thanks for your contribution 💪

Could you look into the suggestions from Greptile and me?

I'm looking forward to testing this extension again 🔥

I converted this PR into a draft until it's ready for the review, please press the button Ready for review when it's ready and we'll have a look 😊

Feel free to contact me here or at Slack if you have any questions.

@0xdhrv 0xdhrv marked this pull request as draft January 8, 2026 06:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new extension Label for PRs with new extensions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants