[GH-ISSUE #56] Mod spicetify and soggfy not working together #54

Open
opened 2026-02-27 15:48:05 +03:00 by kerem · 1 comment
Owner

Originally created by @Masterload1975 on GitHub (Nov 3, 2022).
Original GitHub issue: https://github.com/Rafiuth/Soggfy/issues/56

I installed it with the readme manual install.

But cant get soggfy working with spicetify.

Originally created by @Masterload1975 on GitHub (Nov 3, 2022). Original GitHub issue: https://github.com/Rafiuth/Soggfy/issues/56 I installed it with the readme manual install. But cant get soggfy working with spicetify.
Author
Owner

@Rafiuth commented on GitHub (Nov 3, 2022):

Seems like Spicetify removes some html attributes which soggfy uses to find them. There are other UI issues that I don't feel like fixing right now, but in the mean time you can apply this patch in Soggfy.js to get it mostly working (untested with themes):

@@ -1531,10 +1531,10 @@ ${StatusIcons[info.status]}`;
         let kind = container.getAttribute("data-testid");
         let isPlaylist = ["enhanced-page", "playlist-page"].includes(kind);
         let isAlbum = kind === "album-page";
-        rows ??= container.querySelectorAll('div[data-testid="tracklist-row"]');
+        rows ??= container.querySelectorAll('div[data-testid="tracklist-row"], .main-trackList-trackListRow');
         for (let row of rows) {
             let albumName = isAlbum ? listTitle : row.querySelector('a[href^="/album"]')?.innerText;
-            let menuBtn = row.querySelector('[data-testid="more-button"]');
+            let menuBtn = row.querySelector('[data-testid="more-button"], .main-trackList-rowMoreButton');
             if (albumName == null || menuBtn == null)
                 continue;
             let extraProps = _utils__WEBPACK_IMPORTED_MODULE_3__["default"].getReactProps(row, menuBtn).menu.props;
@@ -1661,7 +1661,7 @@ class UI {
         bodyObs.observe(document.body, { childList: true, subtree: true });
     }
     addTopbarButtons() {
-        let fwdButton = document.querySelector("[data-testid='top-bar-forward-button']");
+        let fwdButton = document.querySelector("[data-testid='top-bar-forward-button'], .main-topBar-forward");
         let topbarContainer = fwdButton.parentElement;
         let buttonClass = fwdButton.classList[0];
         let div = document.createElement("div");
<!-- gh-comment-id:1302654233 --> @Rafiuth commented on GitHub (Nov 3, 2022): Seems like Spicetify removes some html attributes which soggfy uses to find them. There are other UI issues that I don't feel like fixing right now, but in the mean time you can apply this patch in `Soggfy.js` to get it mostly working (untested with themes): ```diff @@ -1531,10 +1531,10 @@ ${StatusIcons[info.status]}`; let kind = container.getAttribute("data-testid"); let isPlaylist = ["enhanced-page", "playlist-page"].includes(kind); let isAlbum = kind === "album-page"; - rows ??= container.querySelectorAll('div[data-testid="tracklist-row"]'); + rows ??= container.querySelectorAll('div[data-testid="tracklist-row"], .main-trackList-trackListRow'); for (let row of rows) { let albumName = isAlbum ? listTitle : row.querySelector('a[href^="/album"]')?.innerText; - let menuBtn = row.querySelector('[data-testid="more-button"]'); + let menuBtn = row.querySelector('[data-testid="more-button"], .main-trackList-rowMoreButton'); if (albumName == null || menuBtn == null) continue; let extraProps = _utils__WEBPACK_IMPORTED_MODULE_3__["default"].getReactProps(row, menuBtn).menu.props; @@ -1661,7 +1661,7 @@ class UI { bodyObs.observe(document.body, { childList: true, subtree: true }); } addTopbarButtons() { - let fwdButton = document.querySelector("[data-testid='top-bar-forward-button']"); + let fwdButton = document.querySelector("[data-testid='top-bar-forward-button'], .main-topBar-forward"); let topbarContainer = fwdButton.parentElement; let buttonClass = fwdButton.classList[0]; let div = document.createElement("div"); ```
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Soggfy#54
No description provided.