Commit Graph
32 Commits
Author SHA1 Message Date
isaaccladandCursor d491130b14 Bind app sessions to the platform auth session.
Deploy Ladill Transfer / deploy (push) Successful in 29s
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 ccffa1433d Route SMS voice uploads through Transfer with wallet billing.
Deploy Ladill Transfer / deploy (push) Successful in 28s
Add a service API for the Ladill SMS platform to store voice recordings in Transfer and charge monthly storage from the customer wallet.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-20 02:23:18 +00:00
isaaccladandCursor c54bce1ca7 Hide the current page link in the unified profile dropdown.
Deploy Ladill Transfer / deploy (push) Successful in 46s
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:52 +00:00
isaaccladandCursor b80dd06831 Unify logged-in profile dropdown with platform account menu.
Deploy Ladill Transfer / deploy (push) Successful in 42s
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:34:07 +00:00
isaaccladandCursor ea58a13fce Add service API to list mailbox files for Ladill Mail.
Deploy Ladill Transfer / deploy (push) Successful in 1m8s
Expose GET /api/v1/transfers/files so webmail can sync the mobile Files tab with Transfer storage.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-14 00:39:37 +00:00
isaaccladandCursor 26cc0c9a64 Send SSO guests to ladill.com/products/transfer instead of subdomain landings.
Deploy Ladill Transfer / deploy (push) Successful in 57s
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:17 +00:00
isaaccladandClaude Opus 4.8 40bfae6fb6 Afia: fix transfer chat context querying nonexistent download_count
Deploy Ladill Transfer / deploy (push) Successful in 54s
context() selected/used download_count on the transfers table, but the
column is downloads_total (see model + migration) — every Afia chat 500'd
with 'could not respond' before reaching the LLM. Use downloads_total.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 06:19:22 +00:00
isaaccladandClaude Opus 4.8 dac231092b Per-app logout keeps platform SSO session (quick password-less re-entry).
Deploy Ladill Transfer / deploy (push) Successful in 53s
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:42 +00:00
isaaccladandCursor 0a04f31ade Fix SSO popup callback infinite loop and post-login 500.
Deploy Ladill Transfer / deploy (push) Successful in 1m25s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 20:21:38 +00:00
isaaccladandCursor 60f72cfba5 Keep the app subdomain visible during Ladill SSO login and logout.
Deploy Ladill Transfer / deploy (push) Successful in 43s
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-09 12:15:20 +00:00
isaaccladandCursor 9f0822d1ba Unify primary buttons with gradient pill design across the app.
Deploy Ladill Transfer / deploy (push) Successful in 26s
Add shared btn-primary components and plus icons on create/new actions; limit overview recent transfers to three.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 22:40:41 +00:00
isaaccladandCursor 1a95915e21 Separate share transfers from Files storage and add folder upload to New transfer.
Deploy Ladill Transfer / deploy (push) Successful in 28s
Transfers lists only intentional shares while Files shows all storage, and New transfer accepts folder picks with flattened file uploads.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 22:31:45 +00:00
isaaccladandCursor be3b719437 Make folders selectable and downloadable with item count and sharing status.
Deploy Ladill Transfer / deploy (push) Successful in 35s
Folder rows match the file table layout, support zip download, and participate in bulk selection, share, and copy-link actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 22:21:39 +00:00
isaaccladandCursor 7bf92e2d2c Create a Ladill folder when uploading a local folder and place files inside it.
Deploy Ladill Transfer / deploy (push) Successful in 27s
Folder upload now names and creates the destination folder from the picked directory, uploads all files into it, and redirects to the new folder view.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 22:03:03 +00:00
isaaccladandCursor 14b00511ef Add custom upload confirmation and flatten folder uploads to individual files.
Deploy Ladill Transfer / deploy (push) Successful in 35s
Users confirm uploads in a Ladill modal before transfer, and folder picks upload flat file names into the current location instead of preserving local directory paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 22:00:29 +00:00
isaaccladandCursor f9b16f6b61 Add Files page upload flow with manual folders and duplicate handling.
Deploy Ladill Transfer / deploy (push) Successful in 44s
Users can create folders, upload files or folders, and choose replace or keep both on name conflicts instead of auto-grouping by transfer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 21:27:39 +00:00
isaaccladandCursor 19170d6bc7 Add transfer search and OneDrive-style Files storage UI.
Deploy Ladill Transfer / deploy (push) Successful in 29s
Transfers now lists all shares with filters and pagination; Files becomes a selectable cloud view with download, share, delete, move, and open-in-email actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 20:59:05 +00:00
isaaccladandCursor 151c15cb85 Return insufficient_wallet when Transfer billing fails for zero balance.
Deploy Ladill Transfer / deploy (push) Successful in 29s
Expose a stable error_code on chunked upload finalize so webmail can prompt wallet top-up instead of a generic upload failure.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 17:13:19 +00:00
isaaccladandCursor c173256ded Use short ladill.com/q links for transfer shares and emails.
Deploy Ladill Transfer / deploy (push) Successful in 55s
Share URLs and API public_url values again use the platform domain so
ladill.com/q/* forwards to transfer.ladill.com like other Ladill apps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 16:08:22 +00:00
isaaccladandCursor c396c97ce2 Fix transfer share links and redesign recipient download email.
Deploy Ladill Transfer / deploy (push) Successful in 36s
Use transfer.ladill.com share URLs in notifications and APIs, add the email
logo, and show file details with a prominent download button.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 15:56:06 +00:00
isaaccladandCursor a0fce19402 Fix transfer recipient emails not sending in production.
Deploy Ladill Transfer / deploy (push) Successful in 48s
Map MAIL_ENCRYPTION to a valid SMTP scheme, send recipient notifications
synchronously, document mail/queue env vars, and add a supervisor worker template.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 15:04:19 +00:00
isaaccladandCursor 4b616a7f04 Simplify recipient emails and add live upload progress on create.
Deploy Ladill Transfer / deploy (push) Successful in 47s
Recipients always get the download link immediately when an email is set.
Large files upload in the background with per-file and overall progress bars.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 13:25:43 +00:00
isaaccladandCursor c53191a41b Notify transfer owners when files enter grace period.
Deploy Ladill Transfer / deploy (push) Successful in 1m0s
Send grace-entered and countdown emails to owners alongside recipient grace milestones so unpaid transfers get clear wallet top-up reminders before deletion.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 12:44:38 +00:00
isaaccladandCursor 7c4673adb6 Add recipient email and milestone notifications on transfer create.
Deploy Ladill Transfer / deploy (push) Successful in 44s
Recipients can be emailed the download link immediately and at optional
reminders (7/3/1 days before unavailable, or when grace period starts).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 12:38:58 +00:00
isaaccladandCursor 311b5b40bb Bill transfer storage monthly with a 15-day grace period before deletion.
Deploy Ladill Transfer / deploy (push) Successful in 51s
Files stay available while wallet renewals succeed each month. Failed renewals
keep files for TRANSFER_GRACE_PERIOD_DAYS (default 15) before automatic cleanup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 12:28:33 +00:00
isaaccladandCursor 65b634bb0b Add chunked uploads and raise storage rate to GHS 0.30/GB/month.
Deploy Ladill Transfer / deploy (push) Successful in 39s
Large files upload in 5 MB chunks (hosting file manager pattern) for the
transfer UI and Ladill Mail S2S API, with no app-level file size cap when
TRANSFER_MAX_FILE_BYTES=0.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 12:07:27 +00:00
isaaccladandCursor fb131cd7fa Add service API for Ladill Mail large attachment uploads.
Deploy Ladill Transfer / deploy (push) Successful in 39s
Webmail can POST /api/v1/transfers with a mailbox address to create share links for files above 25 MB.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 11:00:11 +00:00
isaaccladandCursor e76955eaa4 Reduce Transfer storage price to GHS 0.15 per GB per month.
Deploy Ladill Transfer / deploy (push) Successful in 40s
Updates config default, env examples, and removes hardcoded GHS 1.00 copy on the dashboard.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 10:45:12 +00:00
isaaccladandCursor 45ccd04163 Differentiate Billing from Wallet with storage usage breakdown.
Deploy Ladill Transfer / deploy (push) Successful in 27s
Billing lists per-transfer storage costs and monthly estimates; Wallet stays focused on balance and top-up.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 10:43:56 +00:00
isaaccladandCursor c0c95c4bc8 Fix settings save 500 by dropping Events-only preference columns.
Deploy Ladill Transfer / deploy (push) Successful in 33s
Transfer qr_settings only stores notify_email and product_updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 10:29:40 +00:00
isaaccladandCursor b09a72cefc Scope Afia assistant to Ladill Transfer.
Deploy Ladill Transfer / deploy (push) Successful in 45s
Replace Mini/QR Plus copy and system prompt with Transfer file-sharing context, suggestions, and dashboard metrics.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 10:11:27 +00:00
isaaccladandCursor c1e3d8b3ac Initial Ladill Transfer app — file sharing with QR links.
Scaffolded from the Ladill mini/events extraction pattern: multi-file transfers,
retention controls, public landing pages, analytics, and Gitea deploy workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 09:25:30 +00:00