Release notes

What's New

What changed in each build we push out. Newest first.

One entry covers everything shipped since the previous entry, so a single entry may span several build numbers if builds went out back to back.

Surfaces: iPhone · iPad · Mac DJ (Catalyst) · Web guest (the PWA guests join from) · Backend (server-side, live for everyone the moment it deploys).

Updated 2026-08-04

v1.5.0 (Build 144)

Mac DJiPhoneiPadWeb guestBackend

Live Show

  • Intro and Outro boards to bookend the night. An Intro the room looks at while it fills, and an Outro that closes it — both full boards with their own modules and saved templates, not a scrim over whatever was underneath. Neither has a length: each holds the screen until you say otherwise. And the Outro stays last no matter how many songs guests add after you place it.
  • Reactions rise the way they do on a video call. They land big at the bottom, then shrink and fade the whole way up, so height reads as distance. The old version popped to full size, held it the entire flight and blinked out near the top — a busy moment looked like a wall of stickers. They arrive bolder now and still spend most of their life smaller than before, so they cost less over lyrics.
  • Ad skipping is yours to turn off. It stays on by default. Switched off, the show simply waits an ad out instead of clicking through it, and every cue point and intro-skip lands exactly where it did before — the part that recognises an ad is untouched, only the fast-forwarding stops.
  • Video previews stop when you close them. They could keep playing audio after the window was gone, sometimes several at once.
  • YouTube previews play again. Every preview was failing with "your browser can't play this video" — we'd been telling YouTube we were a desktop browser we aren't, and it sent back video the Mac app couldn't decode.

Party & Guests

  • Two parties can't be live at once any more. Starting or setting up a reservation while a party was running quietly left the first one going — guests still on it, still able to join and queue — on a code the app could no longer reach. Now it says so before you start, naming the party you'd be leaving behind.
  • A party left running can be ended from its own page. Previously the only way to end a party was from inside it, so one you'd walked away from was stuck: marked live, and refusing to be deleted until you ended it, which nothing could do.
  • A party that's over says it's over. Ended nights kept reading LIVE for up to a day and couldn't be deleted in that time. And a party happening right now no longer files itself under Past, where it read as something already finished.
  • Songs you add from the Jukebox are credited to you. The screen used to say "requested by Jukebox", naming the machinery instead of the DJ — while karaoke adds right beside it named you correctly. Spotify drops still say Spotify, which is a source rather than a mechanism.
  • The "In Rotation" badge lets go. Once a video had been added, its row stayed claimed for the rest of the session — through the song playing, through removing it — so nothing could be added again. It now clears when the video actually leaves the rotation.
  • Deleting from the queue sticks. A deleted row could stay on screen until something else in the party moved, which during a quiet stretch of the set could be a while.

Search & Catalog

  • Music Videos browses like Karaoke does. Themes and Genres are real drill-ins now, with the same back button and Add All you get on the karaoke side, and your place survives switching tabs. Every artist link lands on a full artist page — hero image, genres, fans-also-sing, whole catalog — instead of a single stranded row.
  • Artists have covers. Roughly half the artists a DJ landed on showed a grey slab. Measured across 80 artists from real searches, coverage went from 49% to 99%: artwork now comes from the music catalog you're actually browsing, collaboration credits resolve, nearly 800 stale image links were repaired, and a broken first choice falls through to the next candidate instead of giving up.
  • Better music-video matches. Matching a Spotify track to a video now prefers the artist's own upload, which duration alone could never separate from a lyric reupload of the same song.
  • Turning a channel off turns its videos off. Disabling a channel left all of its videos searchable and playable. It also unwedges the catalog's dead-video sweep, which a wiped channel had been stopping about two-thirds of the way through every run.

Behind the Scenes

  • The night planner asks what you play before it plans. Pick genres, then artists within them, then describe the rest — either answer alone is enough to build from. Your picked genres are a hard limit on everything it chooses, so a country night can't be handed a block of something else, and artists you name are guaranteed a slot in a block they actually fit. Genre information now comes from song-level data, which fixes a long tail of artists filed under a genre they've never recorded in.

v1.5.0 (Builds 139–143)

Mac DJiPhoneiPadWeb guestBackend

Live Show

  • Trivia rounds, photo slideshows and raffles are lineup rows now. Drop one anywhere in the running order, the same way you drop a song. When the rotation reaches it the show starts it on its own, runs it, and moves on — a trivia set plays every question unattended and posts final scores, a slideshow holds the room for about four minutes, a raffle draws. You can still step or skip any of it by hand. Several can sit in one lineup.
  • Smart Shuffle deals every kind of row. The re-mix used to know only songs and videos, and froze trivia and slideshow rows wherever you first dropped them. Breaks now take part — spaced at an interval rather than mixed into the ratio, because a break is an event and not bulk.
  • A break is drawn over the picture instead of replacing it. Starting an intermission used to cut the TV to the info board a beat before the break card arrived, so the room lost what it was watching twice. The card now lays over whatever is on screen. With "pause the show" off, the song genuinely keeps playing underneath — it used to stop dead at the end of that track and leave a black frame behind the card.
  • The break card reads on a real TV. The dimming behind it was so slight at a distance that the card competed with the picture. It is much darker now — still see-through, so a break still reads as "back shortly" rather than "the show died".
  • A break that can't run no longer freezes the room. A queued slideshow with no photos in it used to leave the TV on the paused last frame of the previous song, for minutes, then skip the row as if it had never existed. It puts the board up and carries on.
  • Every kind of row has one owner from cue to clear. A trivia round handing over to a music video could show the room four different boards in a row, including one saying "waiting for songs…" mid-set. Hand-offs are now described in one place rather than as a two-way karaoke-or-video question answered separately in four, which is what made every new kind of row inherit the wrong default quietly.
  • The console's transport controls whatever is actually holding the room. With a trivia round on air, Next did nothing, every row's play button did nothing, and the TV could stay on the quiz board for the rest of the night. Go to End answered "already at the end" about the song frozen underneath. Pause stopped the round but not the clock timing it. The now-playing card sat on a play button that un-froze a song nobody could see. All of it now points at the round.
  • Wide-screen videos are letterboxed, not cropped. The show assumed every upload was 16:9, so a cinematic 2.39:1 master had its sides cut off.
  • Reactions float over whatever is on screen. Guest emoji used to be limited to moments the show had a page of its own to draw on; there is now a permanent transparent layer above the video, so the room can cheer at anything. As a side effect a stray mouse-over can no longer make a video flash its progress bar on the TV.
  • A song you force-play loads behind the standby card instead of letting the room watch a bare web page paint and resize.
  • Where a video ends is measured once, for everybody. Rather than each DJ's Mac working out where a video's end screen or trailing silence begins, it is measured once and shared, and the lineup names the playback window on the row.

Party & Guests

  • Describe your gig in a sentence and get a running order back. Tell it "50th birthday for Maria, she loves Motown" and it drafts the night: a themed board, a karaoke lane, a music-video lane, a slideshow break in position, a do-not-play filter, and a short list of the things only the client can tell you. Everything is editable — it is a starting point, not a decision.
  • Building a future party keeps what you built. "Rehearse This Party" was the wrong verb: it opened the real console and then threw the entire night away when you left. It is "Set Up" now, and the lineup, trivia rounds, slideshow breaks, raffle and client photos are all still there when you come back.
  • The camera is in the top bar. Snapping a party photo meant navigating to the Guests tab first, which is two taps too many for something that stops existing while you navigate. One tap, from any tab, straight into the party slideshow — no tray and no caption prompt, because anything that stops to ask has already lost the moment.
  • Your own second phone can get into your own party. A DJ's spare device is adopted as a co-host so the Show Remote works, and then the setup screen locked out that exact device.
  • Client photos come straight off your Mac. Pick loose images, a zip, or drag them from Finder. This replaces the old share-link integrations for iCloud Shared Albums, Dropbox and Google Drive — which between them never supported Google Photos, the one link DJs actually pasted.
  • Trivia sets have a home without signing in. Your library is keyed to the machine you gig with; signing in is how it stops being tied to that machine. There is also an app-owned catalog of ready-made sets — 40 categories — that every DJ can copy from, and one way in to making a new set instead of two competing buttons.
  • Raffle setups have a library too, so the prizes you run every Thursday survive quitting the app instead of being retyped every Thursday.
  • The trivia board can be read and scanned from the back of the room. The join QR is three times bigger, the question and its A/B/C/D badges now use a font no board theme overrides — in a script theme, "A" versus "B" was close to a coin flip — and the answers and headings are larger.
  • The idle board no longer claims someone is singing nothing. It used to fall back to "Now Singing / waiting for songs…" whenever nothing was on air, which names a kind of performance the next row may not even be.

