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 (toronto2026!) 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 in Supabase Storage). Requires bucket "speakers" and table speaker_photos
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. Requires tables sync_runs and ros_snapshots
1.19.0Three access levels: viewer (public link), operator (<slug>2026 — speaker ready/reorder, screen loaded/played), editor (<slug>2026! — 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: /toronto/stratus36, /connect/opera, /partner/moltke (/connect/ is an alias for /ros/)
1.17.0Public read-only links: /<slug>-<key>/ opens 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 via ROS_EXCEL_URL_<SLUG>; 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 (Supabase item_states, realtime for all users). Screen tag is tappable: loaded → played → reset. Smaller location tag. Requires new table item_states.
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. Requires new Supabase column `screen`.
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