← Back to EQfluency Beta
Spotify testers
Native playback · Premium-aware
Spotify works on EQfluency via the official iOS SDK — the Spotify app does the actual playback in the background while EQfluency drives it. A few flows are Spotify-Premium-gated (Spotify's API restriction, not ours). Help us verify the Premium gates surface cleanly instead of failing silently.
Join the TestFlight →
Verify build 246 (paywall cleanup + redeem-code button)
Cross-service change — paywall lives in Settings regardless of music service.
- Settings → Premium → Pro pill. Pro benefits list now shows only "Remote Multiplayer" as the Plus-additive perk (the previous "Custom Themes" row was removed).
- New "Have a code? Redeem it here." button on the same paywall — Apple offer-code redemption sheet.
Verify build 244 (Musical Hangman registers in Play Stats + concert push cooldown)
Cross-service fixes — both work regardless of which music service you have connected.
- Play → Games → Musical Hangman → finish a round → Play → Profile shows Musical Hangman card with 1W or 1L. Overall + Solo rails update to match.
- Concert push cooldown (7d per artist) — applied server-side, no app change required. If you have artist subscriptions, tour announcements should no longer multi-push you over a few days.
Verify build 243 (Play Stats split by Solo / Multiplayer with W/L/Win%)
Cross-service feature — the Play stats surface is the same regardless of which music service you have connected.
- Storage was wiped: the aggregate Leaderboard reads "No wins yet" on first launch of 243. Profile stats card reads "No sessions yet" until you finish a game.
- Finish a solo round (any game) → Profile stats card shows Overall + Solo rails with matching W/L/% and a per-game card under "By Game" with no sub-rows.
- Pair another device and run a multi session → Profile gains a Multiplayer rail; the per-game card for that game expands with Solo + Multi sub-rows.
- Reset leaderboard → Profile stats drops back to "No sessions yet".
Verify build 242 (Share text auto-appends #ArtistName #EQfluency)
Every share path now appends an artist hashtag + app hashtag tail. Cross-service feature — works the same regardless of which music service you have connected.
- Pulse → Feed → share an article via any social row chip. The body should end with a blank line, then
#ArtistName #EQfluency. Capitalization preserved (Taylor Swift → #TaylorSwift).
- SMS / email / Copy paths from the same share sheet should carry the same hashtag tail.
- Share a Spotify-resolved song or album from Now Playing → tail reads
#ArtistName #EQfluency.
- Concert share, playlist share, game-result share: all carry at least
#EQfluency; artist-aware ones also include #Artist.
Verify build 241 (Official artist accounts on Artist Detail)
Drill into any well-known artist.
- New "Official accounts" section above hashtag rows with direct links to artist's verified Twitter, Instagram, YouTube, Threads, Vimeo, TikTok.
- Cross-service: this section works the same regardless of which music service you have connected — Wikidata sourcing isn't tied to Apple Music / Spotify / YT Music.
- Obscure artist (no Wikidata page) → only hashtag rows appear, header reads "Social".
Verify build 240 (Hangman hint reliability + 15s sample cap)
Direct relevance for Spotify-only testers — 239 likely showed both bugs.
- Get a Hint now shows "Looking up hint…" briefly while iTunes resolves the song/album title instead of going blank.
- Hear Sample no longer gets stuck on "Loading…" — 8-second iTunes timeout means the button always lands on a defined state (Playing or No Sample Found).
- Sample now plays exactly 15s (was previously the full ~30s).
Verify build 239 (Hangman hints work without Apple Music)
Direct relevance for Spotify-only testers.
- "Hear Sample" hint previously always ended at "No Sample Found" for you because the MusicKit fetch needed Apple Music auth. Switched to the public iTunes Search API — should play a real 30s preview now regardless of which service you have connected.
- "Get a Hint" text fallback uses the same iTunes source for song/album titles.
- Genre hint still comes first when artist metadata is available locally.
Verify build 238 (Hangman hint: real titles, not letter counts)
Play → Games → Musical Hangman.
- Hint button (after 3 wrong) now surfaces one of the artist's top song or album titles instead of the unhelpful "X letters, Y words" fallback.
- Genre still comes first when available; song → album → "(no hint)" is the new fallback chain.
- Hangman uses Apple Music catalog search regardless of your service for in-app data — no Spotify dependency here.
Verify build 237 (gray out notification toggles when iOS push is off)
Flip iOS Settings → Notifications → EQfluency between OFF and ON.
- OFF: per-artist Shows / Releases / Alerts icons gray out + refuse taps on the Artists list and inside Artist Detail. News stays interactive (it's a Feed filter, not push).
- Artist Detail footer changes to an explainer with an "Open iOS Settings" button.
- ON: no regression — everything works as before.
- Toggling iOS Settings without relaunch should update the gray-out state on next foreground.
Verify build 236 (Hangman: empty-state fix + opt-in hints)
Three Musical Hangman changes.
- Bug fix: with no Apple Music library, Musical Hangman used to drop into a broken game (empty word, every tap = wrong, "Game Over — It was:"). Now you get a "No artists to guess" empty state. Spotify-only testers: this is the path that affected you.
- Get a Hint after 3 wrong (was 2). Genre/letter-count revealed.
- Hear Sample after 4 wrong. 10-second clip of one of the artist's top songs via Apple Music preview — independent of your Spotify connection.
Verify build 235 (paywall tier toggle)
Settings → Premium — paywall now leads with a tier picker.
- Top: Plus / Pro pill toggle. Plus shows 4 benefits + 2 plan cards ($2.99/mo, $19.99/yr). Pro shows "Everything in Plus +" with Remote Multiplayer + Custom Themes, plus 2 plan cards ($5.99/mo, $44.99/yr).
- Annual card has a SAVE X% badge computed live from price values (~44% Plus / ~37% Pro).
- Subscribe button reads "Subscribe — $X.YY" with a gradient matching the selected tier. Free-trial copy is explicit on each card.
- Don't actually buy — sandbox/USA-only records.
Verify build 234 (Premium plans load)
Settings → Premium (paywall sheet).
- All 4 plans resolve with prices: Plus $2.99/mo · $19.99/yr · Pro $5.99/mo · $44.99/yr, each with a 1-week free trial.
- Before 234 the paywall would show empty because Swift was asking for stale product IDs.
- Don't actually complete a purchase — these are sandbox/USA-only test records.
Verify build 233 (Anonymous Analytics sheet readable)
Settings → Pulse → Data & Privacy → tap "Anonymous Analytics".
- The opt-in sheet should render on a deep purple-tinted dark background with readable white text. Before 233 it was white-on-white in light mode (issue #56).
- Easiest way to confirm: set your iPhone to LIGHT MODE before opening the sheet.
Verify build 232 (return to last tab on relaunch)
Pulse and Play now remember the last tab you were on across app launches.
- Open the app, switch to Pulse → Artists, force-quit (swipe up from app switcher), relaunch. Should land on Pulse → Artists.
- Same on Play: switch to Play → Mixtape, force-quit, relaunch. Should land on Play → Mixtape.
- Cross-side: while on Play → Leaderboard, force-quit + relaunch. Should land on Play side AND Leaderboard.
- Not yet persisted: nav-stack depth (drilling into Artist Detail → Setlists → setlist returns to Artists tab's root after quit).
Verify build 231 (eager bottom-bar collapse)
On Pulse, scroll the Feed (or any tab with a list).
- The 6-item bottom bar should collapse to the small leading pill + now-playing + side-switch layout on the very first scroll movement — not after 8pt of scroll like before.
- On a light Feed day, this lets you reach the "Show older articles" button at the bottom of the list; before, it was trapped under the expanded bar.
- Scroll back to the top and the full 6-item bar should re-expand. Tiny rubber-band wobble at the top should NOT spuriously re-expand.
Verify build 230 (Tracked section wired up)
Open More → My Stuff. The "Tracked" section had an empty hint promising tap-to-track from Feed / Releases / Mixtape — but no tap actually wired into it before 230.
- Feed: tap an artist badge on any article card. The artist should appear in My Stuff → Tracked.
- Releases: tap a track inside an inline release track list. The album (not the song) gets tracked.
- Mixtape: tap the play (preview) button on any song. The song gets tracked.
- Re-tapping the same item should NOT double-track.
- The × on each Tracked row still untracks.
Verify build 229 (non-disruptive launch + album track long-press)
Two small but visible behavior changes.
- Launching does NOT stop other music: start Spotify in the Spotify app, lock the phone, launch EQfluency. Spotify should keep playing. Browse Pulse / Play / Settings without ever playing in-app — Spotify should never be interrupted.
- First in-app play: after the previous test, tap any Top Songs row. First-play should work; may have a ~100–500ms initial buffer (one-shot per session).
- Album track long-press: Play → Games → Queue Music → Albums (Apple Music library only — Spotify testers without Apple Music will see this tab empty, expected). If you have any Apple Music library content, long-pressing a track in an album shows an Add to Queue / Play Next / Play Now context menu — no confirmation dialog needed.
Verify build 228 (Queue Music — Albums tab)
Play → Games → pick any game → Queue Music → tap the new Albums tab.
- Browse your Apple Music library albums in a 2-column grid — this tab reads from MusicKit, not Spotify. If you don't have Apple Music, the grid is empty (expected).
- Tap an album to see its full track list. Tap a track for Play Now / Play Next / Add to Queue. Album header has Play Album / Add Album shortcuts.
- If you're paired to an Apple TV, tracks route to the TV.
Verify build 224 (new setlist actions)
Open any artist → Setlists → expand a setlist.
- Three Spotify action buttons appear per setlist: Play Now, Queue, Playlist.
- Play Now → Spotify SDK resolves matched tracks and starts playback (Premium required for SDK control). If you're on Free, you should hit the "Premium required" sheet — not a silent failure.
- Queue → matched tracks append to your Spotify queue.
- Playlist → new Spotify playlist on your account. After it's created, the success modal also offers Play Now + Add to Queue for the fresh list.
Verify build 223 (tab bar redesign)
Scroll Feed, Artists, Releases, Shows, or any artist drill-down.
- Scroll-top: full 6-item menu, with the full Now Playing pill above it when a Spotify track is playing.
- Scroll down → menu collapses to two pills; mini player slides inline between them.
- Scroll back to top → menu + full Now Playing pill return.
- Long-press the player → "Clear Queue" appears. Tap → player disappears, queue empties.
- Track title in the mini player should match what Spotify is actually playing (the SDK is the source of truth — if you skip in the Spotify app, the title here updates).
Connect Spotify
- Install the Spotify app first if it isn't already.
- Pulse → More → Settings → Music Services → Connect Spotify. OAuth opens; sign in.
- If you have multiple Spotify accounts on the device, make sure the one with your library is the one signed into the Spotify app — the SDK plays for that account.
- The picker opens immediately while your library loads.
Playback flows to verify
- Tap any artist → Top Songs → tap a song. EQfluency should hand control to the Spotify app and start playing.
- Mini player + full Now Playing reflect the current Spotify track. Skip-forward in EQfluency advances Spotify.
- Tap an album in Artists → Albums. The "Play (Spotify)" button on a release card should launch playback into the Spotify app's player.
- Save button on the Now Playing sheet → adds the track to your Spotify library (Liked Songs).
- Now Playing scrubber is hidden for Spotify tracks (intentional — Spotify's SDK only ticks position on track change, so a moving scrubber would be misleading). Verify the bar still feels alive.
Spotify Premium required for some flows: playback control (play / pause / skip via the SDK) needs Premium. If you're on Free tier and tap play, you should see a friendly "Premium required" sheet — NOT a silent failure. Flag if you ever hit a dead button.
Per-artist drill-down
- Top Songs — playable (Premium required for SDK playback).
- Albums — merged grid with Apple Music albums if you have both connected. "Play (Spotify)" button on each release card.
- Releases — upcoming + recent.
- News / Shows / Setlists — service-agnostic, work the same as Apple Music users.
- Setlists — each expanded setlist now offers three Spotify actions: Play Now (resolves matched tracks and starts playback via Spotify SDK — Premium required), Queue (appends matched tracks to your Spotify queue), and Playlist (creates a Spotify playlist on your account; tap "Open in Spotify" to verify). After Playlist runs, the success modal also offers Play Now / Add to Queue for the fresh list.
Service-agnostic flows
- Feed: artist news, no Spotify dependency.
- Shows tab: location-aware concerts.
- Apple TV pairing for games (when applicable — Apple Music side covers playback on the TV).
What's limited on Spotify (by Spotify's API)
Top tracks / top artists / recently-played: Spotify gates these endpoints behind Premium since February 2026. Free-tier Spotify users see a Premium-required gate; Premium users see the data.
Spotify Radio / stations: no public API. Working as intended.
Music videos: Spotify doesn't expose a video catalog via API. The Music Videos page on artists won't show Spotify items.
Send feedback
- TestFlight → screenshot → "Send Beta Feedback" — easiest.
- Or email support@impostorsoftware.com.
- Especially helpful: if a Spotify action silently fails (no Premium sheet, no error), tell us which screen + which button. Those are the bugs we most want to catch this round.