Commit Graph
76 Commits
Author SHA1 Message Date
isaaccladandCursor 152c0e6625 Show full restart labels on mobile and scroll btn-groups horizontally.
Deploy Ladill Meet / deploy (push) Successful in 1m20s
Remove icon-only restart buttons on webinar and conference pages; btn-group now carousels on narrow screens when actions overflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 03:20:07 +00:00
isaaccladandCursor 4e4bed0df3 Record meetings with LiveKit Egress instead of browser capture.
Deploy Ladill Meet / deploy (push) Successful in 52s
Server-side room composite egress replaces fragile MediaRecorder DOM capture when enabled, with webhook completion and browser fallback when egress is unavailable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 03:18:28 +00:00
isaaccladandCursor c2cb9cf33a Move start/restart actions into join link cards for webinars and conferences.
Deploy Ladill Meet / deploy (push) Successful in 29s
Remove the duplicate webinar header button and make the primary purple action
first in the join card, with a mobile rotate icon when restarting.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 02:48:22 +00:00
isaaccladandCursor da93c9814d Show rotate icon for Restart webinar on mobile.
Deploy Ladill Meet / deploy (push) Successful in 33s
Replace restart button text with a compact arrow-path icon on small screens while keeping the full label on desktop.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 02:37:25 +00:00
isaaccladandCursor ce05b6b584 Use Events list icon on all Meet index list rows.
Deploy Ladill Meet / deploy (push) Successful in 47s
Match the Events index card icon across meetings, rooms, conferences, and webinars.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 02:22:40 +00:00
isaaccladandCursor 46d630221a Wire space listener email invites and restyle Meet index pages.
Deploy Ladill Meet / deploy (push) Successful in 42s
Enforce invite-only room access, validate invite emails on create, assign
attendee role for listener invitations, and add invite UI on the room show
page. Redesign meetings, rooms, conferences, and webinars indexes to match
the Events hero, stats cards, and icon list layout.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 02:07:27 +00:00
isaaccladandCursor 21092015b8 Fix mute and enable-audio controls in audio rooms.
Deploy Ladill Meet / deploy (push) Successful in 43s
Space speaker tiles use a different DOM than video tiles; updateParticipantTile
was throwing on missing cam badges. Also stop using the hidden attribute on
toolbar buttons so Alpine can show mic controls after promotion, and let listeners
dismiss the playback banner without needing publish access.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 01:47:42 +00:00
isaaccladandCursor 777a3e9126 Restyle audio room speaker cards like Spaces and add room chat to the toolbar.
Deploy Ladill Meet / deploy (push) Successful in 49s
Use a three-column avatar grid with role labels and speaking/muted indicators, enable chat in audio rooms, and swap the mobile People nav button for Chat since People stays in the header.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 01:10:12 +00:00
isaaccladandCursor 4dd7883763 Stop Chat and More from flashing on load in audio rooms.
Deploy Ladill Meet / deploy (push) Successful in 57s
Bootstrap room-type flags from meet-config before Alpine paints, gate toolbar and banners server-side per room type, and hide Alpine toolbar items until init completes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 01:00:28 +00:00
isaaccladandCursor 1d1a4cd877 Fix overlapping speaker cards in audio rooms with a proper grid layout.
Deploy Ladill Meet / deploy (push) Successful in 41s
Use display grid for speaker tiles, show only host/co-host/panelist on stage, and re-layout when roles change so cards stay in separate cells.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 00:53:55 +00:00
isaaccladandCursor 2fae2e7ed8 Require acceptance for space speak invites and add instant co-host promotion.
Deploy Ladill Meet / deploy (push) Successful in 40s
Remove duplicate host record button on desktop and split invite-to-speak from make co-host so listeners must accept before speaking while co-host is applied immediately.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 00:50:58 +00:00
isaaccladandCursor 46af4f93b6 Add live speaker invites for audio rooms and simplify the toolbar.
Deploy Ladill Meet / deploy (push) Successful in 1m9s
Let hosts promote raised-hand listeners from People, remove the empty More menu in spaces, and put People and recording on the bottom bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 00:40:09 +00:00
isaaccladandCursor c51e59945e Limit audio rooms to Twitter Spaces features and fix live toolbar UX.
Deploy Ladill Meet / deploy (push) Successful in 1m3s
Block breakouts, chat, Q&A, and other meeting-only tools in spaces, hide video controls for audio-only rooms, and stabilize mobile nav and toolbar layout.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 00:25:40 +00:00
isaaccladandCursor b087b7e95a Use compact multi-column participant grid on mobile meetings.
Deploy Ladill Meet / deploy (push) Successful in 1m1s
Switch regular meeting tiles to a 2–3 column scrollable gallery with overlay labels so many participants fit on small screens without stacked full-width cards.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 23:40:48 +00:00
isaaccladandCursor 89e994ae05 Shorten plenary stage layout copy.
Deploy Ladill Meet / deploy (push) Successful in 1m4s
Drop the strip-below explanation so plenary descriptions stay to the main stage message only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 23:07:18 +00:00
isaaccladandCursor 4af53f9374 Fix stuck recording processing and add invoice service API test.
Deploy Ladill Meet / deploy (push) Successful in 52s
Capture stage spotlight video for browser recordings, fail incomplete uploads, allow post-session host uploads, and expire stale processing recordings automatically.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 22:54:26 +00:00
isaacclad 94a7906188 Fix spotlight tile reattach and mobile meeting toolbar layout.
Deploy Ladill Meet / deploy (push) Successful in 1m5s
Recreate spotlight tiles with video on switch, limit regular meetings to four primary controls before More, and align mobile notification badge with desktop.
2026-07-03 22:41:00 +00:00
isaaccladandCursor 775c81f4ee Fix plenary spotlight for guest speakers without user accounts.
Deploy Ladill Meet / deploy (push) Successful in 52s
Spotlight by participant uuid, add on-stage picker in stage layout, and show who is currently spotlighted in the plenary status bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 22:22:07 +00:00
isaaccladandCursor a01c1f9a2b Add PNG Ladill Meet logo to transactional email templates.
Deploy Ladill Meet / deploy (push) Successful in 43s
Show ladillmeet-logo-email.png in contact mail and publish a markdown mail header matching the Invoice pattern.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 17:30:21 +00:00
isaaccladandCursor 08a1437b44 Tighten mobile meet room header and bottom toolbar layout.
Deploy Ladill Meet / deploy (push) Successful in 50s
Show participant count without labels on phones, cap the title at 40% width, and keep four bottom-nav icons by moving React into More only after speak access is granted.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 15:13:22 +00:00
isaaccladandCursor 9943dc9e44 Improve mobile UX on public pages and the live room header.
Deploy Ladill Meet / deploy (push) Successful in 35s
Cap customer-facing logos at 50vw on phones, tighten leave-feedback layout, and show icon-only share plus a blinking record dot on mobile.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 14:58:51 +00:00
isaaccladandCursor 56d486d15c Gate Events-linked joins behind registration and badge check-in.
Deploy Ladill Meet / deploy (push) Successful in 43s
Attendees register or sign in with a badge before the display-name screen; email is no longer collected on the Meet join form.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 14:36:40 +00:00
isaaccladandCursor 4fceda8c1f Start client capture for auto-record and silence false empty alerts.
Deploy Ladill Meet / deploy (push) Successful in 32s
Server-side auto-record now triggers browser MediaRecorder on connect, and
the end-meeting dialog only warns when capture actually ran but produced no file.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 14:18:35 +00:00
isaaccladandCursor 63f10455e3 Use fill-only styling for the Webinars sidebar icon.
Deploy Ladill Meet / deploy (push) Successful in 47s
Removes inherited stroke width so the webinar glyph renders as intended.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 13:44:55 +00:00
isaaccladandCursor d648f6c862 Add speak access for webinar/conference attendees and fix Events linking UX.
Deploy Ladill Meet / deploy (push) Successful in 33s
Let attendees request host-granted microphone access with LiveKit reconnect,
participant panel controls, and toolbar UI that only shows mic when allowed.
Fix Events create URL, surface API key setup guidance, and align the Webinars
sidebar icon with other nav items using currentColor strokes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 07:59:18 +00:00
isaaccladandCursor 9ab7d3e685 Use webinar.svg for the Webinars sidebar nav icon.
Deploy Ladill Meet / deploy (push) Successful in 1m3s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 07:40:28 +00:00
isaaccladandCursor 34d0a9c504 Route webinar and conference registration through Ladill Events.
Deploy Ladill Meet / deploy (push) Successful in 1m26s
Add Events linking UI and service client, remove Meet-native registration and invitation flows for these room types, and redirect attendees to Events registration when joining.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 07:38:50 +00:00
isaaccladandCursor eadb77dd5b Remove connection status from the live room header.
Deploy Ladill Meet / deploy (push) Successful in 1m0s
Drop Connecting/Connected and view-only mode text while keeping the active speaker notification line for everyone.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 06:48:37 +00:00
isaaccladandCursor bbf984bc60 Fix live room header flash and instant sidebar panel switching.
Deploy Ladill Meet / deploy (push) Successful in 1m21s
Server-render the speaker pill on load, hide noisy connection status on mobile, and use a single sidebarPanel slot so desktop panels replace in place instead of animating side by side.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 06:39:32 +00:00
isaaccladandCursor 17dd7107ee Always show Programme in the live room More menu.
Deploy Ladill Meet / deploy (push) Successful in 46s
Use programme.svg for conferences and webinars on mobile and desktop; the panel stays available with an empty state when Events has not linked a lineup yet.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 00:13:50 +00:00
isaaccladandCursor fa9b4138af Implement conference breakouts with meeting mode and programme lineup UI.
Deploy Ladill Meet / deploy (push) Successful in 1m3s
Attendees reconnect to breakout rooms with publish access while hosts stay on stage; poll and media-token endpoints drive LiveKit reconnection, and the live room shows Events-linked programme when available.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 00:06:45 +00:00
isaaccladandCursor e698e75f17 Improve conference attendee controls and stage participant strip.
Deploy Ladill Meet / deploy (push) Successful in 58s
Give attendees reaction buttons instead of media controls, gate applause audio until multiple people clap, show the avatar strip in panel layout, and remove the plenary stage subtitle.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 23:46:54 +00:00
isaaccladandCursor f812a92cf9 Make plenary vs panel layout visible and explicit in Meet.
Deploy Ladill Meet / deploy (push) Successful in 45s
Show the current stage mode to everyone, redesign the layout picker with clear descriptions, and apply layout changes only when the host saves.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 23:28:47 +00:00
isaaccladandCursor 712dc487c6 Fix green room Go live and Panels hidden for conference hosts.
Deploy Ladill Meet / deploy (push) Successful in 34s
Stop registerPresenter from demoting hosts to panelists, recognize room owners as managers, and show stage controls in the green room banner.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 22:54:15 +00:00
isaaccladandCursor 0a8cd2b4f9 Fix Meet room tile layout and show account avatars when camera is off.
Deploy Ladill Meet / deploy (push) Successful in 50s
Move the participant name strip below the speaker area instead of overlaying it, and use Ladill profile photos on no-video tiles before falling back to initials.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 22:42:49 +00:00
isaaccladandCursor aed7094fed Remove meeting templates and show Events programme on Meet rooms.
Deploy Ladill Meet / deploy (push) Successful in 42s
Templates duplicated create-form settings without edit/delete flows; drop the feature and table. Conference and webinar pages render synced programme snapshots and link back to Ladill Events.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 22:31:03 +00:00
isaaccladandCursor c108514b27 Extend service API for Events and fix panel layout reverting during edit.
Deploy Ladill Meet / deploy (push) Successful in 48s
Service rooms support town_hall/webinar types with source lookup, update, and cancel; stage poll no longer overwrites layout while the modal is open.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 22:08:01 +00:00
isaaccladandCursor a18b571ae7 Fix platform session ping loop and harden meeting detail timezone display.
Deploy Ladill Meet / deploy (push) Successful in 38s
Defer inconclusive auth ping 401s instead of clearing SSO sessions; add client keepalive and safe timezone fallback on room pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 21:35:21 +00:00
isaaccladandCursor f98d66c9f9 Add panel discussions option to webinars and widen audience strip.
Deploy Ladill Meet / deploy (push) Successful in 2m1s
Webinars can enable multi-speaker stage layout at creation or on the details page; plenary view shows 12 attendee avatars before the overflow count.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 21:29:22 +00:00
isaaccladandCursor 1037cd6ee6 Add conference stage layouts for plenary and panel discussions.
Deploy Ladill Meet / deploy (push) Successful in 37s
Speakers get a full-screen spotlight with overlapping audience avatars; hosts can configure panels in the green room and switch layouts live.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 21:03:02 +00:00
isaaccladandCursor 158b7b650a Allow adding conference speakers after creation on details page.
Deploy Ladill Meet / deploy (push) Successful in 35s
Hosts can assign team speakers and invite panelists by email from the
conference show page, with presenter refs synced to live sessions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 20:29:16 +00:00
isaaccladandCursor 799c302e2a Improve conferences, guest entry, Afia, and cross-app scheduling.
Deploy Ladill Meet / deploy (push) Successful in 50s
Route guests through silent SSO to the Meet product page, fix Afia context
query, add conference green-room UX and copy, and extend service API for
Care/CRM/Invoice calendar integration.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 20:12:57 +00:00
isaaccladandCursor be8f76cd47 Remove X Spaces reference from Rooms copy.
Deploy Ladill Meet / deploy (push) Successful in 56s
Drop the third-party comparison from the Rooms index subtitle and neutralize the SpaceService docblock.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 19:23:37 +00:00
isaaccladandCursor 63af522380 Add Conferences and audio-only Rooms, plus mobile schedule icon.
Deploy Ladill Meet / deploy (push) Successful in 1m29s
Split town_hall into a Conferences sidebar flow and Spaces-style Rooms with host/speaker/listener roles; enforce audio-only LiveKit UI for rooms; show schedule icon on mobile meetings index.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 19:16:54 +00:00
isaaccladandCursor 1705e6b435 Keep app pages light, move join actions to meeting details, fix join URL.
Deploy Ladill Meet / deploy (push) Successful in 1m31s
Force light color-scheme on app shells while scoping dark UI to the live room; remove join/restart from list cards and consolidate start/join/rejoin on the details action row; route Join meeting through /r/ so participants are registered before entering /room/.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 18:44:32 +00:00
isaaccladandCursor 5c1affcca5 Bill all meet sessions per participant instead of per hour.
Deploy Ladill Meet / deploy (push) Successful in 46s
Meetings and webinars now share GHS 0.30 per peak participant, with usage UI and plan quotas updated to match.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 18:28:35 +00:00
isaaccladandCursor d0a3361f37 Separate webinars from meetings and add conference billing.
Deploy Ladill Meet / deploy (push) Successful in 41s
Add restart meeting actions, a dedicated webinar sidebar flow billed at GHS 0.30 per participant, and reserve speaker-line space with a placeholder to prevent layout shift.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 18:23:04 +00:00
isaaccladandCursor 3585904618 Add active speaker indicators to the meet room UI.
Deploy Ladill Meet / deploy (push) Successful in 43s
Highlight speaking participants on video tiles and in the panel, with header copy that names one or multiple speakers at once.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 18:07:37 +00:00
isaaccladandCursor ceb9ca192e Reject empty recording downloads and store WebM with correct MIME.
Deploy Ladill Meet / deploy (push) Successful in 31s
Mark legacy zero-byte placeholders as failed, validate files on show/download, and surface upload errors in the meeting room.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 17:59:18 +00:00
isaaccladandCursor 827d36ddc1 Redesign recording show page with subtle buttons and status badges.
Deploy Ladill Meet / deploy (push) Successful in 49s
Matches meeting detail layout, uses btn-secondary actions, and adds confirm dialog for delete.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 17:47:44 +00:00