Search & Catalog

  • Song search is powered by Apple Music. Apple silently dropped the browser permissions on the old search service, which broke every search made from a browser while server-side ones kept working — an asymmetry that is why guests' search failures went undiagnosed for about a year. That is now fixed at the root, and every surface uses one catalog with a server-side fallback if Apple ever does it again.
  • A music video is named by its song, not by its upload title. A themed playlist pick used to land as "TOTO - Africa (Official 4K Video) — TotoVEVO" next to karaoke rows reading "Africa — TOTO".

After the Party

  • The 14-day promise is now true of everything, not just most things. A party and everything about it was always meant to be deleted a fortnight after the night. One internal record — the one the keepsake recap is built from — had never been given a deleter and was holding guest names and messages indefinitely, and the trivia scoreboards kept a raw device identifier with no expiry. Both are now emptied of people on schedule. The privacy policy has been updated to describe the one thing deliberately kept: a de-identified record of how a party was structured, with names, contact details, venue and photos stripped before it is stored, used to make party planning better.

Interface

  • Saved queues sit next to the queue they came from. Saving a night is now a snapshot of the lineup you already arranged — including its trivia rounds, slideshows and raffles — instead of a sticky mode you had to switch on, add songs into one at a time, and remember to switch off. Load it again next week.
  • A lineup row says what it is on one line. "Africa - Toto", "Trivia - 80s Night" — both kinds of row take the same shape, so the lineup scans as one running order. Cue times moved onto their own line where they read as measurements rather than stray numbers, and a row can open its own console.
  • The Show tab's destinations are visibly wired to Show, with a cable that slews across to whichever one you pick, so they no longer read as an unrelated second switch.
  • The raffle console matches every other panel, which it did not before.
  • Small print is bigger everywhere. The app is read at arm's length in a dark room, and the system's smallest text sits below that floor. Raised at the source, so it stays fixed.
  • Tall windows scroll on Mac again. Sign In and About did not respond to two-finger scrolling at all — an Apple bug, confirmed against a standalone test app containing none of our code, and worked around.
  • Mac panes stay in their own lane. Content could paint straight across a divider and over its neighbour, and the queue pane could be squeezed narrower than the meters inside it.
  • The on-air row's kind — Karaoke, Music Video, Trivia, Slideshow — is legible again. It was the faintest thing on the card that names what the room is watching.
  • Queue diagnostics moved into their own window on Mac, out of the pane where you are actually working, and the intro-cue readouts now sit behind the debug toggle where they belong.

Reliability

  • Signing out will not wipe a device whose backup did not land. Sign-out promised your data was safe and then cleared it whether or not the final upload succeeded — which on a venue's Wi-Fi it often had not. A failed backup now stops, with nothing cleared and you still signed in.
  • You stay signed in. Sessions were timed by account role, which logged admins out of the app mid-gig while protecting nothing, since the app cannot reach an admin endpoint at all. Short sessions now apply only where they matter.
  • Signing in with Google no longer launches a second copy of the app on Mac, which used to leave two instances sharing one set of your data.
  • A five-hour gig uses less memory, and slots that crash and silently reload mid-show are now reported rather than leaving no trace but a Mac near its ceiling.
  • A QR scanned off a board goes to the right place — a locally-run board used to send phones into the live production site.

