fix(spotify): PLUG-4710 unbreak searchArtists after Feb 2026 Web API changes - #111
Merged
Conversation
Contributor
📝 WalkthroughWalkthroughSpotify data stream definitions now set search result limits, simplify artist metadata, update pagination configuration for recently played and top tracks, and increment the plugin version to ChangesSpotify stream configuration
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
🧩 Plugin PR Summary📦 Modified Plugins
📋 Results
🔍 Validation Details✅
|
clarkd
approved these changes
Aug 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Spotify's Feb 2026 Web API overhaul (enforced for all Dev Mode apps since 9 Mar 2026) removed
popularityandfollowersfrom artist objects in/searchresponses, and cut the/searchlimitparameter from default 20 / max 50 down to default 5 / max 10.searchArtistsexplicitly mappedpopularityandfollowers.totalas typed, displayed metadata columns, so the stream came back blank/broken.searchTracksalready had defensive handling for the field removals, but neither stream pinnedlimit.Fixes PLUG-4710.
Changes
The fix
searchArtists.json— removed thefollowers.total("Followers") andpopularitymetadata mappings. The{"pattern": ".*"}catch-all stays, so tenants on legacy/Extended Quota access that still receive those fields keep seeing them — just untyped, rather than as broken declared columns.searchArtists.json/searchTracks.json— added an explicitlimit=10getArg so both streams return the new maximum instead of silently falling back to the new default of 5.metadata.json— 1.0.2 → 1.0.3 (patch: bug fix, no stream removed or renamed).Required to deploy at all
recentlyPlayed.json/topTracks.json— migrated the legacy flatpagingConfig_*keys to the current nestedpagingschema. Unrelated to PLUG-4710, but the current CLI validator rejects the old keys with 9 errors, so Spotify v1 could not be deployed by anyone until this was fixed. Same-semantics translation;pagingConfig_offset_base: 1was dead config under bothnoneandnextUrlmodes and is dropped.Deliberately not done
No post-request script was added to
searchArtists. The ticket suggested mirroringsearchTracks.js, but that script exists to stripavailable_markets, which artist objects don't carry — and deletingpopularity/followersin a script would discard data for tenants that legitimately still receive it. Per the plugin authoring guidance, a stream that doesn't need a script should stay onpathToDataalone.Testing
squaredup validatepasses. Deployed to the Les Bleus dev tenant as v1.0.3 (plugin-jhEuPXVFu725TekVbcb0).Follow-up
defaultContent/trendsTopItems.dash.jsondoesORDER BY popularity DESCagainsttopTracks. Trackpopularityis deprecated under the same Feb 2026 change, so that tile is likely affected too — out of scope here, worth its own ticket.🤖 Somewhat generated with Claude Code
Summary by CodeRabbit