Commit Graph
75 Commits
Author SHA1 Message Date
isaaccladandCursor ee3f7410f4 Fix speaker token ignored after badge verification or active join.
Deploy Ladill Meet / deploy (push) Successful in 1m0s
Process ?speaker= before registration gate and already-joined redirects so Events speakers get panelist role even when they previously registered as attendees.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 18:35:03 +00:00
isaaccladandCursor 3d68f7a83b Promote Events speakers from attendee to panelist on rejoin.
Deploy Ladill Meet / deploy (push) Successful in 1m7s
Upgrade existing participant roles when a verified speaker token is present, and sync panelist access while already in the room so speaker-panel placement and publish rights apply.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 18:05:15 +00:00
isaaccladandCursor f9c82d0d1f Grant panelist role to Events speakers on conferences and webinars.
Deploy Ladill Meet / deploy (push) Successful in 49s
Verify speaker tokens before room-type role resolution so town-hall sessions get panelist access and speaker-panel placement, and skip the waiting room for panelists.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 17:56:39 +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 8d4f74bc87 Send system_prompt when summarizing transcripts via platform AI.
Deploy Ladill Meet / deploy (push) Successful in 47s
The monolith Afia relay requires system_prompt; include it so Meet transcript summaries work through the platform relay.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 16:16:42 +00:00
isaaccladandCursor f5f599d1e3 Let invited speakers bypass Events registration and join as panelists.
Deploy Ladill Meet / deploy (push) Successful in 1m30s
Verify speaker tokens from Events on join, grant panelist role for linked webinars, and point bulk comms links to the attendees page instead of the JSON preview API.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-03 15:48:35 +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 8162827957 Auto-join host into live session when going live from green room.
Deploy Ladill Meet / deploy (push) Successful in 2m1s
Green room poll was racing go-live and sending the host to the ended page; carry participant session into the new live session instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 06:57:33 +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 815f277cc3 Show non-spotlight participants in the plenary audience strip.
Deploy Ladill Meet / deploy (push) Successful in 38s
Include speakers and attendees below the stage, resolve avatars with the same fallbacks as video tiles, and refresh the strip when poll data updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 23:23:12 +00:00
isaaccladandCursor 6f00103c35 Fix plenary stage rounding and restore the speaking ring.
Deploy Ladill Meet / deploy (push) Successful in 44s
Clip spotlight tiles to the stage border radius and draw the green active-speaker outline on the spotlight container so overflow hidden no longer hides it.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 23:11:23 +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 d0b6e9ff01 Fix meeting show redirects and SSO connect loop for signed-in users.
Deploy Ladill Meet / deploy (push) Successful in 1m0s
RoomController show may redirect to conference/webinar pages; SSO connect honors intended URL when already authenticated.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 21:46:09 +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
isaaccladandCursor b765b5dd97 Store meet recordings on Ladill servers via browser upload.
Deploy Ladill Meet / deploy (push) Successful in 53s
Capture the meeting in the host browser, upload to Ladill storage on stop, and remove the LiveKit egress placeholder job.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 17:40:44 +00:00
isaaccladandCursor 5137672ef5 Add supervisor config for meet queue worker.
Deploy Ladill Meet / deploy (push) Successful in 52s
Recordings dispatch ProcessRecording to the database queue; without a worker they stay stuck at processing.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 17:33:53 +00:00
isaaccladandCursor ca1ceea410 Show billing errors on join page instead of 503 screen.
Deploy Ladill Meet / deploy (push) Successful in 50s
Wallet and billing gate failures redirect back to the join form with a clear message.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 17:10:57 +00:00
isaacclad 599fa0c59e Sync app launcher from registry
Deploy Ladill Meet / deploy (push) Has been cancelled
2026-07-01 17:04:42 +00:00
isaaccladandCursor d19c131428 Fix join 500, wallet dropdown balance, and launcher Meet entry.
Deploy Ladill Meet / deploy (push) Successful in 1m35s
Handle billing API failures gracefully on session start, add wallet.balance JSON endpoint, and sync Meet into the app launcher.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 16:50:02 +00:00
isaaccladandCursor 59b59cb70e Bill Meet streaming hourly and storage per GB like Transfer.
Deploy Ladill Meet / deploy (push) Successful in 54s
Wallet debits at session end, on recording/file storage, and via daily renewals with grace period before asset deletion.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 16:33:45 +00:00
isaaccladandCursor 13a251250c Use icon buttons for mobile leave/end and dashboard meeting actions.
Deploy Ladill Meet / deploy (push) Successful in 43s
Add meet-icons for leave, end, personal, and schedule; dashboard quick actions sit inline with the Meetings heading on small screens.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 16:18:21 +00:00
isaaccladandCursor 8b43b01dfa Use bottom sheet for More menu and add copy-button feedback.
Deploy Ladill Meet / deploy (push) Successful in 1m13s
Shared copy-button component shows Copied state on meeting details; mobile More is icon-only and opens the same panel pattern as chat.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 14:56:46 +00:00
isaaccladandCursor 322f96b367 Redirect participants to meeting ended screen instead of 404.
Deploy Ladill Meet / deploy (push) Successful in 49s
Poll and waiting-room clients follow the same redirect when the host ends the call; chat and participants use mobile bottom sheets.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 14:43:39 +00:00