Add ray-tools extension - #30450
Conversation
- feat: add markdown cleaner command (raycast#11) - feat: improve ping diagnostics (raycast#10) - feat: add network status menu bar command (raycast#9) - feat: add Russian proofreading command (raycast#8) - Bump eslint from 8.57.1 to 10.8.0 (raycast#5) - Bump @types/node from 22.20.1 to 26.1.2 (raycast#4) - Bump actions/setup-node from 4.4.0 to 7.0.0 (raycast#2) - Bump actions/checkout from 4.2.2 to 7.0.1 (raycast#1) - fix: harden translation handling (raycast#7) - Keep Raycast\'s supported npm workflow - Use pnpm with Raycast lint compatibility - Prepare Ray Tools for GitHub
|
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 15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
Greptile SummaryThe PR adds the Ray Tools extension with translation, Russian proofreading, Markdown cleanup, and menu-bar network diagnostics.
Confidence Score: 4/5The PR is not yet safe to merge because a completed speed measurement can still disappear when a concurrent refresh finishes afterward. The refresh callback replaces the whole ping result, while every regular check supplies a not-measured speed placeholder, so the previously reported overlapping-operation ordering still discards the latest measured speed. Files Needing Attention: extensions/ray-tools/src/commands/ping.tsx and extensions/ray-tools/src/tools/ping/provider.ts Important Files Changed
Reviews (3): Last reviewed commit: "fix metadata image padding" | Re-trigger Greptile |
| "title": "Translate Text", | ||
| "subtitle": "RU ↔ EN", | ||
| "description": "Translate selected or typed text between Russian and English", | ||
| "mode": "view" |
There was a problem hiding this comment.
View Commands Lack Store Metadata
The extension declares three view commands without adding the required metadata/ screenshots, leaving the new extension without the presentation assets required for normal Store review.
Rule Used: What: Extensions with view-type commands must incl... (source)
Knowledge Base Used: Extension Authoring Conventions
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/ray-tools/package.json
Line: 24
Comment:
**View Commands Lack Store Metadata**
The extension declares three view commands without adding the required `metadata/` screenshots, leaving the new extension without the presentation assets required for normal Store review.
**Rule Used:** What: Extensions with view-type commands must incl... ([source](https://app.greptile.com/raycast/-/custom-context?memory=87059ac1-c601-487f-9f1c-bce8a3cb6209))
**Knowledge Base Used:** [Extension Authoring Conventions](https://app.greptile.com/raycast/-/custom-context/knowledge-base/raycast/extensions/-/docs/extension-authoring-conventions.md)
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.| return; | ||
| } | ||
|
|
||
| setResult(nextResult); |
There was a problem hiding this comment.
Refresh Discards Measured Speed
If a user runs a speed measurement and a network refresh concurrently, and the refresh finishes last, setResult(nextResult) replaces the completed speed probe with the regular check's not-detected placeholder, causing the requested speed result to disappear.
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/ray-tools/src/commands/ping.tsx
Line: 155
Comment:
**Refresh Discards Measured Speed**
If a user runs a speed measurement and a network refresh concurrently, and the refresh finishes last, `setResult(nextResult)` replaces the completed speed probe with the regular check's `not-detected` placeholder, causing the requested speed result to disappear.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
Description
Adds the
ray-toolsextension with focused macOS/Raycast utilities:**bold**,*italic*, headings, quotes, lists, task markers, links, inline code, and fenced code blocks while keeping readable text and URLs.The new
Clean Markdowncommand accepts selected text, typed input, or clipboard contents and supports both copy and paste actions. Markdown cleaning is deterministic and works offline.Screencast
The
Clean Markdowncommand was tested in Raycast with copied chat text containing bold and italic markers. It produced readable plain text and showed theMarkdown cleanedconfirmation.Privacy
Verification
npm run check— 53 tests passed, plus TypeScript, lint, and build checks.npm run buildcompleted successfully.Clean Markdownin local Raycast dev mode.assetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder