Repository navigation
Update kaset-control extension - #32562
danieltsam wants to merge 5 commits into
Conversation
- chore: exclude repository docs from the store publish - tune(player): settle artwork at 200px - tune(player): artwork 180px with headroom on the v2 renderer - chore: upgrade to @raycast/api 2.8.2 - refactor(player): labelled metadata rows, playing state in the progress row, art 240 - experiment(player): empty metadata labels to widen title/artist; backlog album search - refactor(player): artwork only in markdown, title/artist as metadata rows - fix(history): never log Kaset\'s Loading... placeholder track - fix(player): title/artist back in markdown (metadata truncates), recent limited to 5 - tune(player): settle artwork at 200px - tune(player): artwork 220px - tune(player): artwork 240px - tune(player): artwork 200px - tune(player): artwork 160px - tune(player): artwork 80px to clear the five metadata rows - docs: correct store framing (existing extension, contributor update) - refactor(player): artwork only in markdown, title/artist as metadata rows, fixed 120px art - feat(album): resolve album from YouTube Music search; store listing docs - docs(upstream): proposed Kaset album-byline patch and its limits - feat(player): recent list oldest-first so newest sits above now playing - feat(player): pushed Track Info view with spotify-style right-hand metadata - feat(player): spotify-style order - title, by artist, then artwork - fix(player): read artwork size per render so preference changes apply - feat(player): artwork size preference; record List.Item.Detail layout rule - fix(player): metadata sits below markdown in List.Item.Detail, shrink artwork to fit - feat(player): title as heading, artist as plain text below it - feat(player): drop rating row, status as tag, instant paint from cache snapshot - feat(player): compact detail pane, rating row; track Kaset source for album work - feat(player): recently played above now playing, selection pinned to the current track - fix(player): large title/artist text and record history only after a track ends - fix(player): live progress, title/artist/album pane, history from search, song durations - docs: update test plan for the detail-pane fix, merged search and background recorder - feat(search): merged source by default, background history recorder, revert name - fix(player): set isShowingDetail so the detail pane (art, progress) renders - docs: add manual test plan - fix: address review findings (YouTube URL, tsc errors, queue re-fetch, history recording) - docs: document the Player, queue, YouTube search and menu-bar options - feat(menu-bar): album-art icon, marquee title, idle hide and progress ring - feat(player): rebuild the Player screen with the queue and recent history - feat(search): source selector and queue actions in Play Song - feat(history): add recent-played log with LocalStorage backing - feat(search): add YouTube search module alongside YouTube Music - refactor: strip emoji from UI copy and add an emoji-free guard test - feat(queue): add queue command helpers with vitest harness - docs: add Player/queue/history design spec and implementation plan
|
Thank you for your contribution! 🎉 🔔 @Endiruslan 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/kaset-control"
FORK_URL="https://github.com/danieltsam/extensions.git"
EXTENSION_NAME="kaset-control"
REPO_NAME="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. |
[Medium impact] The PR appears safe to merge, with no new actionable issues found. SummaryRebuilds Now Playing around Kaset’s queue, adds combined YouTube search and background history, and updates menu bar controls.
Reviews (4) · Last reviewed commit: "chore: remove tests from the extension a..." · Reviewed by Greptile |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
- Only fall back to the cached player state while the live value is undefined - Menu bar records finished tracks instead of the playing one - History and album lookup retry once Kaset's placeholder resolves - Play Now stops when the row has left the queue instead of playing its slot - Qualify search row keys by source - Keep the published changelog entries
Replaying a song that is already in the history put it in both Now Playing and Recently Played. History is now filtered by the current track id, with tests.
0xdhrv
left a comment
There was a problem hiding this comment.
Hey @danieltsam 👋
Thanks for your contribution 🔥 Rebuilding Now Playing around Kaset's queue and recording history headlessly, so it no longer needs the menu bar, are both great additions. The isKasetRunning() guard means the background recorder never launches Kaset by itself.
@Endiruslan do you want to check this and approve if it looks good to you?
Here's everything I found in this pass:
Blocking
- Please remove the test files from the extension. Keep them in your own repo:
src/no-emoji.test.ts,src/utils/history.test.ts,src/utils/kaset.test.ts,src/utils/search.test.ts - Please remove the test tooling from
package.json, which is the"test": "vitest run"script (package.json:195) and thevitestdevDependency (package.json:188). Then regeneratepackage-lock.json.
Optional
- The Store screenshots still show the old Now Playing, so they no longer match what this PR ships. Retaking them with Window Capture would also fix two existing problems:
screenshot-01.pnghas the development glyph and a "Development" section, andscreenshot-03.pngis a menu bar crop rather than a Store screenshot.As mentioned in our docs here ↗
Feel free to reach me here or on Slack if anything is unclear.
Raycast does not allow test files or test tooling inside the extension, so the four test files, the vitest script and the vitest devDependency are gone and package-lock.json is regenerated. The Store screenshots are retaken with Capture Window to match the new Now Playing and Play Song.
|
all blocking fixes implemented :) |
Description
Reworks the extension around Kaset's queue AppleScript, and adds YouTube search plus a played history that does not depend on the menu bar.
Now Playing (rebuilt)
⌘Iopens a full-screen Track Info view.Play Song
History
Record Player Statecommand, so no menu bar item is required."Loading..."placeholder track is filtered out.Menu bar
Also
@raycast/api2.8.2.Screenshots
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare located outside of themetadatafolder