') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); [API-167][API-229] Add user recommend tracks to sdk and fix urls for other explore endpoints by schottra · Pull Request #12381 · AudiusProject/apps · GitHub
Skip to content

[API-167][API-229] Add user recommend tracks to sdk and fix urls for other explore endpoints - #12381

Merged
schottra merged 2 commits into
mainfrom
explore-sdk-updates
Jun 23, 2025
Merged

[API-167][API-229] Add user recommend tracks to sdk and fix urls for other explore endpoints#12381
schottra merged 2 commits into
mainfrom
explore-sdk-updates

Conversation

@schottra

Copy link
Copy Markdown
Contributor

Description

Adds the /users/:userId/recommended-tracks endpoint to SDK
Also updates the URLs for the other two new explore endpoints to be kebab-case.

How Has This Been Tested?

N/A

@changeset-bot

changeset-botBot commented Jun 23, 2025

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 56fa8fd

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
NameType
@audius/sdkMinor
@audius/sdk-legacyPatch
@audius/sp-actionsPatch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@schottra
schottra enabled auto-merge (squash) June 23, 2025 17:25
@schottra
schottra merged commit 111beb0 into mainJun 23, 2025
@schottra
schottra deleted the explore-sdk-updates branch June 23, 2025 18:38
audius-infra pushed a commit that referenced this pull request Jun 24, 2025
[afb980f] Bulk fetch playlist tracks when indexing playlist updates (#12386) Randy Schott
[a457e43] Increase aao override score (#12383) Ray Jacobson
[111beb0] [API-167][API-229] Add user recommend tracks to sdk and fix urls for other explore endpoints (#12381) Randy Schott
isaacsolo pushed a commit that referenced this pull request Jun 24, 2025
[afb980f] Bulk fetch playlist tracks when indexing playlist updates (#12386) Randy Schott
[a457e43] Increase aao override score (#12383) Ray Jacobson
[111beb0] [API-167][API-229] Add user recommend tracks to sdk and fix urls for other explore endpoints (#12381) Randy Schott
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@schottra@rickyrombo@isaacsolo