Skip to content

Add pronounce-the-word extension#23351

Closed
SandeepBaskaran wants to merge 2 commits intoraycast:mainfrom
SandeepBaskaran:ext/pronounce-the-word
Closed

Add pronounce-the-word extension#23351
SandeepBaskaran wants to merge 2 commits intoraycast:mainfrom
SandeepBaskaran:ext/pronounce-the-word

Conversation

@SandeepBaskaran
Copy link
Contributor

@SandeepBaskaran SandeepBaskaran commented Dec 2, 2025

Description

Screencast

Checklist

- Improve pronunciation extension with better API handling and UI
- first commit
@raycastbot
Copy link
Collaborator

raycastbot commented Dec 2, 2025

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.

- Update Claude settings for git commands
- Fix TypeScript errors
@raycastbot
Copy link
Collaborator

This pull request has been automatically marked as stale because it did not have any recent activity.

It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊

@raycastbot raycastbot added the status: stalled Stalled due inactivity label Dec 17, 2025
@raycastbot raycastbot removed the status: stalled Stalled due inactivity label Jan 13, 2026
@SandeepBaskaran SandeepBaskaran marked this pull request as ready for review January 16, 2026 10:55
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 16, 2026

Greptile Summary

This PR adds a new extension for learning word pronunciations with audio playback, phonetic transcriptions, and comprehensive definitions. The implementation is clean and well-structured, but has two critical issues that must be resolved:

  • Cross-platform compatibility bug: The extension declares Windows support in package.json but uses macOS-only afplay command for audio playback, causing it to fail on Windows
  • Missing metadata folder: View-type commands require a metadata/ folder with Raycast-styled screenshots per store guidelines

The extension demonstrates good practices including:

  • Proper error handling and user feedback with toasts
  • LocalStorage-based history management limited to 30 items
  • Integration with Free Dictionary API and Datamuse API for suggestions
  • Clean TypeScript types and component structure
  • Correct Prettier and ESLint configuration

Confidence Score: 2/5

  • This PR has critical issues that will cause runtime failures on Windows
  • Score reflects two blocking issues: the audio playback will completely fail on Windows due to macOS-only command, and the extension is missing required metadata screenshots for store submission
  • Pay close attention to src/WordDetails.tsx for cross-platform audio implementation and add missing metadata/ folder with screenshots

Important Files Changed

Filename Overview
extensions/pronounce-the-word/package.json Configuration follows Raycast standards with correct prettier settings and platform support
extensions/pronounce-the-word/src/WordDetails.tsx Critical cross-platform issue: uses macOS-only afplay command but targets Windows
extensions/pronounce-the-word/README.md Comprehensive documentation with minor inaccuracy about macOS-only audio

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.

11 files reviewed, 3 comments

Edit Code Review Agent Settings | Greptile

fs.writeFileSync(tempFilePath, buffer);

// Play using macOS afplay command
await execAsync(`afplay "${tempFilePath}"`);
Copy link
Contributor

Choose a reason for hiding this comment

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

logic: afplay is macOS-only but package.json declares Windows support. This will fail on Windows.

Suggested change
await execAsync(`afplay "${tempFilePath}"`);
// Play audio using platform-specific command
const playCommand = process.platform === "win32"
? `powershell -c (New-Object Media.SoundPlayer "${tempFilePath}").PlaySync()`
: `afplay "${tempFilePath}"`;
await execAsync(playCommand);


### Audio Playback

Audio files are downloaded and played using macOS's native `afplay` command for reliable playback in Raycast's Node.js environment.
Copy link
Contributor

Choose a reason for hiding this comment

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

style: Update documentation to reflect cross-platform audio support instead of macOS-only afplay

"name": "pronounce",
"title": "Pronounce",
"description": "Learn to pronounce any word",
"mode": "view"
Copy link
Contributor

Choose a reason for hiding this comment

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

logic: Missing required metadata/ folder with Raycast-styled screenshots for view-type command. See https://developers.raycast.com/basics/prepare-an-extension-for-store#screenshots

Context Used: Rule from dashboard - What: Extensions with view-type commands must include a metadata/ folder containing Raycast-styled... (source)

@0xdhrv
Copy link
Contributor

0xdhrv commented Jan 19, 2026

Hi @SandeepBaskaran 👋

Thanks for your contribution 💪

Could you look into the suggestions from Greptile

I'm looking forward to reviwing 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 19, 2026 07:27
@0xdhrv 0xdhrv assigned 0xdhrv and unassigned pernielsentikaer Jan 19, 2026
@raycastbot
Copy link
Collaborator

This pull request has been automatically marked as stale because it did not have any recent activity.

It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊

@raycastbot raycastbot added the status: stalled Stalled due inactivity label Feb 2, 2026
@raycastbot
Copy link
Collaborator

This pull request has been automatically closed due to inactivity.

Feel free to comment in the thread when you're ready to continue working on it 🙂

You can also catch us in Slack if you want to discuss this.

@raycastbot raycastbot closed this Feb 9, 2026
@SandeepBaskaran
Copy link
Contributor Author

@raycastbot reopen

I've updated the PR to address the review comments:

  1. Cross-Platform Audio Fix: Implemented the suggested PowerShell-based audio playback for Windows support in src/WordDetails.tsx.
  2. Documentation Update: Updated README.md to reflect cross-platform compatibility.
  3. Metadata Screenshots: Added the required metadata/ folder with Raycast-styled screenshots (extension-screenshot-*.png).

@SandeepBaskaran
Copy link
Contributor Author

I have updated the branch with the requested changes:

  1. Cross-Platform Audio: Replaced WMPlayer.OCX with System.Media.SoundPlayer via PowerShell for reliable Windows support.
  2. Metadata: Added the missing metadata/ folder with Raycast-styled screenshots.
  3. Documentation: Updated README.md to reflect cross-platform compatibility.

I also fixed the commit author email. Could you please reopen this PR for review?

@pernielsentikaer
Copy link
Collaborator

We can't reopen it since you removed the forked repos branch. You need to open a new PR to get back into the queue.

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 platform: macOS platform: Windows status: stalled Stalled due inactivity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants