Update easydict extension - #30706
Conversation
|
Thank you for your contribution! 🎉 🔔 @tisfeng @ViGeng @LitoMore you might want to have a look. You can use this guide to learn how to check out the Pull Request locally in order to test it. 📋 Quick checkout commandsBRANCH="ext/easydict"
FORK_URL="https://github.com/maxchang3/raycast-extensions.git"
EXTENSION_NAME="easydict"
REPO_NAME="raycast-extensions"
git clone -n --depth=1 --filter=tree:0 -b $BRANCH $FORK_URL
cd $REPO_NAME
git sparse-checkout set --no-cone "extensions/$EXTENSION_NAME"
git checkout
cd "extensions/$EXTENSION_NAME"
npm install && npm run devWe're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 15 business days. |
Greptile SummaryThis PR substantially updates Easydict with configurable AI providers, AI-generated dictionary entries, unified provider ordering and migration, and Chinese stroke-order views.
Confidence Score: 4/5The implementation appears functionally safe, but the explicit changelog placeholder requirement must be restored before merging. Both previous concurrency findings were manually resolved and are not outstanding. The only remaining issue is the hard-coded changelog date, which violates the repository’s merge-date placeholder requirement. Files Needing Attention: extensions/easydict/CHANGELOG.md Important Files Changed
Prompt To Fix All With AI### Issue 1
extensions/easydict/CHANGELOG.md:3
**Hard-Coded Changelog Date**
This heading replaces the required `{PR_MERGE_DATE}` template with `2026-09-09`. The repository requires changelog headings to retain that placeholder so merge automation can populate the date, and this requirement must be satisfied before merging.
```suggestion
## [v3.2.0] - {PR_MERGE_DATE}
```
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (8): Last reviewed commit: "Update CHANGELOG.md" | Re-trigger Greptile |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
pernielsentikaer
left a comment
There was a problem hiding this comment.
Hi @maxchang3 👋
Thanks for the provider-management improvements 💪
The configuration-reset action in extensions/easydict/src/components/pages/ProviderManagementPage.tsx currently calls controller.update, which rejects invalid or unsupported saved data before the reset callback runs. This prevents recovery from the error screen.
Could you use saveAIProviderState for the confirmed reset, then reload the controller? For example, with the corresponding imports:
try {
await saveAIProviderState({
...createEmptyAIProviderState(),
migratedLegacyProviders: [...LEGACY_AI_PROVIDER_NAMES],
});
await controller.revalidate();
} catch (error) {
await showFailureToast(error, {
title: "Failed to Reset AI Provider Configuration",
});
}Please add regression coverage for malformed JSON, invalid configuration shapes, and unsupported versions.
I’ll convert this PR into a draft after submitting this review. Please press Ready for review when it’s ready and we’ll have a look 😊
|
Thanks for catching this! Fixed in b61f48a. Reset now uses a dedicated I also added regression tests for malformed JSON, invalid v1/v2 configuration shapes, and unsupported versions, verifying that invalid data is preserved until reset is confirmed and only then replaced with an empty configuration. |
pernielsentikaer
left a comment
There was a problem hiding this comment.
Looks good to me, approved 🔥
|
Published to the Raycast Store: |
|
🎉 🎉 🎉 We've rewarded your Raycast account with some credits. You will soon be able to exchange them for some swag. |
| @@ -1,11 +1,34 @@ | |||
| # `Easydict` Changelog | |||
|
|
|||
| ## [v3.2.0] - 2026-09-09 | |||
There was a problem hiding this comment.
This heading replaces the required {PR_MERGE_DATE} template with 2026-09-09. The repository requires changelog headings to retain that placeholder so merge automation can populate the date, and this requirement must be satisfied before merging.
| ## [v3.2.0] - 2026-09-09 | |
| ## [v3.2.0] - {PR_MERGE_DATE} |
Rule Used: What: Changelog entries must use {PR_MERGE_DATE}... (source)
Prompt To Fix With AI
This is a comment left during a code review.
Path: extensions/easydict/CHANGELOG.md
Line: 3
Comment:
**Hard-Coded Changelog Date**
This heading replaces the required `{PR_MERGE_DATE}` template with `2026-09-09`. The repository requires changelog headings to retain that placeholder so merge automation can populate the date, and this requirement must be satisfied before merging.
```suggestion
## [v3.2.0] - {PR_MERGE_DATE}
```
**Rule Used:** What: Changelog entries must use `{PR_MERGE_DATE}`... ([source](https://app.greptile.com/raycast/-/custom-context?memory=c2214c11-df56-490a-b1c0-09a385df481a))
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.* Update launchdarkly extension - Add Windows support to LaunchDarkly extension - [Color Picker] Fix grey color swatches for some color formats (#30936) - Update twitter extension (#30930) - Update chatgpt extension (#30945) - Update CODEOWNERs (242403b) - Add Windows support for Mozilla Firefox extension (#30285) - Update CODEOWNERs (5888116) - Update powertoys-tool-runner extension (#30937) - Update CODEOWNERs (988e550) - Capso: Initial release (#30596) - Update easydict extension (#30706) - Update CODEOWNERs (1b57711) - Update github extension (#30931) - [Clockify] Honor the project\'s billable default when creating time entries (#30927) - Add cached usage on open and configurable background refresh (#30925) - Update CODEOWNERs (3e513c4) - Add storage-benchmark extension (#30563) - Update CODEOWNERs (8b29f51) - [Day One] Support renamed CLI command (#30926) - Agent Usage: Antigravity quota when the app is closed (#30901) - Update CODEOWNERs (a6da092) - Add dated-folder extension (#30600) - [Google Cloud CLI] Add Cloud SQL (#30728) - Update CODEOWNERs (d2dc991) - Font Search: fix font preview in dark mode (#30923) - Clockify: fix requests being sent to an undefined workspace (#30894) - [Telegram] Fix bot messages showing as Unknown (migrate archived GramJS to teleproto) (#30836) - Agent Usage: apply saved provider order in the menu bar (#30902) - [Statamic Docs] Fix crash on launch in newer Raycast versions (#30921) - [UpNote] Fix special characters breaking note, notebook and tag actions (#30920) - Update CODEOWNERs (afdcfd0) - [Safari] Add New Window command (#30909) - Update CODEOWNERs (075336a) - Update twitter extension (#30905) - Update CODEOWNERs (2e9c66f) - Update speedtest extension (#30880) - Update Sunsama extension (#30899) - fix(browser-tabs): keep maximized windows maximized on Windows (#30908) - Update attio extension (#30910) - Downloads Manager: align shortcuts with Search Screenshots (#30912) - Update CODEOWNERs (97cd688) - Update attio extension (#30881) - Update CODEOWNERs (81d3f54) - Update weather extension (#30897) - [Telegram] Fix blank photo previews and Unknown message senders (#30835) - Add Xerox status OIDs (#30860) - Add Hermoso to Model Context Protocol Registry (#30907) - Fix Orc Pictures Windows copy and Store icon (#30893) - Update codex extension (#30898) - Update Window-Sizer extension (#30900) - Update CODEOWNERs (9ce2c3f) - Transfer OpenQR extension ownership to the OpenQR organisation (#30654) - Docs: update for the new API release - Update app-updates extension (#30868) - Update CODEOWNERs (98c565e) - Add ui-component-search extension (#30485) - Update CODEOWNERs (e5dfcbb) - Agent Usage: add OpenRouter credit balance (#30855) - Update launchdarkly extension (#30882) - Update CODEOWNERs (36ad63c) - Add load-bearing-reply extension (#30445) - Update brew extension (#30852) - Update CODEOWNERs (17dd4b2) - Update in the time zone extension (#30888) - Update CODEOWNERs (8bba2b9) - Add Orc Pictures extension (#30870) - docs: correct eight Keyboard.Shortcut.Common bindings against the shipped runtime (#30879) - Update CODEOWNERs (bbdee3a) - Clockify: fix project dropdown resetting selection and timer failing to start (#30877) - HackMD: Add workspace and profile browser actions (#30876) - launchdarkly: refresh store screenshots for the new UI - launchdarkly: final review fixes - launchdarkly: mock server covers projects, 404s and browser pages - launchdarkly: make Switch Project an action instead of a command - launchdarkly: update README and changelog for the new features - launchdarkly: extend mock server for new endpoints - launchdarkly: add Recent Changes and Switch Project commands - launchdarkly: rebuild flag list and details views - launchdarkly: add API client layer, typed endpoints and data hooks - launchdarkly: upgrade dependencies and migrate to ESLint flat config - launchdarkly: drop unsupported expand param and stale refetch - launchdarkly: fix targeting display * launchdarkly: declare Windows variants for custom shortcuts * Update extensions/launchdarkly/README.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update CHANGELOG.md --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: raycastbot <bot@raycast.com>
Description
🆕 Custom AI Providers
✨ New Features
AI-Generated Dictionary Entries
Chinese Stroke Order
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare located outside the metadata folder if they were not generated with our metadata tool