Public URLs, encoded payloads, slug preview, payment callbacks, and asset paths now use ladl.link instead of ladill.com/q/*.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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>
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>
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>
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>
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>
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>
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>