1.60.3The SHOW clock lied while counting down to a start time. Counting down to 3:15 PM, the app held 3:15 PM as the moment the clock runs out — but the show clock read that as the item’s finish, so it reported the show a whole segment ahead (SHOW −05:00 on a five-minute item). The item’s own length is now added on, so counting down to a punctual start reads on time, and the number only moves if the start time you are counting to is not the one in the rundown
1.60.2A card could be left reading ▶ Start · 05:00 after the cue had moved on to another item — the old card lost its red frame but kept the label. Only the one item that is cued and not yet running says ▶ Start now; every other card says ▸ Cue, whatever order you cue them in
1.60.1“Set live” is now “▸ Cue”, because that is what the first tap does: it puts the item up on every screen and makes the clock ready, without starting it — the second tap, ▶ Start · 05:00, starts it. The master bar follows the same distinction: it reads Cued: while the item is up and waiting, and Live: only once the clock is running
1.60.0Four small ones. The master bar is now completely still: every button keeps its place whether nothing is live, an item is armed, counting down to its start time, running or trimming, at every window width. A message that is out on the screens shows blue in the bar instead of red, so it is no longer the same colour as the red band below it that carries the message. The menu is quieter: “Hide meetings 30 min after end”, “Hide column headings” and “Ignore date” have moved into Advanced, and Rooms and Sound in there are now closed sections you open when you need them. And runofshow.dk itself is a plain landing page — no password box for robots to hammer on; the show links are unchanged
1.59.1Nothing in the master bar moves when the state changes any more: ↓ To 3:20 PM and −1 / +1 / Trim share one slot of fixed width — they are never both relevant — so arming, starting or counting down to a start time leaves every other button exactly where your cursor left it
1.59.0The stage screen can count down to the clock, not only through a duration. Arm an item and the master bar offers ↓ To 3:15 PM: the screen then shows how long until that item is due to begin — in hours if it is tomorrow — under a blue “Starts in”, and the moment it arrives the item’s own allotted time starts by itself
1.58.4The seam between the header and the red master bar is gone for good. The two were stuck to the top separately, with JavaScript telling the lower one how far down to sit — and since the header shrinks over 150 ms on the first scroll, that measurement was briefly wrong and the rundown flashed through the gap. The header, the master bar and the alert band are now one single sticky block that cannot come apart, and nothing is measured at all
1.58.3Both clocks now redraw ten times a second instead of once, so a trimmed second lands when it should rather than being rounded to the next whole redraw — that rounding was what made the trim look faster than the 8% it is. The countdown no longer hiccups either. Every ten minutes, and every time an iPad wakes, the app re-checked its clock against the server — but an HTTP date is only accurate to the whole second, so each check could shove the countdown up to a second either way. It now takes three readings, keeps the quickest, centres it in its second, and afterwards never moves the clock by more than a tenth of a second at a time
1.58.2Two things that only looked wrong. The master bar redrew once a second, which against a trimmed clock running 8% fast meant the digits jumped two seconds every twelve — it now redraws four times a second like the stage screen, so a trim reads as a steady slightly-quick clock. And the hairline between the header and the master bar is gone: the header’s height was being rounded up, so the bar started a fraction of a pixel too low
1.58.1Added to the Home Screen on an iPad, Safari reports the locale’s own convention rather than the system “24-Hour Time” switch, so reading the device was not enough. A show in an American timezone now starts in am/pm by default and a European one in 24-hour; the device setting is only consulted when the zone says nothing. Menu → ◷ 12-hour times still overrides it, and the choice is now remembered per space
1.58.0The card’s own ▶ Set live button now does both steps: the first tap arms the item, and the button turns green and reads ▶ Start · 05:00 — tap it again and the clock starts. The same as Start in the master bar, but where you were already looking. Once it is running the card shows ● LIVE as before
1.57.5Trim is halved again in pace: the same 30 seconds now bleed away over six minutes, so the clock runs about 8% fast instead of 17%. One extra second disappears roughly every twelve seconds, which is below what anyone glancing at a countdown can notice
1.57.4Stopping a trim is now seamless to the millisecond — the clock simply stops running fast and carries on from exactly where it is, instead of ticking back a second. And the master bar stays one row high once an item is running: the live title, the message field and the two notes give up their space before the bar is allowed to wrap
1.57.3@next now says what it is: “Next speaker is” sits in small amber capitals above the names, so a speaker reading the band from three metres away knows at once that it is the hand-over and not a note about himself
1.57.2In the last two minutes the hand-over now reads as one unmistakable panel: an amber-bordered box with NEXT in amber above the time, the item in white and the names who take over in amber — all about a third larger, with the countdown and the current item stepping back to make room
1.57.1The master bar no longer shifts under your finger: the clock, the trim button, Start/Next and the attribution line each hold the width of their widest state, so −1 and +1 stay exactly where they were and can be clicked several times in a row
1.57.0Trim is gentler and now has a state: it takes 30 seconds over three minutes instead of a whole minute, the button turns amber and pulses while it bleeds, counting down what is left to take and how long it has left to take it. Tapping it while it runs stops it there — the seconds already taken stay gone and the clock carries on at normal speed. Once it has run out, the next tap starts a new one
1.56.2Times follow the device: a phone or iPad set to 12-hour time now shows 2:35 PM everywhere — cards, header, countdown, stage screen, print and the text copy — instead of 14:35. Menu → ◷ 12-hour times overrides it per device either way
1.56.1The master bar is half again as tall, Start and Next item are green and the arrows are tinted to match — they run the show and should look like it. −1, +1 and Trim now sit on the bar next to the clock, so the time can be managed from the producer’s laptop and not only from the iPad
1.56.0The stage screen stopped counting on its own: the dimmer behind the timing sheet was styled but never actually put in the page, so setting up the stage view threw before the line that starts the repaint, and the countdown only ever moved when a message happened to arrive. The element is there, the set-up no longer stops at the first missing piece, and the countdown keeps running whatever else fails. A timer left over from an earlier run could take the stage screen hostage: it showed a nonsense overrun, and because its sequence number was the highest, every new ▶ Set live looked older to it and was ignored. Any timer state untouched for six hours is now treated as no state at all — on the device, in the database and in what arrives over the air — and a clearly newer command always wins over a higher counter. ⟲ Reset in the master bar and in the timing sheet clears the timer on every screen
1.55.3The menu had grown taller than the screen: it now scrolls on its own, so Advanced, Rooms and Sound are reachable again on a laptop and on a phone. A rundown kept by hand says so in the menu instead of “Not synced from the sheet yet”, and leaves out the sync and version-history rows
1.55.2A device that is read-only or on a mic-numbers link no longer sees “Become master” or the Rooms section in the menu — taking the show over and adding or removing room columns are not things those levels should reach
1.55.1A vendor link is now its own address with its own key — runofshow.dk/encore/… shows the New York rundown and can set mic numbers, nothing else. Nothing in the address names the space it reads, there is no “Unlock editing” on it, and the level is not stored on the device, so it cannot be widened by editing the URL. Menu → Share a link lists it first
1.55.0Menu → ⚭ Share a link hands out the right link for each person: full access, mic numbers only (reads everything, can set the mic under a speaker and nothing else — for the venue’s AV company), read-only, auto-scrolling, or the stage timer. A link carries its level in ?access= and sets the device that opens it. Stage positions can be switched off per space (Menu → ◎ Stage positions) and are off for New York
1.54.2The title is now edited one line at a time, with a × beside each line — that is where a single tick box is removed. Lines that are ticked show a green ✓ so you can see what a removal takes with it, Enter adds a line below, and “+ add line” adds one at the end. “Delete whole item” still removes the entry itself
1.54.0Menu → ⎘ Copy rundown as text puts the day exactly as it stands — times, titles, rooms, speakers, media, notes, ticked boxes and which items were edited by hand — on the clipboard, ready to paste into a chat or an email. Two things that could quietly lose work are fixed. A tick box is now remembered by what the line says rather than by its position, so adding, removing or reordering a checklist line during the show leaves every other tick where it was. And an item changed by hand in the app is marked as such: the next Excel sync leaves it alone and lists it as “left alone — edited in the app”, unless you pick “Overwrite with sheet”
1.53.0Every part of an item can now be changed in the app. The ✎ on a card opens an editor for the time, the title (one line per tick box, so a set-up checklist can be added to, shortened or reworded), the room, the speakers, the media and the extra tech fields. The ➜ note under a card is written or changed by tapping it, and the room tag by tapping that — both show a faint placeholder when empty. Delete sits in the editor as well as on the card
1.52.0Event branding now carries the printed size — roll-ups 152 × 234 cm (60 × 92 in), the Smart Frame stretches 120 × 120 cm — and can be edited in the app: Edit lets you replace an image, rename a piece, change its size, remove it or add one, the same way speaker photos work. Pieces that shipped with the app can be restored
1.51.0Event branding: Menu → ◫ Event branding shows the printed artwork for the event — four roll-ups and two stretches for New York — with a deeplink at ?view=branding. Tap a piece to see it full screen; Close returns to the rundown without reloading
1.50.2New placeholder @time writes the whole sentence and follows the situation: “You have 03:36 left”, “You have 40 seconds left”, “You are running 01:12 over”, “Paused with 02:00 left”. The stage screen never shows operator banners such as “Sent to everyone”
1.50.1A message that is up stays in the field and can be edited: change the text and press Enter to update it on every screen, or empty it and press Enter to take it down. The field is amber while the message is showing, dashed while you have unsent changes. The message is now shared state, so both operators see and can edit the same one
1.50.0A message no longer covers the stage: it sits as a band above the countdown, which stays visible along with the next item. Messages can carry live values — @next (who and what is on next), @over (how far over time, counting), @speaker, @title and @left
1.49.8The stage view paints the running item immediately on reload: the timer state is kept on the device and the view starts as soon as the page is parsed, instead of waiting for the database
1.49.7?view=stage renders as the stage view from the first frame — no flash of the normal rundown while the page loads
1.49.6The countdown now fills whatever room the screen allows instead of a fixed size, so it is as large as it can be on any iPad or monitor
1.49.5The countdown in the master bar is editable: tap it and type 6:40 to set the time left, or +2 / −90s to nudge it. Works the same as ±1/±5 on the iPad and is logged with your name
1.49.4Stage view: the next item and its speaker sit together on one line and grow to fill the width available, instead of the speaker being pushed to the opposite edge
1.49.3Spaces kept by hand show “✎ kept by hand” instead of a red “not synced”; a space with a workbook that has never been synced reads “never synced” in grey, and red is kept for a sync that actually failed. Master bar: one “Start · 5:00 / Next item” button, and ◂ ▸ only arm an item without starting it
1.49.2Stage view: title, speaker and countdown bigger and centred, local time bigger, room name removed. The next item is larger and names its speaker, and in the last two minutes it grows to fill the lower third so the hand-over is unmissable. The show clock is hidden unless the rundown is actually running today
1.49.1New space: CIP NY Investor Forum 2026 (3 Nov 2026, The St. Regis New York) at /ny/stregis3, running on New York time
1.49.0Stage timer: add ?view=stage for a speaker-facing countdown on an iPad. Each item is armed with its full allotted time and starts on cue, so a late show never shortens a speaker. Long-press for the controls: ±1/±5 min, Start/Next, Pause, and Trim 1 min which bleeds away unnoticed. The show's drift shows on the lectern past 3 min. Anyone with the master password can control it, every change is attributed, and the display keeps counting if the connection drops. Requires one new database table
1.48.1Share links can preset the show mode: add ?mode=auto for auto-scroll, ?mode=follow to follow the master (engages as soon as a master is online), ?mode=standard for no scrolling
1.48.0New space: CIP SF Investor Day 2026 (21 Oct 2026, Wayfare Tavern) at /sf/wayfare21, running on Pacific time
1.47.4Menu button reads “✕ Close” while the menu is open; tapping anywhere outside (including speaker and media tags) or pressing Escape closes it
1.47.3Follow master: the master's first live item of the day also scrolls followers who had scrolled by hand (1.47.2 only cleared the pause on a change from one live item to another)
1.47.2Follow master: a new live item always scrolls, even during a manual-scroll pause; scrolling inside the menu or a dialog no longer pauses following. A master whose connection blinks stays “online” for 60 s, and the mode buttons refresh every time the menu opens
1.47.1Media lines that are not clips get their own tap labels: “Start stream” → Stream key ready → ✓ Streaming!; “Start stream in Teams Townhall” → Teams Townhall ready → ✓ Townhall started
1.47.0Your name sits in the header (Guest until you tap it and type one) and an online list shows everyone in the space — guests numbered Guest 1, 2, 3…; tap or hover a name for their IP and city. Sync dialog notes SharePoint's ~1 min publishing delay
1.46.2Menu hint spells out that the master's live item and messages are shown to everyone, and Follow master only adds the scrolling
1.46.1Grace period (how long an item stays “running over” before it is dimmed) is set in the Menu under Show mode; default now 10 min (was 45)
1.46.0Show modes (Menu): Standard · Auto-scroll (follows the clock; scrolling by hand pauses it for 2 min) · Follow master. “Become master” under Advanced: set the live item (▶ Set live / Next), send messages to everyone; the live item is framed red for all
1.45.0Positions with details (“Pos 4 (standing host spot)”) and several positions (“Pos 2 + Pos 3”, shown as 2+3 in the order written); producer cells (DSM, Audio, …) have larger icons and are tappable: loaded → ✓ done → clear, shared with everyone
1.44.0Sync asks before overwriting in-app edits: mic and position overrides and manual speaker order are listed with the sheet value; “Overwrite with sheet” (default) clears them, “Keep app edits” leaves them on top of the synced sheet
1.43.1Header shows when the sheet was last synced (↻ 12 min ago; amber after 2 h, red if failed or never) — tap it to open Sync. On phones it is in the Menu
1.43.0Producer columns: extra sheet columns (DSM, Audio, Slido, vMix, …) show as a labelled strip on each card; “-----||-----” means unchanged (dimmed, ↑); “Pos 3A” positions; a sentence in the speaker column shows as a cue line. Requires one new database column
1.42.0Mic and stage position are edited inline (tap → type → Enter), no system pop-ups; mic is editable on every card, not only Mic-up
1.41.2Stage position is a proper tappable pill under the name instead of a tiny caption
1.41.1Sync: mics in brackets are understood — “Ann Steele (Mic 1)”, “All EGM (Mic 2-8)”; a role label line like “Moderator:” above a name is skipped
1.41.0Several media items in one Screen cell (one per line) show as separate tags, each with its own loaded/played state
1.40.3Sync downloads the workbook with cache-busting so a re-sync always sees the latest save
1.40.2Fix: a first name no longer borrows a photo from a different event’s speaker (photos are only matched loosely within the same rundown)
1.40.1Numbered stage positions (“Eric @ 1”, 1 = far left from the audience) show as a number badge and order the speakers left-to-right on the card
1.40.0Stage positions per speaker: write “Eric @ Lectern” in the sheet’s speaker cell (mic and position both allowed: “Eric · Mic 1 @ Lectern”); shown under the name on chips, tiles and the print view. Editors can tap the position to change it for that item
1.39.0New space: Hempel Global Town Hall, 23 Sep 2026 (/hempel/)
1.38.2Current item: brighter 2px border drawn inside the card, so nothing around it shifts
1.38.1Phone: “xx min remaining” wraps inside the left column instead of running into the content
1.38.0Menu → Print / save as PDF: a paper-friendly rundown with speaker photos and mic numbers, generated from the live data
1.37.1Sync: line breaks in a crew item’s title become separate checklist tasks
1.37.0Passwords removed from the page source: unlock dialogs are verified server-side; sync uses a hashed token
1.36.5Fix: before 06:00 on show day every item showed as done. The clock now only rolls past midnight when the rundown has post-midnight items
1.36.4Past entries are dimmed less (70% instead of 55%)
1.36.3Stream audio: relay credentials are fetched by the browser if the edge function could not
1.36.2Stream audio capped at 24 kbps to stay within small TURN quotas
1.36.1Stream audio: TURN relay can come from a credentials endpoint (configured server-side); the modal shows whether a relay is configured
1.36.0Menu → Stream audio: a device can send its microphone (WebRTC) and anyone on the space can listen remotely; shows who is live. Optional relay for locked-down networks. “Import from screenshot” hidden
1.35.0Access simplified to two levels: everyone on the link can tap, sync and edit by default; Menu → “Switch to read-only” locks a device, and the space password unlocks it again. Operator and editor are the same. “Hide all previous meetings” and “Show location filter” moved under Advanced
1.34.2Phone: the countdown card’s left column matches the entries (76px), so its divider lines up
1.34.1Phone: kind tag, location and “Mic-up by” move into the left column under the timing (as on desktop); crew checklists sit in the body next to the timing instead of the title strip
1.34.0Faster loading: the last rundown is cached on the device and painted instantly, then refreshed; rundown, states and photos load in parallel (one round-trip instead of three). A spinner shows until the first data arrives instead of a blank grid
1.33.2Items with the same start time are ordered by end time, then natural title order (pt. 1, pt. 2, pt. 3) instead of database order
1.33.1A lone first name (“Yago”) is matched to the full name for photos and mic numbers. Crew marks apply to the exact stored spelling only, so a renamed speaker is a speaker again. Phone: speaker chips fill the column width
1.33.0Phone layout: narrower left column (times stacked, smaller dots) so three photo tiles fit per row on an iPhone
1.32.1Left-column tags left-aligned; mic numbers on speaker chips use the same blue band as the Mic-up tiles; timings whiter. Speaker photos lists stored photos for names no longer in the rundown, with Remove
1.32.0Right column dropped: kind tag, location and “Mic-up by” crew now stack in the left column under the timing
1.31.2Location filter is per space and off on first visit; with no location selected the filter shows everything instead of an empty rundown
1.31.1“Marked as crew” lists every stored mark even when the name was since changed in the sheet, and “Back to speaker” clears all spellings of that person
1.31.0Desktop cards get a right column (mirroring the time column): kind tag, location and the “Mic-up by” crew stack there, separated by a divider
1.30.1Speaker photos: the per-row ✕ is gone. Marking someone as crew now lives in a collapsed “Crew & non-speakers” section (pick a name → Mark as crew), with “Back to speaker” to undo. Name variants are merged so nobody appears twice
1.30.0Right-hand kind tags are a fixed width and aligned: Speaker on stage (amber), Mic-up (purple), Crew, Guests; location tag sits just left of it
1.29.1Name variants (“Peter M. Larsen” / “Peter Martin Larsen”) are treated as the same person for photos, mic numbers and the photo list
1.29.0Speaker photos: tap a photo to zoom and reposition the crop (drag, slider, pinch or scroll); new uploads open the same editor first. ✕ marks a name as “not a speaker” (crew tag, no tile) with a Restore list at the bottom
1.28.1Removed the editor’s tap-to-select red outline (and Delete-key deletion) — a Meeting Manager leftover. Delete via the hover ✕ on desktop
1.28.0Sync result stays on screen: a ✓ summary plus the list of added / changed / removed items (also shown in Preview), with Close and Sync again — no more auto-closing after 2.5 s
1.27.2Speaker chips have a uniform width (240px; full width on phones) so they line up; long names wrap instead of stretching the chip
1.27.1Sync: two sheet rows with the same start and title (e.g. two Mic-up rows at 8:45) are merged into one item with all speakers — the second row was previously dropped
1.27.0Speaker chips: photos 30% larger, names bigger; tile names centred. Header clock right-aligned with the cards (Menu in the margin); on full-width layouts clock and Menu sit together, flush with the cards. Crew on Mic-up cards moves to a “Mic-up by” line under the tiles, with the space’s mic team (Toronto: Speaker manager)
1.26.0Single-line header: “RoS · event”, both clocks with seconds plus venue date (US format) in one panel, Menu on the same row; shrinks when scrolling. Phones show the venue clock (local clock, date and access badge live in the Menu). Crew cards: tap anywhere on a single-action card, or anywhere on a row, to mark done. Per-card date removed
1.25.0Crew items (Setup, Teardown, “Remove screen…”) are slate cards with a tappable checklist — one row per sentence in the title, shared live; all done turns the card green. Guest items (Breakfast, bilateral meetings) are dashed, muted cards. Timings and titles 15% larger, timings less grey. Header keeps the clock centred
1.24.0Countdown to the first item is shown as a card at the top of the rundown (with the local-time equivalent when zones differ). Header: title under “Run of Show”; both clocks with seconds in a panel, “local” dropped. Crew names (AV …, Tech …, Crew …) show as neutral tags without photo/mic and are left out of Speaker photos. Photo upload works for names with æ/ø/å. “+ add item” with location, speakers and screen content
1.23.0Mic block under each tile is full width and 44px tall, editable only in Mic-up entries, and the same mic shows on the speaker's other entries. Cards are patched in place instead of rebuilt (fixes photo blinking, and countdowns now update on read-only phones). Uniform photo buttons; version history width fixed
1.22.1Mic number is its own field under each photo tile, aligned across tiles; editors tap it to change the mic on location (shared, shown amber when it differs from the sheet, survives syncs)
1.22.0Mic-up / Mic-off cards show large photo tiles (104px) with name and mic underneath; other cards keep the compact chips. Advanced → "Large speaker photos on all cards" for the audio engineer's device
1.21.1Speaker photos moved under Advanced; replacing a photo asks for confirmation
1.21.0Speaker photos: chips show a photo (or initials) with name and mic; Menu → Speaker photos lets operators and editors add/replace photos from the camera roll (stored once per person)
1.20.0Operators can Sync from Excel (no extra password). Concurrent syncs are blocked while one is running; the modal shows the last sync. Version history: a snapshot is saved before every change, editors can restore one
1.19.0Three access levels: viewer (public link), operator (speaker ready/reorder, screen loaded/played), editor (everything)
1.18.2Menu: C/T buttons, room columns and sounds moved under "Advanced"; sound toggles no longer show as on when muted
1.18.1Header clocks stacked in the same font with zone after the time; countdown names the first item ("Setup starts in…"); upcoming items show an empty dot bar
1.18.0Countdown to the first item ("Show starts in 1d 03:12:44") under the header until the show begins
1.17.1Readable public links per space (/connect/ is an alias for /ros/)
1.17.0Public read-only links open a space without a password; edit access via Menu → Request write access (asks for your name)
1.16.0Each space runs on its venue time zone (/toronto/ = America/Toronto) on every device; when the viewer is elsewhere the header shows the show clock with the local time beneath it (also in Menu on phone). Scheduled auto-sync every 5 min via ROS_AUTOSYNC
1.15.0New space /toronto/ (CIP Toronto Investor Day, 16 Sep). Sync reads AM/PM times, mic numbers without initials ("1 Andrew Tirbeni") and speaker lists placed inside Mic-up title cells
1.14.4Scroll position is kept across refreshes
1.14.3Items that ended within the last 45 min stay at full brightness with "done" — no red, no "min over"
1.14.2Only the item that is current by the clock gets the outline (dimmer now); over-running items show a red border and "N min over" without the outline
1.14.1Long-press and drag speaker tags to reorder them (order is shared with everyone). Over-time grace raised to 45 min
1.14.0Items running over time stay active for 15 min and show "N min over" in red. Past-midnight items (DJ, teardown) no longer show as past. Past items less dimmed; thinner active outline
1.13.5State save failures no longer pop a blocking alert; local state is kept
1.13.4RoS spaces: no "knock — 5 min left" state or pulsing; active items simply count down "min remaining"; past items show "done" instead of "open door"
1.13.3Sync: run-on plenary items now end at the block's explicit End (e.g. 13:30) even when a timed 1-min transition sits inside the block
1.13.2Mic up / Mic off cards tinted purple
1.13.1Cue rows: screen tag stays on one line (ellipsis) so rows keep their slim height. Sync: open-ended items now end at the next later start / block end instead of an adjacent 0-min cue
1.13.0Compact cue rows for Transition, Voice of God, Walk-in, Ring bell and Musical act (time + title + screen tag on one line). Sync: boat-schedule rows and time-only titles no longer imported
1.12.4Sync: continuation rows without a start time (plenary speeches, transitions, breakout segments) are imported and run on from the previous item; rows with no End get the next item's start; bare initials (MSA, MANE) are kept as speaker tags
1.12.3Sync: speakers written as "KUPA (Kunal)", "1 TLO (HOST: Torsten)" or "SET (Sean - remote)" are imported; first-name-only entries keep their initials; ONLINE/REMOTE shown as a suffix
1.12.2Sync handles multi-day sheets (day header rows like "Wednesday the 9th of September 2026" — only the selected day is imported), derives a missing start from End − Duration, and reads "1 MSA – Name" as Mic 1
1.12.1Sync reads the Partner Conference sheet layout (Start Time / Item / Presenter(s) / Mic Assignment); Section used as location when there is no Location column; mic numbers appended to speaker tags
1.12.0Multiple RoS spaces: /partner/ (Partner Conference 2026, 9 Sep) added alongside /ros/; per-space workbook; date picker remembered per space
1.11.3Screen tag has a fixed footprint: full column width, fixed-width status slot — identical size in default / loaded / played
1.11.2Speaker/screen state changes update in place (no re-render, no layout jump); screen tag keeps a fixed width
1.11.1Sync password is remembered for the browser session after a successful sync
1.11.0Speaker ready state is now shared and persistent (realtime for all users). Screen tag is tappable: loaded → played → reset. Smaller location tag
1.10.1Version history: fixed-height modal with header, close button and scrolling list
1.10.0Screen tag (teal) under speakers on desktop and phone, fed from the RoS "Screen" column via sync.
1.9.1Sync: follows SharePoint redirects with cookies and falls back to download.aspx; clearer error when the link needs sign-in
1.9.0Menu → "Sync from Excel": pulls the live RoS workbook from SharePoint into Supabase (password-protected, verified server-side; Preview shows changes before writing)
1.8.1Location chips: no longer rebuilt on every refresh/resize (taps were being lost on iPhone), bigger tap targets on phone
1.8.0Phone layout: title strip on top, location under countdown, bigger speaker tags. New Menu toggle "Ignore date" runs today's clock against the RoS. Other dates show the day instead of "0 min". Shorter Filtered note.
1.7.5Location filter: filtering now always follows the Menu toggle (fixes chips not affecting the list after upgrading from 1.7.3)
1.7.4Location filter: starts with nothing selected, pick the locations you need; filter stays active when the chip bar is hidden (with a "Filtered" reminder + clear)
1.7.3Location filter chips below header (enable in Menu → Show location filter)
1.7.2Fixed broken card layout (duplicate page content in build), time/dots/status in left column, location tag right of title
1.7.1RoS timeline, location field, column/CT/header toggles, dark mode, domain migration
1.6Multi-space, read-only access, name prompt, session tracking
1.5Mobile alignment, C/T buttons, screenshot import
1.4Dark/light mode, sound alerts, realtime sync
1.3Knock/open door alerts, progress bars
1.2Multi-column, Supabase backend
1.1Initial release