Let people without an account upload into your space through a file request#130

merged1
dev
portal/1-server
openedOct 9, 2026byAAviddaram
View on GitHubTwo-way sync enabledPR last imported 20d ago

MASV's portals let a client send footage in without an account; we only sent outward. This layer is the server side of file requests.

1file_request(id, owner_id, title, instructions, retention_days, expires_at, max_bytes?, closed_at)
2delivery += request_id, uploader_name, uploader_email
3token /r/<requestId>.<hmac> via LinkTokens (same key, constant-time verify; closed or expired → RequestNotFound)
4CreateRequestUpload → the existing INSERT … SELECT, now also: request open AND unexpired AND declared bytes ≤ max_bytes, plus the owner's plan space and Free caps
5Sign/FinalizeRequestTransfer only reach transfers created through that request; uploaders never see other uploaders' files or the owner's link
6rate limits: 600/min per IP before token verify, 1,200/min per request, 10 new uploads/min per IP (ns 1008-1010)

Migration 20261009135822_file_request (most of this layer's line count is its generated snapshot). The "before public uploads" gates in RELIABILITY.md (file-type allowlist, abuse reports) are not built yet; the owner chooses who gets the link.

Checks

1 failing · 3 successful · 1 skipped
Some checks failed

Failing1

808cf22

Added 1 commit

  • Add file requests to the API: an owner opens a link, anyone with it can upload808cf22
Synced from GitHub

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d1ebf941-ef38-4a1b-ae88-1cd833b74dfc

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.