memos/internal
boojack b3e67399b8 feat(attachment): upload files in resumable chunks
Add UploadAttachment, a unary RPC that accepts a file in bounded chunks
and streams it to a temp file instead of holding the whole blob in one
request body and in memory. A call carrying a spec starts an upload and
returns an opaque upload_id; later calls carry that id with
write_offset,
data, and finish_write, following the Cloud Storage WriteObject shape.
Retrying the last chunk after a lost response is idempotent, uploads are
bound to their owner, and they expire after 30 minutes of inactivity.

CreateAttachment and the chunked finalize now share one processing
pipeline for motion-photo detection, EXIF stripping, and storage. The
motion-photo detector works over an io.ReaderAt so large JPEGs are never
loaded whole, and the request body cap is a single per-procedure lookup.

The web editor uploads through the new RPC in 2 MiB chunks with bounded
concurrency under the server's per-user limit.
2026-09-08 21:07:06 +08:00
..
ai refactor: use the built-in max/min to simplify the code (#6060) 2026-07-02 08:35:47 +08:00
base feat(user): define username format and mention syntax (#6134) 2026-08-02 19:57:16 +08:00
email chore(go): upgrade to Go 1.27 (#6217) 2026-08-20 23:37:02 +08:00
filter feat(filter): support space placement in saved views (#6267) 2026-09-04 09:29:09 +08:00
httpgetter chore(link-preview): remove site-specific image fallback 2026-08-21 21:22:56 +08:00
idp fix(auth): support OAuth client auth auto-detection 2026-07-12 23:34:33 +08:00
markdown feat(spaces): support custom icons and emoji (#6287) 2026-09-07 23:12:18 +08:00
motionphoto feat(attachment): upload files in resumable chunks 2026-09-08 21:07:06 +08:00
profile feat(instance): persist access mode independently of URL (#6225) 2026-08-22 14:15:31 +08:00
scheduler refactor: use slices.Contains to simplify code (#6069) 2026-07-07 09:25:38 +08:00
storage fix(storage): proxy S3 attachments through authenticated routes (#6210) 2026-08-18 23:38:35 +08:00
testutil feat(storage): add named attachment storage drivers (#6184) 2026-08-13 22:37:11 +08:00
util chore(go): upgrade to Go 1.27 (#6217) 2026-08-20 23:37:02 +08:00
version fix(release): inject build version into artifacts 2026-04-19 12:02:32 +08:00
webhook fix(webhook): block unspecified-address destinations in the SSRF guard (#6284) 2026-09-07 20:13:10 +08:00