Add focusmate extension#27454
Conversation
|
Congratulations on your new Raycast extension! 🚀 We're currently experiencing a high volume of incoming requests. As a result, 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 adds a new Focusmate extension with three commands: view profile, view recent sessions, and open the dashboard. The implementation is straightforward and follows most Raycast conventions, but one blocker needs to be resolved before the extension can be published.
Confidence Score: 3/5Not ready to merge — the missing metadata/ folder is a hard publishing requirement, and the partner-name logic needs verification. One P1 (missing required metadata screenshots) pulls the ceiling to 4/5, and the additional partner-name logic concern in sessions.tsx lowers it further to 3/5. extensions/focusmate/package.json (missing metadata/ folder), extensions/focusmate/src/sessions.tsx (partner name logic), extensions/focusmate/src/api.ts (manual Preferences interface) Important Files Changed
Prompt To Fix All With AIThis is a comment left during a code review.
Path: extensions/focusmate/src/api.ts
Line: 5-7
Comment:
**Manual `Preferences` interface defined**
The `Preferences` interface should not be manually defined for `getPreferenceValues()`. The types are auto-generated in `raycast-env.d.ts` when the extension runs, so a hand-written interface can silently drift from the actual `package.json` preference schema and cause type mismatches.
**Rule Used:** What: Don't manually define `Preferences` for `get... ([source](https://app.greptile.com/review/custom-context?memory=d93fc9fb-a45d-4479-a6a4-b1b4af98ebc8))
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: extensions/focusmate/src/sessions.tsx
Line: 42-43
Comment:
**Partner name may show self instead of partner**
`s.users?.[0]?.name` unconditionally picks the first element, which can be the authenticated user themselves rather than their session partner. For solo or partially-joined sessions the array may only contain one entry (the current user), so this would display the user's own name as the partner label.
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: extensions/focusmate/package.json
Line: 1-4
Comment:
**Missing `metadata/` folder with screenshots**
This extension defines two `view`-mode commands (`sessions` and `profile`), but the PR does not include a `metadata/` folder with Raycast-styled screenshots. The Raycast store requires screenshots for all extensions that have view-type commands before they can be published.
**Rule Used:** What: Extensions with view-type commands must incl... ([source](https://app.greptile.com/review/custom-context?memory=87059ac1-c601-487f-9f1c-bce8a3cb6209))
How can I resolve this? If you propose a fix, please make it concise.Reviews (1): Last reviewed commit: "init" | Re-trigger Greptile |
| { | ||
| "$schema": "https://www.raycast.com/schemas/extension.json", | ||
| "name": "focusmate", | ||
| "title": "Focusmate", |
There was a problem hiding this comment.
Missing
metadata/ folder with screenshots
This extension defines two view-mode commands (sessions and profile), but the PR does not include a metadata/ folder with Raycast-styled screenshots. The Raycast store requires screenshots for all extensions that have view-type commands before they can be published.
Rule Used: What: Extensions with view-type commands must incl... (source)
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/focusmate/package.json
Line: 1-4
Comment:
**Missing `metadata/` folder with screenshots**
This extension defines two `view`-mode commands (`sessions` and `profile`), but the PR does not include a `metadata/` folder with Raycast-styled screenshots. The Raycast store requires screenshots for all extensions that have view-type commands before they can be published.
**Rule Used:** What: Extensions with view-type commands must incl... ([source](https://app.greptile.com/review/custom-context?memory=87059ac1-c601-487f-9f1c-bce8a3cb6209))
How can I resolve this? If you propose a fix, please make it concise.
Description
Add Commands
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder