Skip to content

Feat/project skeleton - #11

Merged
AESMatias merged 6 commits into
mainfrom
feat/project-skeleton
Sep 25, 2026
Merged

AESMatias merged 6 commits into
mainfrom
feat/project-skeleton

Conversation

@AESMatias

Copy link
Copy Markdown
Owner

No description provided.

… of each document task

A test upload of an 800 MB decompression bomb disguised as a small PDF made the kernel kill the worker. Uploads now inflate every compressed stream in 1 MB steps before any PDF parser touches the file and reject streams that expand beyond 100 times their size (or 256 MB). The worker checks again, each child process has a 450 MB data memory ceiling so a bomb that slips through raises MemoryError and fails cleanly, and every task has a 300 s soft and 330 s hard time limit. The FAQ toggle is no longer selectable, framework icons grow inside a fixed box and page-pack buttons no longer move on hover.
…le password policy

Users can delete their account from the account page (confirming with the password, or the email for Google-only accounts), with a link sent to the account's email from the public /delete-account page, or by writing to the contact address, handled within 48 hours. Deletion cancels any live subscription at PayPal, erases documents and usage, and anonymizes the account row so payment records required by tax law keep no personal data (migration 0005 adds the deleted status). Passwords follow NIST SP 800-63B: 10 to 128 characters, no composition rules, and common passwords, sequences and passwords based on the email or name are refused, with a live strength meter in every password form. The terms and privacy policy describe the deletion options. The navbar drops the Steps link, step icons round their corners as they turn, the footer and the document dialog header are centered on phones and tablets, and the account avatar is round.
…ver and enlarge the page loader

The logo mark is split into a gradient background that turns and rounds its corners and a document that stays upright. In the headers, scrolling down makes the mark and the name swap places, the mark crossing in front of the name while spinning and shrinking; in the footer and elsewhere the mark spins on hover. Hovering the logo fills the name with gold from left to right. The header logo of signed-in pages now leads to the home page instead of the dashboard, the page loader is a larger gradient ring with a fading tail, and the Process PDF button is centered.
The mark and the name now swap places in step with the scroll instead of on a threshold: the movement completes after scrolling 30% of the viewport height, the mark shrinks only halfway through and ends at its normal size, and the background turns a full circle. Transforms are written directly once per animation frame, with a 150 ms ease-out to smooth mouse-wheel steps.
…e them

Requests from the public deletion form are now stored in a new
deletion_requests table (migration 0006) and committed before the
confirmation email goes out, so they reach the admin panel even when
SMTP is unset or delivery fails. The admin can delete the account or
dismiss the request from a new tab, and can erase any account by hand
from its edit panel. Requests close by themselves when the owner uses
the emailed link or deletes the account from the account page.

Also fix two mypy errors in the tests.
@AESMatias
AESMatias merged commit 8903ccc into main Sep 25, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant