← Back to Impostor Software
EQfluency Beta
Current build: 1.7.0 (251) · App Store submission: 251 ships the Apple-required EULA/Privacy links + permission-priming fix to clear the latest rejection · ready to resubmit
EQfluency is the music companion that splits in two — Pulse for artist news, releases, and concerts, and Play for music games with friends. We're in the final wave of TestFlight before we submit to the App Store, and we need real users to put it through its paces.
Join the TestFlight →
Install the TestFlight app first, then tap the button above.
Pick your music service to see what to test
What changed in this build (251)
Twenty-three fixes since 228.
- 251 — Apple App Review fixes + rejoin-active-game banner. (a) Subscription paywall now shows the selected product title + length + price, an auto-renewal disclosure block, and functional Terms of Use (EULA) + Privacy Policy links — required by guideline 3.1.2(a) and missing in the previous submission. (b) Permission-priming sheets in the tutorial flow now use "Continue" instead of "Enable [Permission]" as the CTA and no longer offer a "Maybe later" skip path before the system prompt (post-denial recovery flow keeps Open Settings + skip — Apple's guidance is specifically about the pre-prompt priming). (c) Beta-tester ask: when a hosted game is mid-round and you've dismissed the guess sheet (accidental swipe, app backgrounded), GamesView now shows a rejoin banner at the top so you can drop right back in without restarting the round.
- 250 — Album Cover Reveal is solo-only. Removed the multi-player entry points from every host surface (phone host control panel, TV games hub, Mac host view). Phone Games-tab solo flow remains; SOLO badge on the card title. Game logic + round-end leaderboard strip unchanged.
- 249 — Beta-tester feedback batch. Four player-facing improvements: (1) Music Video clips now start 8 seconds in — Apple's preview opens with a static title card that was giving the answer away; (2) Every guess commit (Bingo square tap, multiple-choice answer, typed artist, Team Quiz buzz) now plays a soft 70ms chime on your phone — in a room of phones you'll naturally hear the "click click click" of everyone playing which adds social pressure / excitement; (3) Album Reveal / Music Video / TV Themes / Mystery DJ / Mixtape Trivia round-end views now show gold/silver/bronze rank badges + a "YOU" highlight so you know exactly where you stand; (4) Music Bingo gains a new "Winners" picker in the theme lobby — pick Single Winner (first bingo wins, today's behavior) or Top 3 (1st = 3 pts, 2nd = 2 pts, 3rd = 1 pt; round keeps running until 3 players bingo or the song pool runs out).
- 248 — Music Bingo fix: filter MusicVideo entries out of song pools. macOS Bingo hosts saw "no theme is returning enough songs" because Apple's curated playlists ("Today's Hits", "Pop Throwbacks", "Rock Anthems"…) mix MusicVideo versions of songs alongside the audio Songs, and our pool builder counted both. Audio-only count was dropping below the 24-song deal threshold. Also: now walks all 10 search candidates instead of just the top one (Apple sometimes ranks a music-video-flavored playlist first), and refreshes existing pool caches so the fix takes effect immediately. iOS / iPadOS / tvOS hosts were less likely to hit this because their storefront returns fewer MVs, but the fix applies everywhere.
- 247 — Device-agnostic copy on Play-side host toggle. Replaced iPhone-specific labels with device-agnostic language so the iPad host experience reads correctly. "Host on this iPhone" → "Host on this device", matching changes across the headphones-mode card, Team Quiz blurb, grayed-game tooltip, and connected-peer count. Pure copy change, no behavior delta. Backend: usage tracker now stamps a `platform` field (ios / android / macos / tvos) so the admin dashboard can split installs per platform.
- 246 — Founder + family permanent Pro override (internal). Added an `OwnerEntitlement` static comp list of install UUIDs that get permanent .pro tier regardless of StoreKit state. No tester-visible behavior change. Reminder logged to strip the 5-tap dev override reveal once App Store approves the launch build.
- 245 — Paywall cleanup + redeem-code button. Dropped "Custom Themes" from Pro benefits (feature not on roadmap). New "Have a code? Redeem it here." button between Subscribe and Restore — opens Apple's offer-code redemption sheet so beta-tester thank-you codes can be applied without leaving the app.
- 244 — Musical Hangman registers in Play Stats + concert push cooldown. Hangman was missing from the GameLeaderboard enum entirely, so wins/losses never reached the stats pipeline. Now every Hangman round (win or lose) shows up on the Play → Profile stats card with Wins / Losses / Win %, on the aggregate Leaderboard tab, and in Game History. Backend: concert push notifications now respect a 7-day per-artist cooldown to fix "too many pushes for the same artist" — title also pivoted to "X is on tour · N dates" and the deep link lands on the per-artist Shows page so users can filter by location.
- 243 — Play Stats split by Solo / Multiplayer with W / L / Win%. Play → Profile stats card rebuilt with an Overall rail, Solo + Multi rails when applicable, and per-game cards (sorted by most-recently-played) that expand into Solo + Multi sub-rows when both modes have data. Win = top non-zero scorer; Loss = in the scoreboard but not the winner. Storage keys bumped to v2 — old leaderboard data is wiped on first launch of 243 (intentional fresh start).
- 242 — Share text auto-appends
#ArtistName #EQfluency. Every share path (Feed article, song, album, concert, etc.) now appends a per-artist hashtag plus the app hashtag at the bottom of the body, so posting to Twitter / Threads / Instagram / Bluesky / Mastodon picks them up as searchable tags. Capitalization preserved (Taylor Swift → #TaylorSwift, AC/DC → #ACDC). SMS / email / Copy paths get the same tail.
- 241 — Official artist account links on Artist Detail. New "Official accounts" section with direct links to the artist's verified Twitter / Instagram / YouTube / Threads / Vimeo / TikTok pages. Sourced from Wikidata, cached server-side for 30 days. Existing hashtag rows ("See what fans are saying") still appear below.
- 240 — Hangman hint reliability + 15s sample cap. First hint no longer renders blank if you tap Get a Hint before iTunes resolves — shows "Looking up hint…" placeholder. Audio sample no longer gets stuck on "Loading…" — added 8s iTunes timeout. Sample now plays 15s (was 30s).
- 239 — Hangman hints work without Apple Music. Audio sample + text title hints switched from MusicKit catalog to the public iTunes Search API. Spotify-only and YT-Music-only testers can now use both hints.
- 238 — Hangman hint: real titles, not letter counts. Musical Hangman's hint button (after 3 wrong) used to fall back to "X letters, Y words" when no genre metadata was available. Replaced with an Apple Music catalog lookup: hint now reads "One of their songs: Title" or falls back to an album title. (239 swaps the data source to iTunes Search for cross-service compatibility.)
- 237 — gray out notification toggles when iOS push is off. Per-artist Shows / Releases / Alerts toggles on Pulse → Artists and Artist Detail visually dim and refuse taps when iOS-level Notifications for EQfluency are off. News stays interactive (Feed filter, not push). Artist Detail surfaces an "Open iOS Settings" shortcut button when push is denied. Auto-refreshes on foreground.
- 236 — Musical Hangman: empty-state fix + opt-in hints. Bug fix: without an Apple Music library, the game used to land at "Game Over — It was:" with an empty artist. Now you get a "No artists to guess" empty state. Two new opt-in hint buttons: "Get a Hint" at 3 wrong guesses (text), "Hear Sample" at 4 wrong (plays a 10-second clip from one of the artist's top songs).
- 235 — paywall tier toggle. Settings → Premium leads with a Plus / Pro pill picker; below that, exactly 2 plan cards (Monthly / Annual) for the selected tier. Benefits list is tier-aware (Plus shows its 4 features; Pro shows "Everything in Plus +" with Remote Multiplayer + Custom Themes). Annual cards display a SAVE X% badge computed live from prices.
- 234 — Premium plans actually load. StoreKit was asking for old `socialsound_*` product IDs from before the LLC rebrand. The 4 ASC records were recreated with `_v2` IDs (Apple permanently tombstones deleted product IDs), and Swift now points at them. Settings → Premium resolves all 4 plans with prices and a 1-week free trial.
- 233 — Anonymous Analytics sheet readable. Settings → Pulse → Data & Privacy → "Anonymous Analytics" now renders on a deep purple-tinted dark background with white text. Before 233 the sheet was white-on-white in light mode (closes #56). Premium paywall was already fixed in an earlier build.
Earlier changes still apply:
- 232 — return to last tab on relaunch. Pulse and Play now remember which tab you were on across app launches. Switch to Pulse → Artists, force-quit, and you come back to Artists instead of Feed. (Side itself — Pulse vs Play — was already persistent.) Not yet: nav-stack depth within a tab.
- 231 — eager bottom-bar collapse. The Pulse 6-item bottom bar collapses on the first scroll movement (was 8pt of real scroll before). On a light Feed day, the "Show older articles" button at the bottom is finally reachable. Re-expands only when fully back at the top.
- 230 — Tracked section wired up. More → My Stuff → Tracked finally tracks. Tap an artist badge on a Feed article, a track inside a release on the Releases tab, or the play (preview) button on a song in your Mixtape, and the item shows up under Tracked. De-duped, dismiss with the × on each row.
- 229 — launching no longer kills other apps' music + album track long-press. Starting EQfluency while Apple Music / Spotify / YT Music is playing in another app no longer interrupts that audio. And in Play → Games → Queue Music → Albums, long-pressing a track in an album opens a quick Add to Queue / Play Next / Play Now menu — no confirmation dialog.
Plus everything from 228 still applies (Queue Music Albums tab) and 223–227 (scroll-collapse bar, setlist actions, multiplayer routing fixes, winner celebration, TV Theme Next Round).
How to send feedback
- Easiest — in TestFlight, take a screenshot and tap "Send Beta Feedback".
- Or email support@impostorsoftware.com directly.
- Include your device + iOS version. A 5-second video clip helps a lot if you can.