Commit Graph
131 Commits
Author SHA1 Message Date
isaacclad 9121f01b1c Generate AI summaries when meetings end, not only after recordings.
Deploy Ladill Meet / deploy (push) Successful in 1m1s
Queue summarization on session end (with a short delay for late captions),
keep recording-ready as a refresh path, and unique the summary job so end
plus recording do not double-process the same transcript.
2026-07-16 00:15:13 +00:00
isaacclad 3f0c94cae7 Keep screen share visible when the sharer switches apps.
Deploy Ladill Meet / deploy (push) Successful in 44s
Stop clearing the overlay on transient mute/unsubscribe, re-attach existing
screen tracks for all viewers, and resume LiveKit upstream if the browser
briefly mutes the capture while the presenter focuses another window.
2026-07-16 00:11:36 +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
isaacclad cdb81b82da Sync launcher after Mini/Merchant/Give pause.
Deploy Ladill Meet / deploy (push) Successful in 43s
2026-07-15 01:26:56 +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 fdda86b325 Add Sent via Ladill Meet to branded outbound emails.
Deploy Ladill Meet / deploy (push) Successful in 1m26s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 20:14:31 +00:00
isaaccladandCursor 5b7bb88767 Use organization logo in Meet outbound emails.
Deploy Ladill Meet / deploy (push) Successful in 1m28s
Replace the product email mark with company logo or name in contact-message mail.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 20:08:04 +00:00
isaaccladandCursor 585ef5bb11 Replace native browser confirms with Ladill confirm dialogs.
Deploy Ladill Meet / deploy (push) Successful in 41s
Cancel meeting and remove member now use the shared modal UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 17:51:22 +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 d14f8a4b25 Document Sales Centre Meet API key and add service API test.
Deploy Ladill Meet / deploy (push) Successful in 1m23s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 20:50:33 +00:00
isaaccladandCursor e5bf62feee Allow Sales Centre service API access for demo room creation.
Deploy Ladill Meet / deploy (push) Successful in 1m43s
Adds sales_centre to Meet service API keys so reps can auto-create demo links from outreach emails.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 18:43:06 +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 aa16b31fe1 Fix participant card layout and add meeting video pop-out.
Deploy Ladill Meet / deploy (push) Successful in 56s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 16:41:43 +00:00
isaaccladandCursor 86d5b43607 Backfill existing rooms to public so older shared links are joinable.
Deploy Ladill Meet / deploy (push) Successful in 1m26s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 15:19:45 +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
isaacclad 8b349da764 Remove desktop header search from app topbars.
Deploy Ladill Meet / deploy (push) Successful in 2m5s
Drop the lg+ topbar search field; mobile search entry points are unchanged.
2026-07-09 06:57:33 +00:00
isaaccladandCursor 3be1215d08 Replace ghost Meet action links with shared btn components.
Deploy Ladill Meet / deploy (push) Successful in 1m8s
Webhooks, invitations, registrations, recordings, and room cancel actions match the Ladill pill-button UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 06:38:14 +00:00
isaacclad c490922f71 Sync app launcher from registry
Deploy Ladill Meet / deploy (push) Successful in 57s
2026-07-07 23:13:24 +00:00
isaacclad 7fab816139 Show boot splash on app open/reload for logged-in users.
Deploy Ladill Meet / deploy (push) Successful in 58s
Replace the once-per-session sessionStorage guard (which suppressed the loading
screen after its first appearance) with entry-aware logic: show on app entry
and reloads, suppress on internal link navigations and back/forward.
2026-07-07 20:34:50 +00:00
isaacclad 5e24e35e07 Sync app launcher from registry
Deploy Ladill Meet / deploy (push) Successful in 54s
2026-07-07 14:42:35 +00:00
isaacclad 8426fd9f92 Prefer system npm in deploy CI when portable node-gyp is broken.
Deploy Ladill Meet / deploy (push) Successful in 44s
Falls back to downloading Node only when host npm is unavailable, fixing npm ci failures on ladill-deploy-runner.
2026-07-07 00:46:53 +00:00
isaacclad b15057879d Sync app launcher from registry
Deploy Ladill Meet / deploy (push) Failing after 3s
2026-07-07 00:21:41 +00:00
isaaccladandCursor cbbcfbb68b Standardize settings pages on shared centered card layout.
Deploy Ladill Meet / deploy (push) Successful in 43s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-05 21:11:45 +00:00
isaaccladandCursor 762aba0246 Redesign meeting programme as single-column Figtree layout.
Deploy Ladill Meet / deploy (push) Successful in 1m41s
Stack time, title, and details vertically in compact cards for the narrow live-room sidebar and agenda views.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 22:44:45 +00:00
isaaccladandCursor aa4b744b18 Fix modal flash when opening Events unlink dialog.
Deploy Ladill Meet / deploy (push) Successful in 39s
Teleport modals to body, hide until Alpine is ready, use a single fade transition, and lock scroll on html with stable scrollbar gutter.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 22:42:18 +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 d8914b96fe Skip Mail calendar sync for Meet rooms created by Ladill Events.
Deploy Ladill Meet / deploy (push) Successful in 2m1s
Events owns calendar entries for events-sourced rooms so virtual sessions
do not duplicate on the webmail calendar.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 11:48:37 +00:00
isaaccladandCursor 25de2ed7bc Fix Ladill Mail calendar sync mailbox resolution and updates.
Deploy Ladill Meet / deploy (push) Successful in 1m10s
Use the connected mail calendar mailbox when set, skip API calls when
MAIL_API_KEY_MEET is unset, and call syncRoomUpdated on room edits.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 10:59:59 +00:00
isaaccladandCursor 7a0beaa721 Add flysystem-aws-s3-v3 for Meet recordings disk.
Deploy Ladill Meet / deploy (push) Successful in 3m24s
Laravel's S3 driver requires this package; without it the meet-recordings
disk fails when completing egress uploads from Contabo Object Storage.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 10:36:19 +00:00
isaaccladandCursor 64df3d1eb1 Fix auto-record egress failing before LiveKit room exists.
Deploy Ladill Meet / deploy (push) Successful in 51s
Create rooms via the LiveKit API, retry egress when the room is missing, and resume server egress after the host connects when auto-record fell back to browser capture.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 09:53:44 +00:00
isaaccladandCursor d2bf08ec45 Add Contabo Object Storage support for Meet egress recordings.
Deploy Ladill Meet / deploy (push) Successful in 49s
Use a dedicated meet-recordings S3 disk with path-style endpoints for Contabo, and pass force_path_style through to LiveKit egress uploads.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 03:45:49 +00:00
isaaccladandCursor ebc11691e2 Fix LiveKit egress preset call and attach completion webhook per job.
Deploy Ladill Meet / deploy (push) Successful in 45s
Pass null encoding preset to match the PHP SDK, and register the meet webhook on each egress start so LiveKit Cloud does not need a global webhook URL.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 03:42:28 +00:00
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 57802ff7f6 Use Listener label for audio room attendees in the live UI.
Deploy Ladill Meet / deploy (push) Successful in 53s
Matches Twitter Spaces terminology on speaker tiles and in the People panel.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 01:16:55 +00:00
isaaccladandCursor 29fa6ad547 Show all joined participants on the audio room stage grid.
Deploy Ladill Meet / deploy (push) Successful in 52s
Include attendees alongside host, co-hosts, and speakers so everyone in the call gets a card with role and muted state, not just speakers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 01:14:21 +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 0e3e940ad4 Show all on-stage speakers in audio rooms from session state.
Deploy Ladill Meet / deploy (push) Successful in 46s
Render host, co-host, and panelist cards from joined participants instead of LiveKit connections alone so listeners no longer occupy tiles and accepted speakers appear reliably.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 01:03:52 +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