Standardize customer-facing Ladill Pay checkout shells across products, open them on all viewports, and escape iframe callbacks back to the product flow.
Use bracketed paste, reliably bind paste capture, stop blocking mousedown focus, and give shells a short prompt with horizontal-scroll readline so long pasted commands do not wrap incorrectly.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sales Centre left Active CustomerHostingOrder rows with pending-setup.local alongside real HostingAccounts, so customers saw two hostings.
Co-authored-by: Cursor <cursoragent@cursor.com>
Treat ns_auto domains as managed DNS, publish subdomain A records via PowerDNS without failing the UX when the local DNS registry is missing, and promote real linked domains over pending-setup.local placeholders.
Co-authored-by: Cursor <cursoragent@cursor.com>
Customers can create label-based subdomains under primary/addon sites with a separate max_domains×5 quota, nginx/docroot/SSL provisioning, and managed DNS A records when Ladill controls the parent zone.
Co-authored-by: Cursor <cursoragent@cursor.com>
Surface account counts, status breakdown, and available plans in heroes consistent with Ladill Servers.
Co-authored-by: Cursor <cursoragent@cursor.com>
Sync mobile-header-btn partials, mobile x-btn.create, and update dashboard header actions for consistent mobile FABs.
Co-authored-by: Cursor <cursoragent@cursor.com>
The toolbar showed a static ~/public_html. The jailed shell now reports its cwd
via OSC 7 each prompt (jail rcfile keeps the user's prompt + emits it); xterm
captures it and the toolbar shows the full path (/home/<user>/...), updating as
the user cd's. Launcher/rcfile committed in deployment/ for reproducibility.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>