Behind the Scenes

  • The app asks what a device can do, not what it was compiled as. iPhone, iPad and Mac ship from one binary, and the code asked "which platform am I" when the question it meant was "can this surface run the TV show, join someone else's party, download a video". Fewer wrong answers on iPad in particular.
  • Prod can be rebuilt on another host. The server can be captured as a portable bundle rather than depending on a provider whose backups only restore onto its own hardware.

v1.5.0 (Builds 132–138)

Mac DJiPhoneiPadWeb guestBackend

Live Show

  • Karaoke songs and music videos are now one lineup. You no longer pick between a karaoke night and a video night and give up the other catalog to do it. There is one running order, each row saying which kind it is, and the console searches both. Dragging a song ahead of a video now sticks — the order is remembered rather than re-derived every few seconds, so a move you make stays made.
  • Smart Shuffle re-deals the up-next. One button re-mixes everything still waiting at a ratio you choose — two videos for every song, say — leaving whatever is on air exactly where it is. Optional randomising; by default it keeps the fair rotation that stops one person hogging the mic.
  • Each hand-off is paced by the song that is ending. A karaoke track plays out a long instrumental outro under the board; a music video just stops. Timing used to be decided once for the whole night, so in a mixed lineup every video was paced as though it had a karaoke outro. Now every transition reads the item it is actually ending.
  • Dead air at the end of a video is measured, not guessed. Plenty of karaoke tracks end on several seconds of silence, and uploads with no end screen played that silence out under the board. The show now finds where the audio really stops and cuts there. Measured across a random sample of karaoke channels, every one had a silent tail worth trimming — a couple of seconds up to fourteen.
  • A video rotation keeps itself going. When the last queued video is on air, the rotation adds a related one and walks forward from there instead of parking the TV on the info board. It draws on YouTube's music-mix rather than its autoplay: signed out, autoplay for "Never Gonna Give You Up" offered drone footage and Judge Judy, while the mix returned a-ha, Hall & Oates, Blondie and Queen. There is a "Radio" toggle and a "More Like This" pane fed by the same picks. One video is pulled at a time, so a guest's request always lands next rather than queueing behind twenty robot choices.
  • Level Match lifts songs that arrive too quiet. YouTube only ever turns loud tracks down, never quiet ones up, so an under-mastered upload sat several decibels below everything around it all night. One switch — the same one that arms the safety limiter — now sets a single constant boost per song, measured from where the music actually starts rather than from the cut, so a long spoken intro can't fool it. A correctly-mastered show is left alone.
  • The TV says it is waiting instead of showing a poster. The holding screen before the first cut was a full-screen still, which a room can't tell apart from a hung show. It is now a spinner and a line of copy, sized off the screen so it reads from the back of the venue.
  • The between-songs board stops naming the wrong singer. For a second or two during a hand-off the board would jump forward and announce the singer after next. It now pins itself to the person it announced and holds there until the video takes the screen.
  • Sensible between-songs timing on a fresh install. The shipped defaults assumed you had music to play underneath the board, so a brand-new install — with an empty music library — got forty seconds of silent board between songs, which reads as a broken show. Defaults are now tight enough to need no bed. Existing installs keep whatever you set.
  • The board rearranges itself per item. Songs and videos can have their own arrangements now, and the board switches between them as the lineup walks through both, without reloading the page in front of the room.
  • "Clear" clears everything. On a mixed night it emptied the songs and left every video sitting in the rotation.
  • Blocking or removing a guest now takes their videos too. Their karaoke songs went; their videos kept playing for the rest of the night. That is precisely what the block exists to prevent.
  • Jump-to-play is back in the lineup, and it now removes the item that was actually on air instead of whatever happened to be at the top of a list.
  • Video start-points sit on the lineup rows where the videos are, and scan themselves as soon as something is queued rather than waiting for you to find and press a button.
  • The lineup shows up straight away. It used to stay stubbornly empty until you pressed Show Board, then dump the whole backlog at once.

