Update media-converter extension#25836
Conversation
- Merge branch \'contributions/merge-1772070829108\' - Pull contributions - Update README for image prefs
|
Thank you for your contribution! 🎉 🔔 @llfmaia @wattmalsh @samuelkraft @glypse 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/media-converter"
FORK_URL="https://github.com/chihkang/raycast-extensions.git"
EXTENSION_NAME="media-converter"
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 10-15 business days. |
|
Hey @glypse, the PR is all set — would you mind reviewing it and letting me know if it meets your expectations? Feel free to leave any feedback! |
Greptile SummaryThis PR refactors image quality preferences from a single mixed preference to dedicated per-format preferences (JPG, WEBP, PNG, HEIC, TIFF, AVIF), eliminating the need for cross-format mapping heuristics. The implementation introduces Key improvements:
Code quality:
Confidence Score: 5/5
Important Files Changed
Last reviewed commit: c1b67db |
glypse
left a comment
There was a problem hiding this comment.
Here's a first quick batch of reviews, I still would like to have a good look at logic changes but no time for this right now.
| - Added `src/config/image-preferences.json` as the single source of truth for image preference metadata and value domains. | ||
| - Added `scripts/generate-image-preferences.mjs` to generate/check image preferences in `package.json`. |
There was a problem hiding this comment.
This should be moved to API Changes since it isn't user-facing.
extensions/media-converter/README.md
Outdated
| #### For Contributors | ||
|
|
||
| Image preference definitions are maintained in `src/config/image-preferences.json` and synced into `package.json`. | ||
|
|
||
| - Run `npm run generate:image-preferences` to write image preference entries into `package.json`. | ||
| - Run `npm run check:image-preferences` to verify `package.json` is in sync with `src/config/image-preferences.json`. | ||
|
|
There was a problem hiding this comment.
Move this to the very bottom of the README
| } | ||
| ], | ||
| "description": "Default quality preset used only when 'More Conversion Settings (Advanced)' is OFF." | ||
| }, |
There was a problem hiding this comment.
Didn't notice in previous PR: this should also have settings defaults for audio, then update all relevant logic.
|
@glypse |
|
@glypse |
glypse
left a comment
There was a problem hiding this comment.
This code isn't idiomatic but good enough to be merged for now. There will be a major rewrite in the future (switching the image conversion engine from FFmpeg to bundled-in sharp), but this is a good feature to give the users for now.
0xdhrv
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. |
- chore(hugeicons-ui):Update hugeicons-ui: bump @hugeicons/core-free-icons and @hugeicons/react - [Skills] Display Metadata from SKILL.md frontmatter (raycast#26101) - Update CODEOWNERs (c2c1e0d) - Add timely extension (raycast#25085) - Fix: copy prompt/answer for selected message (raycast#25438) - Update CODEOWNERs (46ecffc) - Update todoist extension (raycast#26087) - Dia: update @raycast/utils to 2.2.3 (raycast#26091) - Update CODEOWNERs (3503a64) - Add typewhisper extension (raycast#25733) - Update CODEOWNERs (5ea5ef7) - Add number-research extension (raycast#26060) - Update trustmrr extension (raycast#26085) - Update CODEOWNERs (40aabef) - Add desktoprenamer extension (raycast#24610) - Update tailwindcss extension (raycast#26067) - Update CODEOWNERs (7a13ffd) - Update time-awareness extension (raycast#25765) - Update CODEOWNERs (6c50032) - Update github-status extension (raycast#26063) - Update anna-s-archive extension (raycast#26076) - Update CODEOWNERs (46b879a) - Update shopify-developer-changelog extension (raycast#25711) - Update CODEOWNERs (22aa04d) - Update weather extension (raycast#26074) - Update kagi-news extension (raycast#25679) - Update (raycast#26073) - Update teak-raycast extension (raycast#25995) - otp-inbox: Add Windows support (raycast#25441) - Update CODEOWNERs (36e7a5f) - Add trustmrr extension (raycast#26069) - Update CODEOWNERs (d7c540c) - Add doubao-tts extension (raycast#25705) - GitHub: Improve auto-merge support (raycast#25256) - Update CODEOWNERs (9f556d5) - Update microsoft-edge extension add new feat to search and launch workspaces (raycast#25335) - Add RouteMesh MCP server to model-context-protocol-registry (raycast#25960) - feat: Add Advanced Batch Rename command with rule-based engine (raycast#25501) - Update media-converter extension (raycast#25836) - Update scheduler extension (raycast#26059) - Docs: Update the utils docs - [pipe-commands] Add data formatting utilities (raycast#25824) - Update CODEOWNERs (5b660b2) - Add hdri-library extension (raycast#25701) - Update CODEOWNERs (2ea8b9c) - Update ente-auth extension (raycast#25773) - Update CODEOWNERs (b9b9e2b) - Add grpcui extension (raycast#25697) - Update CODEOWNERs (1730346) - Update openrouter model search extension (raycast#26045) - System Monitor: Fix stale temperature readings in menubar (raycast#26025) - Update CODEOWNERs (4e3ff41) - Fix truncated row values in pass extension (raycast#25843) - Update CODEOWNERs (489aede) - Add quickreferences-raycast extension (raycast#23629) - Update CODEOWNERs (84a0a58) - Update cleanshotx extension (raycast#25985) - [ccusage] Hide "Usage Limits" details when using non-OAuth authentication (raycast#26009) - Browser Bookmarks: Add support for Perplexity Comet browser (raycast#25874) - Add Windows support (raycast#25882) - Update bmrks extension (raycast#25952) - Update CODEOWNERs (2faa166) - Update radarr extension (raycast#25953) - Update CODEOWNERs (d8b0e95) - Update google-chrome extension (raycast#25939) - Add PrusaConnect links to Prusa extension (raycast#25955) - Update CODEOWNERs (9f8c615) - Claude Code Launcher: Fix Ghostty PATH by using interactive shell (raycast#25976) - Update aave-search extension (raycast#26016) - uuid-generator: add Pack Type Id command (raycast#25800) - Update CODEOWNERs (39fe5d1) - [ccusage] Fix npx path resolution for fnm installs using XDG directories (raycast#26008) - fix(arc): prevent duplicate windows when Arc is not running (raycast#25806) - System Monitor: Add pin-to-display for menubar stats (raycast#25821) - Update CODEOWNERs (ec57b0b) - Add unified Wispr Flow extension (raycast#25218) - Update shadcn ui extension (raycast#26011) - Update CODEOWNERs (b354d33) - feat(gumroad): add price filter and copy actions (raycast#25703) - Update CODEOWNERs (134d6f9) - Add raycast-ai-custom-providers extension (raycast#25180) - Update CODEOWNERs (4accbb2) - Add zo-raycast extension (raycast#25464) - Update CODEOWNERs (227732f) - Add job-dojo extension (raycast#25677) - Update CODEOWNERs (eace185) - Add wallhaven extension (raycast#25656) - Update existing somafm extension: launch flow, refresh toasts, menu fallback (raycast#25187) - Update CODEOWNERs (d0f014f) - Add email-finder extension (raycast#24847) - Update cut-out extension (raycast#25990) - Update CODEOWNERs (1ef7a10) - Add cut-out extension (raycast#25663) - [Pokedex] Added support for Scarlet & Violet–style sprite artwork (raycast#25986) - Discogs extension new functions (raycast#25686) - Update nhk-program-search extension (raycast#25967) - Update kimi extension (raycast#25962) - Update CODEOWNERs (de246c1) - Update shiori-sh extension (raycast#25944) - fix(browser-bookmarks): fix slow initial load and open-in-browser reliability (raycast#25979) - Update CODEOWNERs (0ad09cd) - Add spacer extension (raycast#25652) - [zotero] Fix Zotero 7+ / Better BibTeX compatibility (raycast#25634) - Docs: update for the new API release - added ARM64 sdk support (raycast#25966) - Update CODEOWNERs (3051c01) - Add Bird extension (raycast#25481) - Update CODEOWNERs (7c4f8af) - Add Lock Time extension (raycast#25255) - Update CODEOWNERs (cdc0ceb) - Add paste-safely extension (raycast#25951) - Update CODEOWNERs (bd032c8) - Add polars-documentation-search extension (raycast#25589) - Update CODEOWNERs (564b0f2) - Add DevContainer Features extension (raycast#25603) - Update CODEOWNERs (2cdb8f6) - Update gift-stardew-valley extension (raycast#25552) - Update CODEOWNERs (f728891) - Update Inkdrop extension (raycast#25529) - Sourcegraph: Setup improvements (raycast#25950) - [Skills] Add support for updating skills (raycast#25887) - Update CODEOWNERs (cb956f6) - Add search repositories feature for Github for Enterprise (raycast#25661) - Fix/trakt manager user agent v2 (raycast#25825) - Update `CricketCast` extension - add menu bar for scores (raycast#25942) - Add Windows platform support to Goodreads extension (raycast#25936) - idonthavespotify: Add Qobuz, Bandcamp, Pandora support & fix crash on unknown adapters (raycast#25937) - Update singularityapp extension (raycast#25943) - Update raycast-surge extension (raycast#25883) - Update awork extension (raycast#25844) - Update extend-display extension (raycast#25894) - Update git-worktrees extension (raycast#25898) - [Image Modification] Fix QSpace / QSpace Pro selection detection (raycast#25923) - Update zeabur extension (raycast#25924) - Update vietnamese-calendar extension (raycast#25917) - [AzTU LMS] Fix Color & Add New Image (raycast#25912) - Update CODEOWNERs (c2aba2b) - Add Hop extension (raycast#25162) - [Music Assistant Controls]: Big update with many features (raycast#25860) - [MXroute] set mail hosting status + open webmail link (raycast#25895) - Update kitty extension (raycast#25856) - Update CODEOWNERs (b73dbee) - Addeed SDK implementation (raycast#25820) - Update CODEOWNERs (66857dc) - Add notilight-controller extension (raycast#25424) - Update raycast-store-updates extension (raycast#25865) - Update reader-mode extension (raycast#25872) - Update CODEOWNERs (f8eeb0d) - Update battery-optimizer extension (raycast#25509) - fix: show window icons on first load in window-walker extension (raycast#25871) - Update CODEOWNERs (7e705b7) - Update t3 chat extension (raycast#25803) - Update CODEOWNERs (19f337b) - Update modify-hash extension (raycast#25816) - Update CODEOWNERs (64e21d0) - Add `ZeroSSL` extension - list certificates, view + validate csr (raycast#25861) - [Cron Manager] Fix tasks disappearing from UI & permission handling (raycast#25845) - Update CODEOWNERs (abe1d59) - Add markdown-converter extension (raycast#24129) - Update betaseries extension (raycast#25842) - [Skills] Inline detail Panel (raycast#25658) - Update CODEOWNERs (f1bac6d) - Removed two extensions (raycast#25851) - Update CODEOWNERs (53db7b3) - Add shiori-sh extension (raycast#25757) - Docs: update for the new API release - feat(everything-search): allow custom cli arguments (raycast#24607) - Update CODEOWNERs (93ff0be) - Delete extensions/proton-pass-client directory (raycast#25841) - update (raycast#25840) - Update CODEOWNERs (d85419c) - Add kaneo-for-raycast extension (raycast#25461) - [Apple Reminders] Prevent accidental recurring reminders from AI (raycast#25746) - [Apple Notes] Fix AI tool note ID mismatch, timeout, and search filtering (raycast#25720) - fix: show window icons on first load in window-walker extension (raycast#25818) - [Namecheap] fix error when no domain dns hosts (raycast#25827) - Update youversion-suggest extension (raycast#25797)
Description
Implemented a follow-up to align image defaults with review feedback by replacing the single mixed image quality preference with per-format preferences(JPG/WEBP/PNG/HEIC/TIFF/AVIF).
Added image-preferences.json as the canonical source and generate-image-preferences.mjs to generate/check image preference entries in package.json, removing hard-coded drift risk.
Refactored getDefaultImageQuality() to resolve values strictly by OutputImageExtension with per-format validation and safe fallback to DEFAULT_QUALITIES.
Also updated README with contributor instructions for npm run generate:image-preferences and npm run check:image-preferences.
Screencast
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder