Commit Graph
69 Commits
Author SHA1 Message Date
isaaccladandCursor 7574a035b6 Sync app launcher config and add POS icon.
Deploy Ladill Hosting / deploy (push) Successful in 26s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 22:53:37 +00:00
isaaccladandCursor 5a54477128 Deliver hosting resource limit alerts in-app only.
Deploy Ladill Hosting / deploy (push) Successful in 31s
Stop emailing users when their servers hit usage limits; keep database notifications for the in-app bell.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 19:28:59 +00:00
isaaccladandCursor 4ba2e86cf5 Standardize desktop topbar widgets to match CRM layout.
Deploy Ladill Hosting / deploy (push) Successful in 30s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 18:16:40 +00:00
isaaccladandClaude Opus 4.8 739043755f Add wallet balance widget to the profile menu (after Billing)
Deploy Ladill Hosting / deploy (push) Successful in 28s
Wallet balance peek rendered as a menu row directly under Billing, backed by
a /wallet/balance endpoint (BillingClient) and guarded by Route::has. Also
opens Afia via a direct window event for reliability.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 12:25:46 +00:00
isaaccladandClaude Opus 4.8 36f7acf1e1 Add CRM to the Ladill app launcher
Deploy Ladill Hosting / deploy (push) Successful in 21s
crm.ladill.com is now live in the suite; add its launcher row + icon
(byte-identical shared launcher config).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 22:41:28 +00:00
isaaccladandCursor e6c2ebeee0 Bind app sessions to the platform auth session.
Deploy Ladill Hosting / deploy (push) Successful in 27s
Clear local sessions when auth.ladill.com signs out and ping the platform session from keepalive.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-20 08:26:30 +00:00
isaaccladandCursor ae1c93b017 Add Ladill SMS to shared app launcher.
Deploy Ladill Hosting / deploy (push) Successful in 33s
Include sms.ladill.com in the cross-app launcher and ship the SMS icon asset.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 23:12:36 +00:00
isaaccladandCursor 56c43a73af Fix domain purchase modal on user-layout order flows.
Deploy Ladill Hosting / deploy (push) Successful in 22s
Include the purchase modal in user-layout and stack it above the order dialog so Get a new domain opens correctly.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 19:29:02 +00:00
isaaccladandCursor c1658d9e7f Remove duplicate close button from domain purchase modal.
Deploy Ladill Hosting / deploy (push) Successful in 25s
Rely on the shared modal component's close control instead of rendering a second one in the embed header.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 19:17:29 +00:00
isaaccladandCursor 3ac89593fc Merge platform registry into owned-domain picker lookups.
Deploy Ladill Hosting / deploy (push) Successful in 29s
Fetch owned domains from both domains.ladill.com and the platform registry so legacy customer domains populate the Ladill picker.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 18:17:03 +00:00
isaaccladandCursor 537e34cbd7 Wire Ladill domain picker and purchase modal into hosting flows.
Deploy Ladill Hosting / deploy (push) Successful in 51s
Use the Domains API for owned domains across panel, account, and order forms, with an embedded iframe purchase modal instead of redirecting to domains.ladill.com.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 18:01:23 +00:00
isaaccladandCursor 44cfb1d9b9 Fix profile dropdown 500 by using the correct auth user variable.
Deploy Ladill Hosting / deploy (push) Successful in 55s
Topbar defines $u but the menu partial was passed undefined $user.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 10:48:59 +00:00
isaaccladandCursor e17cada9b6 Hide the current page link in the unified profile dropdown.
Deploy Ladill Hosting / deploy (push) Successful in 49s
Skip Home, account, and admin menu items when the user is already on that destination.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 10:16:08 +00:00
isaaccladandCursor bb421f3dbc Fix corrupted profileMenuItems in layouts after menu propagation.
Deploy Ladill Hosting / deploy (push) Successful in 1m27s
Remove orphaned array entries that caused Blade parse errors and 500 responses on authenticated pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 10:04:14 +00:00
isaaccladandCursor 53f38ba794 Unify logged-in profile dropdown with platform account menu.
Deploy Ladill Hosting / deploy (push) Successful in 46s
Wire UserProfileMenu and shared Blade partial into topbar, mobile nav, and layouts so menu items match the account portal (Ladill Mail excluded).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 09:33:27 +00:00
isaaccladandCursor d85a7db057 Remove centralized account nav from app sidebar; redirect legacy URLs.
Deploy Ladill Hosting / deploy (push) Successful in 29s
Wallet, Billing, Team, Developers, and Support live on account.ladill.com.
Siloed sidebars keep product nav and app Settings only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 00:42:46 +00:00
isaaccladandClaude Opus 4.8 869a53d168 Sidebar: remove centralized account links; redirect Wallet/Billing to hub
Deploy Ladill Hosting / deploy (push) Successful in 44s
Remove the Wallet/Billing/Team links from the hosting sidebar (managed centrally
at account.ladill.com); keep Support (deep-links to hub) and Settings. Redirect
the now-orphaned account.wallet/account.billing routes to the central hub so
bookmarks still work.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 00:20:13 +00:00
isaaccladandClaude Opus 4.8 2ff74c45ac Remove orphaned account.team/developers routes + repoint sidebar Team
Deploy Ladill Hosting / deploy (push) Successful in 1m11s
Completes the strip: drop the local account.team* and account.developers* route
definitions (the DeveloperController + views were removed in the previous
commit) and point the sidebar Team link to the central account hub. account.switch
retained. (Previous commit landed only the deletions; this makes routes consistent.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 23:59:44 +00:00
isaaccladandClaude Opus 4.8 f206f9bef5 Strip hosting Team & Developers pages; point to central account hub
Deploy Ladill Hosting / deploy (push) Successful in 50s
Team and developer-token management now live on account.ladill.com. Remove the
local account.team* and account.developers* routes, the DeveloperController, and
the (empty) hosting Team/Developers pages; repoint the sidebar Team link to
ladill_account_url('/account/team'). The acting-account switcher (account.switch)
stays — it is load-bearing for multi-account access. Hosting developer-access
authz is already centralized via the identity API (shadow-verified + flipped).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 23:58:52 +00:00
isaaccladandClaude Opus 4.8 107013bd04 Hosting dev-access: resolve via central identity API (shadow mode)
Deploy Ladill Hosting / deploy (push) Successful in 23s
Consolidate the inline HostingAccountMember lookups (Overview/Search/Hosting
Product/Afia controllers) into HostingAccessResolver, which can source hosting
developer-access from the monolith's central /identity/hosting/developer-access
(correlating cPanel usernames to local account ids). Shadow mode by default
(HOSTING_CENTRAL_DEV_ACCESS=false): local hosting_account_members stays
authoritative and divergence from central is logged; flip the flag to cut over.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 23:42:08 +00:00
isaaccladandClaude Opus 4.8 174ead7d3e Ignore storage/framework build artifacts (compiled views/cache/sessions)
Deploy Ladill Hosting / deploy (push) Successful in 1m9s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 22:59:14 +00:00
isaaccladandCursor 5e4109384e Fix hosting profile dropdown and align menu with platform.
Deploy Ladill Hosting / deploy (push) Successful in 29s
Add home.ladill.com helper, repair click-outside handling on topbar menus, and expand profile links on desktop and mobile.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-18 20:40:43 +00:00
isaaccladandCursor 05466b6868 Fix SSO callback 500 on cross-app redirects.
Deploy Ladill Hosting / deploy (push) Successful in 1m21s
Use HostingTeamMember instead of the missing QrTeamMember class so the first login callback completes without error.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-18 14:33:44 +00:00
isaaccladandCursor 3c18d2f4b5 Use Ladill hosting icon in control panel sidebar.
Deploy Ladill Hosting / deploy (push) Successful in 43s
Replace the generic server glyph with hosting.svg inside the existing purple header badge.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-18 14:12:32 +00:00
isaaccladandCursor 01325d3edf Fix file manager select-all and delete actions.
Deploy Ladill Hosting / deploy (push) Successful in 27s
Correct a JavaScript syntax error that prevented the file manager Alpine component from loading, and include the confirm modal in the hosting panel layout so delete prompts render.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-18 13:54:18 +00:00
isaaccladandCursor 0bdc9513b0 Restore silent SSO on app entry for users switching between apps.
Deploy Ladill Hosting / deploy (push) Successful in 31s
Guests without a local session try prompt=none SSO first; marketing pages
are only for visitors with no platform session (localhost fix retained).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-18 13:47:30 +00:00
isaaccladandCursor ea7e46a260 Fix guest entry: correct marketing URL and stop auto silent SSO.
Deploy Ladill Hosting / deploy (push) Successful in 34s
Correct localhost marketing_url default and stop redirecting guests through
/sso/connect on visit; SSO starts only via explicit sign-in.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-18 13:09:24 +00:00
isaaccladandCursor 8d076d9fe0 Send SSO guests to ladill.com/products/hosting instead of subdomain landings.
Deploy Ladill Hosting / deploy (push) Successful in 36s
Remove interactive OAuth fallback on silent SSO failure and add ladill.marketing_url config so app subdomains open the dashboard when signed in locally.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-12 22:22:23 +00:00
isaaccladandClaude Opus 4.8 a47b469320 Afia: render markdown bold in chat instead of showing raw asterisks
Deploy Ladill Hosting / deploy (push) Successful in 1m27s
Replies came back with **bold** markup that displayed literally to users.
Render the bubble as HTML (escaped first for safety) and convert **text** to
<strong>; newlines already handled by whitespace-pre-line.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 08:41:01 +00:00
isaaccladandClaude Opus 4.8 a67648e0d3 Per-app logout keeps platform SSO session (quick password-less re-entry).
Deploy Ladill Hosting / deploy (push) Successful in 49s
Local-only sign-out: end this app's session but leave the auth.ladill.com
session intact, so the signed-out page's Sign in again re-auths silently via
prompt=none. Full sign-out of all Ladill apps remains on account.ladill.com.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 11:23:47 +00:00
isaaccladandClaude Opus 4.8 7cba85fbac Add Merchant to app launcher.
Deploy Ladill Hosting / deploy (push) Successful in 32s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 11:03:26 +00:00
isaaccladandCursor fabfd18a3c Fix SSO popup callback infinite loop and post-login 500.
Deploy Ladill Hosting / deploy (push) Successful in 1m3s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 20:21:47 +00:00
isaaccladandCursor 09911d56d9 Make SSO popup fallback URL work without controller changes.
Deploy Ladill Hosting / deploy (push) Successful in 27s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 16:05:35 +00:00
isaaccladandCursor 48fe96074a Fix SSO popup login 500 and add branded signed-out pages.
Deploy Ladill Hosting / deploy (push) Successful in 27s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 15:46:24 +00:00
isaaccladandCursor fedd01cdde Keep the app subdomain visible during Ladill SSO login and logout.
Deploy Ladill Hosting / deploy (push) Successful in 34s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 12:15:37 +00:00
isaaccladandCursor a3496f8019 Add Ladill Give to the shared app launcher.
Deploy Ladill Hosting / deploy (push) Successful in 1m35s
Sync ladill_launcher.php and give.svg across all extracted apps so Give appears in every product switcher.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 10:34:02 +00:00
isaaccladandCursor ca60515dfc Unify primary buttons with gradient pill design across the app.
Deploy Ladill Hosting / deploy (push) Successful in 28s
Add shared btn-primary components and plus icons on create/new actions for a consistent Ladill UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 22:49:27 +00:00
isaaccladandCursor 37bff3f05b Move Support link under Account in sidebar.
Deploy Ladill Hosting / deploy (push) Successful in 56s
Place Support with Account navigation instead of the Settings footer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 20:29:12 +00:00
isaaccladandCursor 98eee39665 Add app-specific mail branding and sidebar Support links.
Deploy Ladill Hosting / deploy (push) Successful in 38s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 20:11:27 +00:00
isaaccladandCursor 618dbe7f47 Add Ladill Transfer to the shared app launcher.
Deploy Ladill Hosting / deploy (push) Successful in 30s
Include transfer.svg and the SSO launcher row so Transfer appears in the
topbar grid across all Ladill apps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 16:08:22 +00:00
isaaccladandCursor 79f919bb40 Pin Settings to the sidebar footer in Ladill Hosting.
Deploy Ladill Hosting / deploy (push) Successful in 36s
Move Settings out of the Account and Advanced sections into a pinned footer on both the app and control panel sidebars.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 04:45:35 +00:00
isaaccladandCursor bc08624fff Replace native confirm() dialogs with styled confirm modals.
Deploy Ladill Hosting / deploy (push) Successful in 30s
Add shared confirm-dialog component, Alpine ladillConfirm store, and
swap browser confirms for consistent bottom-sheet modals across user,
admin, and hosting flows.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 21:11:04 +00:00
isaaccladandCursor 61999f3a21 Add Mini launcher icon for cross-app app grid.
Deploy Ladill Hosting / deploy (push) Successful in 1m0s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 19:58:18 +00:00
isaacclad a579950cbf Add Ladill Mini to shared app launcher.
Deploy Ladill Hosting / deploy (push) Successful in 1m8s
2026-06-07 18:51:40 +00:00
isaaccladandCursor e40f1d997d Show only Ladill app names in the mobile header.
Deploy Ladill Hosting / deploy (push) Successful in 29s
Remove route-based page titles and the uppercase subtitle line so mobile
headers display a single title like Ladill Bird.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 16:44:11 +00:00
isaaccladandCursor d3a379d5bc Add mobile topbar titles and show Afia on all mobile headers.
Deploy Ladill Hosting / deploy (push) Successful in 26s
Route-based subtitle and page titles replace plain app labels in mobile topbars, and the Afia AI button is visible on mobile across topbars and mobile-page-header screens.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 16:30:31 +00:00
isaaccladandCursor b7b9e5ef05 Add a mobile search page for Hosting.
Deploy Ladill Hosting / deploy (push) Successful in 27s
Return an HTML search screen from /search for browser visits and point the bottom nav Search tab at it instead of the dashboard.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 15:38:29 +00:00
isaaccladandCursor cf9d7cc75d Add Events to the shared app launcher.
Deploy Ladill Hosting / deploy (push) Successful in 42s
Include the Events SSO entry and launcher icon so customers can switch to events.ladill.com from every product.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 14:24:17 +00:00
isaaccladandCursor bfa9975e01 Add QR Plus to the shared app launcher across all Ladill apps.
Deploy Ladill Hosting / deploy (push) Successful in 33s
Register qrplus.ladill.com in ladill_launcher.php and sync the launcher icon.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 06:46:48 +00:00
isaaccladandCursor e3fd235139 Unify SSO and surface legacy ResellerClub hosting orders on the dashboard.
Deploy Ladill Hosting / deploy (push) Successful in 26s
Add silent OAuth and session keepalive, and show imported RC orders alongside
native hosting accounts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 06:33:16 +00:00
isaaccladandCursor c91d25eb3b Fix legacy hosting order page 500 from stale route names.
Deploy Ladill Hosting / deploy (push) Successful in 21s
Point show.blade.php at hosting.legacy.* routes and add the missing input-error component.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 20:35:18 +00:00
isaaccladandCursor d532f5b206 Fix legacy RC hosting orders not appearing after app extraction.
Deploy Ladill Hosting / deploy (push) Successful in 23s
Import RC service orders in hosting:import, map platform_id on legacy models, and wire legacy order manage links to hosting.legacy.show.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 20:31:29 +00:00
isaaccladandCursor 8205d55d1e Add Ladill Servers to app launcher.
Deploy Ladill Hosting / deploy (push) Successful in 33s
Sync servers.svg from monolith for the all-apps menu.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 19:28:22 +00:00
isaaccladandCursor 6a0c3d7477 Use inline SVG for domain icon in notification dropdown for portability.
Deploy Ladill Hosting / deploy (push) Successful in 19s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 18:38:52 +00:00
isaaccladandCursor 7fca4a351a Add per-app notifications and enforce hosting brand assets.
Deploy Ladill Hosting / deploy (push) Successful in 24s
Wire local notification inbox in the topbar, sync ladillhosting logo and hosting launcher icon, and fix signed-out page branding.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 18:27:39 +00:00
isaaccladandCursor a0bcf93e53 Add live topbar search for hosting accounts and sites.
Deploy Ladill Hosting / deploy (push) Successful in 20s
Wire a JSON /search endpoint and Alpine dropdown so customers can find accounts, linked domains, and orders from the hosting app header.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 18:06:58 +00:00
isaaccladandCursor 5703a00862 Show linked domains on cards and fix Email leftovers.
Deploy Ladill Hosting / deploy (push) Successful in 24s
Display hosted_sites on account cards, scope Afia and Settings to hosting,
add hosting_settings for notifications, and remove mailbox UI from the
hosting layout and account pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 17:30:40 +00:00
isaaccladandCursor c4bd4efbed Add a real hosting overview dashboard.
Deploy Ladill Hosting / deploy (push) Successful in 22s
Replace the smart redirect on /dashboard with an overview hub (stats,
recent accounts, pending orders) matching Domains and Email, and move
the full account list to /hosting/accounts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 17:21:27 +00:00
isaaccladandCursor 62d33e2a75 Remove app launcher from hosting sidebar footer.
Deploy Ladill Hosting / deploy (push) Successful in 22s
The grid launcher stays in the top bar; the duplicate footer control
cluttered the account sidebar without adding value.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 17:17:07 +00:00
isaaccladandCursor e39a47fa1f Land on account overview and import hosted sites.
Deploy Ladill Hosting / deploy (push) Successful in 25s
Route launcher and home hub entry to the account overview instead of the
control panel, label the sidebar app launcher, and extend hosting:import
to sync hosted_sites with platform_id matching for existing accounts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 17:13:46 +00:00
isaaccladandCursor 1e134a8e4b Add paystack-sheet partial for hosting account renewals.
Deploy Ladill Hosting / deploy (push) Successful in 36s
The account overview page includes this partial for mobile Paystack checkout when exiting the panel.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 17:04:44 +00:00
isaaccladandCursor 1135915797 Fix 500 when exiting hosting panel for existing accounts.
Deploy Ladill Hosting / deploy (push) Successful in 20s
The account overview queried a local mailboxes table that the extracted hosting app does not have; guard those lookups and skip email-addon upsells when mailboxes are managed on Ladill Email.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 17:02:44 +00:00
isaaccladandCursor 206a022e27 Update hosting favicon.ico.
Deploy Ladill Hosting / deploy (push) Successful in 44s
Replace the default favicon with the Ladill Hosting brand icon.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 16:49:47 +00:00
isaaccladandCursor a2985005ff Replace monolith user.* routes with cross-app URLs.
Deploy Ladill Hosting / deploy (push) Successful in 20s
Hosting type pages and panel views referenced platform routes that do not exist in the extracted app; link to domains, account, and servers apps instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 16:46:09 +00:00
isaaccladandCursor 136d741b8e Fix panel domain lookup without site builder tables.
Deploy Ladill Hosting / deploy (push) Successful in 21s
Use user-owned domains only; the extracted hosting app does not have websites or website_members tables.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 16:42:56 +00:00
isaaccladandCursor 2cd55e1e44 Fix getUserDomains for hosting app without site builder.
Deploy Ladill Hosting / deploy (push) Has been cancelled
Skip websites/website_members lookups; domains are owned directly by user_id in the extracted hosting app.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 16:42:40 +00:00
isaaccladandCursor c627d83e59 Fix hosting 500s: rc_service_orders migration and account layout.
Deploy Ladill Hosting / deploy (push) Successful in 22s
Account pages were extending the email layout with undefined routes, and hosting type pages queried a missing rc_service_orders table.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 16:41:27 +00:00
isaaccladandCursor 2df303048c Fix CI deploy: sync composer.lock and add hosting config.
Deploy Ladill Hosting / deploy (push) Successful in 21s
phpseclib was missing from the lock file, which caused composer install
to fail on the Gitea deploy runner.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 16:31:44 +00:00
isaaccladandCursor e251a4cf60 Initial Ladill Hosting app with Gitea deploy pipeline.
Deploy Ladill Hosting / deploy (push) Failing after 17s
Shared web hosting extracted from the platform monolith, with CI deploy
to /var/www/ladill-hosting matching Bird/Domains/Email.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-06 16:24:20 +00:00