Party & Guests

  • Reactions float over the video, not just over the board. Cheers only ever appeared between songs — exactly the moment nobody was singing. They now rain over the karaoke video itself, down the outer edges so the middle stays clear for lyrics, with the sender's name along for the ride.
  • The reactions dock leads with the reactions. It starts tucked away, but the tab now peeks the first three emoji behind a soft glow instead of a bare chevron nobody opened. Taps are capped at three a second so one guest mashing a button can't spray every phone in the room. The leaderboard, Karaoke Roulette and awards buttons have come off the dock's right end while a new icon set is drawn — Mac hosts still have the rotation toggle under Show on TV.
  • An age question, and nothing collected from under-13s. Parties are family events, so kids come to them. Everyone is now asked their age once — neutrally, with nothing pre-selected — and anyone who answers under 13 joins and queues songs exactly like everyone else, while their photo, last name, notifications, analytics and recap appearance are simply never collected. Where something is withheld it says so rather than silently vanishing. Accounts remain 13-and-over, since an account is an email address.
  • Raffle entry is earned, not automatic. Joining the party no longer enters you; taking part does. Guests can see their own standing — in the pool or not, and what to do about it — and winners claim at the booth.
  • Every video night gets the party features. The web guest's separate video screen has folded into Search as a tab, which means reactions, the soundboard, cheers, Karaoke Roulette and post-song awards — all of which only ever existed on the karaoke surface — now work on a video night too.
  • A music video no longer says someone is singing it. The TV framed videos as "Now Singing" over the requesting guest's name, live pulse and selfie. Videos read "Now Playing / Requested by" instead.
  • "Delay me" works when you're the only one queued. It had nothing to swap with and quietly did nothing, at the exact moment someone is asking for a minute. On a mixed night it now yields the turn so a video plays instead, and tells the guest which of the three things happened.
  • A guest's delete button that reported success and removed nothing now finds the item wherever it lives, or honestly says it isn't there.

Search & Catalog

  • Jukebox is now called Music Videos everywhere — app, TV boards, guest web, recap.
  • Music Videos has Genres, browsing the same genre tree the karaoke catalog uses and resolving each pick to the real music video when you tap it. On the Mac console, the guest app and the web guest.
  • Music Videos Themes matches the karaoke Themes tab, and the artist page is now a real artist page — full-width hero, name, song count — rather than a cramped strip with the "fans also sing" faces cut in half.
  • Add All on a themed playlist, karaoke or video. A curated set is assembled to be played end to end, so taking the whole thing is one gesture rather than thirty taps. Host and solo only.
  • The Genres list went from 344 entries to 91. Genres arrive as freeform user tags, so the page was full of things that aren't genres — "Havetohaveband", "Marseille", "Cellist", "27 Club". The old defence was a hand-written list of junk to delete, which every sync outgrew. It is now a curated musical vocabulary instead, and anything outside it is rejected without anyone having to name it. Unrecognised compounds roll up to the parent style they name, so "Norteño-sax", "Alt-country" and "Symphonic Death Metal" survive rather than being swept away with the junk — 144 real genres rescued that way.
  • Drop a playlist anywhere on the search pane. There is no seed box to find: the tab you drop on decides what you get, so the same Spotify playlist becomes karaoke tracks on one tab and music videos on the other. You can also paste a playlist or video link straight into the search field. A clean drop says nothing; one that came up short tells you how many and names the first few, and now distinguishes "capped", "unavailable" and "no match" — only some of those are worth acting on.
  • Playlist imports go to 200 videos, up from 100 — and the cap notice used to fire whenever *any* video was missing for any reason, blaming the cap for dead links.
  • Searching for videos no longer costs you the karaoke catalog. One search pane with a Karaoke / Music Videos switch, and switching between them stops wiping what you had typed and found.

Interface

  • The app is now TesseractDJ. New name across every surface, a new neon icon, and brand colours that follow it from orange and pink to magenta and blue. The install links, party links and recap pages you already have are all unchanged.
  • The Mac build installs by dragging. The download now opens the conventional window with the app on one side and Applications on the other.
  • One app colour instead of six themes. The App Theme picker offered six presets; it is gone and everything is purple, which is what almost every install was already set to.
  • Resuming a party no longer flashes the console for a beat before the standby screen catches up.
  • The on-air chip moved into the panel header, so what the TV is doing is visible from every tab rather than only the Show tab.
  • The raw video URL on the Live Deck is now behind Show Debug Helpers, where the rest of the transition diagnostics already were. It's a checking-a-cut tool, not something to look at all night.
  • The three Mac console panes share one minimum width, so the Show on TV panel can no longer be squeezed to two-thirds of what its neighbours allow.
  • Queue rows dropped the coloured stripe on the leading edge. It restated what the singer's avatar already said and read as row chrome rather than as attribution.
  • The default DJ name is TesseractDJ rather than a bare "Host".

