49 Commits
Author SHA1 Message Date
isaaccladandCursor b0590842a4 Reseed demo tenants after each SSO login.
Deploy Ladill Meet / deploy (push) Successful in 2m13s
Demo Free/Pro/Enterprise accounts wipe and reload sample data on
authorization-code SSO callbacks so every sales walkthrough starts clean.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 11:21:10 +00:00
isaacclad 23e355259b Move Team, Security, and Webhooks under Meet Settings.
Deploy Ladill Meet / deploy (push) Successful in 50s
Drop them from the admin sidebar, surface Team on the settings page, remove
the unused branches message, and add Settings back-links on those screens.
2026-07-16 00:25:26 +00:00
isaacclad d940ac768e Add AI Summaries index page at /summaries.
Deploy Ladill Meet / deploy (push) Successful in 51s
List org summaries with status and preview, wire sidebar navigation, and
link back from the individual summary view.
2026-07-16 00:17:45 +00:00
isaacclad 86fa37b9fd Reduce Meet poll load with shared cache, ETag, and slower clients.
Deploy Ladill Meet / deploy (push) Successful in 2m44s
Heavy per-participant poll queries were saturating the shared host during
live rooms. Cache the shared room payload for 2s, return 304 when unchanged,
throttle breakout expiry and captions, and slow client polling (6s / 20s
when hidden) so concurrent attendees no longer fan out full Laravel work.
2026-07-15 19:59:52 +00:00
isaaccladandCursor e8aa6664c9 Scope Meet team members and add mailbox invite picker.
Deploy Ladill Meet / deploy (push) Successful in 58s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 21:59:45 +00:00
isaaccladandCursor 2a29c89f74 Auto-provision Meet workspaces for Care video visit scheduling.
Deploy Ladill Meet / deploy (push) Successful in 1m34s
Care appointments can create Meet rooms for accounts that have never opened Meet, matching the Sales Centre provisioning path.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 14:14:19 +00:00
isaaccladandCursor da8d64045b Auto-provision Meet workspace for Sales Centre demo links.
Deploy Ladill Meet / deploy (push) Successful in 1m38s
Create rep user, organization, and branch on first demo room request so sales reps do not need to onboard in Meet first.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 21:12:52 +00:00
isaaccladandCursor 393f6df167 Fix screen-share tile recovery and make AI summaries use full transcripts.
Deploy Ladill Meet / deploy (push) Successful in 1m17s
Defer summarization until recordings finish, merge chat with deduplicated live captions, and clear the screen-share overlay so participant cards return after sharing ends.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 17:05:18 +00:00
isaaccladandCursor 60d006654f Make room privacy optional by default so shared join links work out of the box.
Deploy Ladill Meet / deploy (push) Successful in 1m13s
New spaces are public unless the host explicitly enables private/invite-only mode.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 15:15:25 +00:00
isaaccladandCursor 14e7ae9557 Replace native dialogs with app modals for Events link and unlink.
Deploy Ladill Meet / deploy (push) Successful in 49s
Link opens an in-page modal on conference and webinar show pages; unlink uses the shared confirm-dialog component.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 22:39:02 +00:00
isaaccladandCursor d0e68f15c7 Persist Events programme on the room when linking from Meet.
Deploy Ladill Meet / deploy (push) Successful in 46s
Store programme_snapshot from the link-room response locally and merge existing room settings on service API updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 22:25:13 +00:00
isaaccladandCursor 23026260d9 Update existing Meet rooms by UUID when Events syncs programme data.
Deploy Ladill Meet / deploy (push) Successful in 39s
Service API store now resolves meet_room_uuid before source lookup so programme snapshots apply to pre-linked rooms.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 22:12:12 +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 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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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
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 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
isaaccladandCursor 7ae26a467c Add kiosk join/leave pages, waiting room, and meeting feedback.
Deploy Ladill Meet / deploy (push) Successful in 47s
Redesign public join flows on the Frontdesk kiosk template, enforce host
admission when waiting room is enabled, and collect star ratings after leave.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 13:33:48 +00:00
isaaccladandCursor ba77acdb9d Fix guest join flow redirecting to Care marketing page.
Deploy Ladill Meet / deploy (push) Successful in 52s
Guests were sent through silent SSO after entering the meeting room because
/room routes required auth; failed SSO fell back to leftover Care config.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 12:05:41 +00:00
isaaccladandCursor 4cc4970916 Show Ladill profile avatars in the meeting participants UI.
Deploy Ladill Meet / deploy (push) Successful in 1m10s
Resolve participant photos from linked user records for the header host chip and participants panel, with initials as fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 10:15:11 +00:00
isaaccladandCursor a9d3a8bd64 Sync email team invites, meeting room fixes, Afia, and org settings.
Deploy Ladill Meet / deploy (push) Successful in 47s
Publish monorepo meet changes: identity API invites, join/room session fixes,
Afia assistant panel, settings nav, and SSO team provisioning.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 06:45:35 +00:00
isaaccladandCursor 965fb992e9 Initial Ladill Meet release.
Deploy Ladill Meet / deploy (push) Failing after 7s
Phases 0–18: core meetings, webinar, breakouts, team chat, live streaming, town hall, billing, and Ladill Mail calendar wiring.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 23:35:29 +00:00