NewAudience Poll system - Admins can now create live multi-option polls from a new π Create Poll button in the sidebar (below Add Track). The creation overlay mirrors the Add Track style and includes: question, 2β6 answer options, configurable runtime (1β30 min or no limit), a Keep results visible to guests toggle, and a Show live results on Public Display toggle (shown only when Display is enabled). Polls are stored in settings/activePoll and broadcast to all connected pages in real time.
NewManage Poll overlay with live results - Once a poll is active the Create Poll button becomes Manage Poll. The management overlay shows animated vote bars with live counts and percentages, a countdown timer, and an action row. Active actions: End Poll Early and Show/Hide on Display. Ended actions: Broadcast to Display and New Poll. The overlay refreshes automatically as Firestore updates arrive.
NewPoll ended state with orange pulse - When a poll ends the sidebar badge transitions from purple Poll Active to an orange pulsing Poll Ended badge (@keyframes poll-ended-pulse) matching the existing CSS variable system. All editing actions are locked in the ended state. The admin can immediately start a new poll once they click New Poll.
NewPoll history in the Manage overlay - Ended polls are automatically archived to a pollHistory Firestore collection (question, options, votes, total, winner, timestamps). The last 5 archived polls appear in an expandable list at the bottom of the Manage overlay so admins can review past results without leaving the queue view.
NewBroadcast confirm prompt - When a poll ends and Display is enabled, a modal asks Broadcast final results to the Public Display? Choosing Broadcast sets displayBroadcast:true on the activePoll doc, triggering the display overlay. Choosing Skip dismisses it without broadcasting.
NewClient-side poll card with voting - When a poll is active, a live poll card appears above the song vote queue on Clientside.html. Before voting, options are plain buttons. After voting, animated percentage bars and counts appear. Each Firebase anonymous UID gets one vote per poll, enforced by a Firestore transaction. Optimistic UI with rollback on error.
NewEnded poll and Previous Poll on client - If Keep results visible was enabled, guests see a locked Final Results card (orange-tinted) after the poll closes, with the winning option marked π. When no poll is running, the most recently archived poll is shown in a dimmed Previous Poll card so guests can still see the last result.
NewPoll broadcast overlay on Display.html - A full-screen poll overlay appears on the public display when the admin enables Show on Display (live mode) or pushes final results (broadcast mode). Live mode shows animated vote bars and a countdown. Broadcast mode replaces the badge with π Final Results and highlights the winner in orange. The overlay hides automatically when neither flag is set, reverting to the normal Now Playing view.
FixPlayed button no longer auto-switches to History tab - Clicking the Played button on a request card now moves the track to history silently in the background. The admin stays on whichever tab (Queue or Up Next) was active. Previously clicking Played would jump the view to the History tab automatically.
FixDisplay.html fixed - Resolved rendering issues on the public Now Playing display.
ImpMusic Source and MusicBrainz Fallback moved to Settings drawer - The Music Source selector (iTunes / Deezer / Both) and MusicBrainz Fallback toggle have been moved from the left sidebar Autocomplete section into the Settings drawer under Source. The Autocomplete section in the sidebar now shows only the Mode selector. The MusicBrainz control is now an sd-switch consistent with all other drawer toggles.
RemDisplay button removed from top navigation - The Display button in the top nav bar has been removed. The display can be launched from the existing Display section in the Local Settings drawer, which already provided Panel and New Window launch options. Removing the duplicate top-nav button reduces toolbar clutter.