Reliability

  • Video lookups run on the DJ's Mac, not the server. What YouTube rates is the address making the request, and one server address serving every gig is a worse one to be than a DJ's home connection. Playlist expansion, video search and intro detection now run locally with the server as fallback — which also means intro-skip detection actually fires, having been effectively blocked server-side since it shipped. For a gig running off a phone hotspot, where bandwidth is the constraint instead, there is a per-party switch to send the work back to the server mid-gig with no restart.
  • The VU meters read the room again. They were referenced to a level taken from two quiet passages, so ordinary program material pegged the needles and every chorus drove past the end of the face.
  • New-User Test really resets now, wiping the video tools and cache so a relaunch re-runs first-time setup the way a fresh install would.
  • Support's view of a busy night is accurate. A forty-video party reported itself as a handful of songs, which reads as "quiet" when it is the opposite.

Behind the Scenes

  • Every server config file this project depends on is now diffed against the live copy before a deploy, after several drifted silently for weeks.
  • An internal reference of every outside service the product depends on, what each is used for and how it fails, so an outage is diagnosed rather than guessed at.

v1.5.0 (Builds 127–131)

Mac DJiPhoneiPadWeb guestBackend

Live Show

  • Cutting to a board no longer silences the room. Both "Cut to Info Board" and the Intermission break used to freeze the on-air video, so changing the picture meant a dead PA. Neither is a scene change — they're overlays — so the song now plays on underneath, audible, while the rotation stays held.
  • Intermission keeps the hard break as an opt-in. "Pause the show" is off by default; when you turn it on it ramps the song down rather than chopping it mid-waveform, and ramps back on every way out. It's disabled in Song Requests, where there's no rotation to pause.
  • A QR overlay can be thrown up on the TV over anything. It's drawn above whatever slot is live — a song, a board, a slideshow — so guests can join without you cutting away from the show.
  • Jukebox videos cue past talking intros. Skits, stories and film-style cold opens were dropping the room for 20–60 seconds at every handoff. Videos now carry a start offset. Confident marks are applied to the lineup automatically; anything less certain is only ever offered to you, because clipping the first bar is a worse failure than not skipping at all.
  • Analog VU meters above the now-playing card in both the karaoke Live Deck and the jukebox On-Air section, switchable between the input feeding the show and the output going to the PA. They read against a peak limiter that catches the overs the effects chain itself adds — reverb tails, pitch shift, a plugin. An automatic loudness ride shipped alongside them mid-week and was pulled back out: YouTube's player already normalizes to its own reference, so riding it again only made the show quieter than the same songs played anywhere else.
  • An Audio Unit plugin rack with four inserts, plugin editor windows and saved presets, off until you switch it on in Mac settings — scanning the installed plugins spins up every one of them, and that cost was being paid at every show start whether or not the rack was used.
  • The between-songs music bed knows the difference between a genuine gap and a board overlay, so it won't start a second piece of music over a song that's still playing.
  • "Jump to end" lands 10 seconds before the singing ends, not at the end of the file, so you're not seeking into a silent outro.

Party & Guests

  • A party no longer freezes when your screen goes off. Guests who locked their phone would wake to a live-looking party stuck where they left it, with no way back but rejoining by hand. The connection is now rebuilt on resume whenever it isn't demonstrably carrying traffic.
  • One bad network blip no longer ejects a guest. A single failed check used to both kick a guest out and forget the party code, taking one-tap rejoin down with it. It now takes two failures in a row, re-checked within seconds.
  • "Didn't find it? Send it to the DJ." When a guest's search comes up empty they can hand the raw text straight to you. Asks arrive in a drawer docked under the Mac queue, and tapping one hands the text to the YouTube search.
  • The guest tab strip fades at the edge when there are more tabs than fit, so it's obvious there's more to scroll to, and every mode now names itself instead of opening onto a bare "Search".

Search & Catalog

  • Search YouTube directly from the karaoke Search pane. A "Find in YouTube" toggle flips the query from our catalog to a live YouTube karaoke search. Tapping a result opens a muted scrub-to-confirm preview so you can check it's the right version and the right key before "Add to Queue" drops it into the ordinary karaoke queue. (Mac DJ.)
  • Titles wrapped in decorative note symbols (♫ ♪) now import. One channel wrapped every title that way and only 11 of its 944 videos had made it in.
  • One channel's titles turned out to be "Song – Artist" about 98% of the time, not "Artist – Song" as assumed; 5,841 videos had their song and artist corrected.
  • Trailing hashtag runs ("#karaoke #lyricvideo") are stripped before parsing instead of ending up in the artist name.
  • Channel discovery now checks sample song titles for non-target-language content, not just the channel's name — a review of the pending backlog found 20 channels with generic names hiding content we don't carry, and 13 more were cleared out with no false positives.
  • Tagalog contractions are cased correctly now — "Sayo'y", not "Sayo'Y".

After the Party

  • Party recaps. Every finished party gets a self-contained keepsake page — setlist, timeline, trivia results, guests, shout-outs and photos — rendered the next morning at its own private link, ready to send to the client.
  • Trivia leaderboards, per-question answer breakdowns, who *requested* each song (not just who played it), real song durations and reactions are all recorded now. Parties are also archived every 10 minutes, so a recap survives a host who closes the laptop without pressing End Party.

Interface

  • Mac reclaims about 50pt of window height. The Queue, Jukebox lineup and DJ Requests panes drop their header bars, and the queue's Clear action moves into the "Up Next" section header. iPhone and iPad keep their navigation bars.
  • The jukebox on-air status card sits back under the now-playing card it describes, and the seek row moves off the transport card.

Behind the Scenes

  • The Mac app installs and maintains its own copy of the video downloader rather than adopting whatever's on the machine, and updates it at most daily while the show is idle — with a smoke test and automatic rollback, so a bad release can't take a gig down.
  • Accounts gain role and plan tiers.
  • Ops alerting stopped paging on a paused, idle background crawler, and parties left open by accident now age out instead of keeping every alert armed.
  • The audio router and the pitch engine now agree on a buffer size, so both can hold the same audio device at once.

v1.5.0 (Builds 124–126)

Mac DJiPhoneiPadWeb guestBackend

Bandwidth & Venue Wi-Fi

  • Low Data Mode is now one screen holding every bandwidth lever in the order you'd use them, including Video Quality and Offline Videos — which move here off the live-gig Show panel, because this is where the night gets tuned beforehand.
  • Connection Check: measure the venue link before the gig. A DJ-invoked test of the actual connection that turns into a concrete recommendation for both quality ceilings, applied on one tap. A congested link steps the recommendation down a tier; a genuinely weak one is told to pre-download instead of to trim, since that's the only lever that takes video off the uplink entirely. Never automatic, and it asks first if a show is running. (Mac DJ.)
  • An Uplink readout tells you when you're on a hotspot and should prefer a cable — measuring a tethered link would bake a removable handicap into every number below it.
  • Real bandwidth cuts, all measured: jukebox search thumbnails 209 KB → 86 KB per search, guest avatars 116 KB → 4.9 KB each, and a guest's first load of the web app 457 KB → 144 KB.

Live Show

  • Offline video cache. Songs can be pre-downloaded and played from disk instead of streamed — the fix for a venue whose Wi-Fi can't be trusted.
  • Intermission takeover reworked to cut on the next flip rather than mid-song, and to resume by itself afterwards.
  • The Mac board editor's text input works again.

Behind the Scenes

  • Admin panel: tabs are deep-linkable and survive a reload (a reload used to break every tab but the dashboard), plus a mobile-friendly pass, a new Config tab, and the Channels tab reorganised into Approved / Pending / Rejected.