Skip to content

fix(loopyLoop): update progress bar selectors to use data-testid#3844

Open
frane0 wants to merge 1 commit into
spicetify:mainfrom
frane0:main
Open

fix(loopyLoop): update progress bar selectors to use data-testid#3844
frane0 wants to merge 1 commit into
spicetify:mainfrom
frane0:main

Conversation

@frane0
Copy link
Copy Markdown

@frane0 frane0 commented May 18, 2026

Spotify's recent UI updates removed the legacy .playback-bar and .playback-progressbar-container classes, causing the extension to fail silently. This commit replaces those class selectors with the persistent data-testid="playback-progressbar" attribute to restore context menu and UI injection functionality.

Summary by CodeRabbit

  • Bug Fixes
    • Improved reliability of playback progress bar detection to ensure consistent interaction handling across different UI states.

Review Change Stack

Spotify's recent UI updates removed the legacy .playback-bar and .playback-progressbar-container classes, causing the extension to fail silently. This commit replaces those class selectors with the persistent data-testid="playback-progressbar" attribute to restore context menu and UI injection functionality.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 18, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 49257cd8-4216-4dab-a84b-c730b4b9947a

📥 Commits

Reviewing files that changed from the base of the PR and between a1447c8 and 3dc0fe5.

📒 Files selected for processing (1)
  • Extensions/loopyLoop.js

📝 Walkthrough

Walkthrough

Extensions/loopyLoop.js migrates from legacy .playback-bar and .playback-progressbar-container DOM selectors to a unified data-testid="playback-progressbar" identifier. Three callsites are updated: the initial progressContainer lookup, the getBar() helper function, and the document contextmenu capture handler's progress-bar detection.

Changes

Playback Progress Bar DOM Selectors

Layer / File(s) Summary
Progress bar DOM selector migration
Extensions/loopyLoop.js
Three selector expressions are migrated from legacy class selectors to the data-testid="playback-progressbar" attribute: initial container lookup at line 10, getBar() function helper at line 19, and context-menu click-target detection at line 560.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • spicetify/cli#3724: Both PRs update Extensions/loopyLoop.js's progress-bar DOM querying and context-menu click positioning to match Spotify's restructured playback bar.
  • spicetify/cli#3771: Both PRs modify Extensions/loopyLoop.js to relocate playback progress bar detection and adjust getBar()/context-menu hit-detection logic at the same DOM-selection points.

Poem

🐰 Three selectors hop and bounce,
From class names old to testid proud,
The progress bar now easy to announce,
With data-testid crisp and loud! 🎵

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main change: updating progress bar selectors to use the data-testid attribute instead of legacy class selectors.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 and usage tips.

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