Skip to content

fix(scripts): reach every classmap surface in the deep CDP run - #3977

Merged
afonsojramos merged 2 commits into
v3-betafrom
feat/cdp-verify-surfaces
Sep 30, 2026
Merged

afonsojramos merged 2 commits into
v3-betafrom
feat/cdp-verify-surfaces

Conversation

@afonsojramos

Copy link
Copy Markdown
Member

Summary

  • Context menu: the step now waits for the menu to render, and it opens the menu on a track row in the main view. It used to check in the same tick it dispatched the event, and the first role="row" it found was a Your Library sidebar row.
  • Credits and embed: new steps open View credits and Share → Embed track from that menu. Spotify renders them as native <dialog> elements, which now count as open dialogs, and each step closes the previous one's dialog first.
  • Settings: opens through the account menu and waits for its sections. The old step pushed /preferences onto history, which changes the URL without rendering Settings, so its probes never saw a section.
  • Settings scroll: scrolls the whole page instead of jumping to the middle.
  • classmap-e2e.sh defaults: they pointed at 1020040, which chore(classmap): remove the pre-pipeline 1.2.38, 1.2.40 and 1.2.45 keys classmaps#19 removes, and wrote into the CLI checkout. The base classmap now defaults to the newest key, a stock BASE_SPA or BASE_CSS_DIR is required to migrate, and output goes to $TMPDIR/spicetify-classmap-e2e.

Menu labels are matched in English.

Verification

  • Live on an unpatched 1.3.1.234 client: 10/10 navigation steps succeed, and the run observes 32/36 leaves by stock class (previously 23/36 with 7/8 steps).
  • The four remaining leaves don't render on that build on macOS: the output-device Settings header, and the Encore chip-group classes, which no 1.3.1 page uses.
  • A new test checks which step outcomes count as navigation. All 43 classmap tooling tests pass, and oxlint and oxfmt are clean.

…he deep CDP run

Steps now wait for what they open. The menu opens on a main-view track row instead of a Your Library row, credits and embed open from it, Settings opens through the account menu because a pushed history entry doesn't render it, and native <dialog> elements count as open dialogs. On stock 1.3.1 the deep run observes 32/36 leaves with 10/10 steps, up from 23/36 and 7/8.
The previous defaults migrated from 1020040, which spicetify/classmaps no longer publishes, and wrote into the CLI checkout. The base now defaults to the newest key, BASE_SPA or BASE_CSS_DIR is required to migrate, and output goes to a temporary directory.
@coderabbitai

coderabbitai Bot commented Sep 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: spicetify/cli/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 87254fac-ca93-4a06-a739-728154552cb6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@afonsojramos
afonsojramos merged commit 1f9be4a into v3-beta Sep 30, 2026
3 checks passed
@afonsojramos
afonsojramos deleted the feat/cdp-verify-surfaces branch September 30, 2026 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant