memos/proto/gen/api/v1
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
..
apiv1connect feat(attachment): upload files in resumable chunks 2026-09-08 21:07:06 +08:00
ai_service.pb.go feat(spaces): add multi-space memo collaboration (#6228) 2026-08-23 19:36:50 +08:00
ai_service.pb.gw.go feat(ai): add instance AI providers and transcription (#5829) 2026-04-12 19:23:34 +08:00
ai_service_grpc.pb.go feat(settings): move tag metadata to user settings (#6017) 2026-06-07 23:58:00 +08:00
attachment_service.pb.go feat(attachment): upload files in resumable chunks 2026-09-08 21:07:06 +08:00
attachment_service.pb.gw.go feat(attachment): upload files in resumable chunks 2026-09-08 21:07:06 +08:00
attachment_service_grpc.pb.go feat(attachment): upload files in resumable chunks 2026-09-08 21:07:06 +08:00
auth_service.pb.go feat(spaces): add multi-space memo collaboration (#6228) 2026-08-23 19:36:50 +08:00
auth_service.pb.gw.go refactor: user auth improvements (#5360) 2025-12-18 18:15:51 +08:00
auth_service_grpc.pb.go feat(settings): move tag metadata to user settings (#6017) 2026-06-07 23:58:00 +08:00
common.pb.go feat(spaces): add multi-space memo collaboration (#6228) 2026-08-23 19:36:50 +08:00
idp_service.pb.go feat(spaces): add multi-space memo collaboration (#6228) 2026-08-23 19:36:50 +08:00
idp_service.pb.gw.go refactor(memo-views): replace shortcuts with saved views (#6167) 2026-08-09 20:27:27 +08:00
idp_service_grpc.pb.go feat(settings): move tag metadata to user settings (#6017) 2026-06-07 23:58:00 +08:00
instance_service.pb.go feat(instance): persist access mode independently of URL (#6225) 2026-08-22 14:15:31 +08:00
instance_service.pb.gw.go refactor(memo-views): replace shortcuts with saved views (#6167) 2026-08-09 20:27:27 +08:00
instance_service_grpc.pb.go feat(settings): move tag metadata to user settings (#6017) 2026-06-07 23:58:00 +08:00
memo_service.pb.go feat(memos): support moving memos between spaces (#6285) 2026-09-07 20:45:59 +08:00
memo_service.pb.gw.go refactor(memo-views): replace shortcuts with saved views (#6167) 2026-08-09 20:27:27 +08:00
memo_service_grpc.pb.go feat(spaces): add multi-space memo collaboration (#6228) 2026-08-23 19:36:50 +08:00
memo_view_service.pb.go feat(spaces): add multi-space memo collaboration (#6228) 2026-08-23 19:36:50 +08:00
memo_view_service.pb.gw.go refactor(memo-views): replace shortcuts with saved views (#6167) 2026-08-09 20:27:27 +08:00
memo_view_service_grpc.pb.go refactor(memo-views): replace shortcuts with saved views (#6167) 2026-08-09 20:27:27 +08:00
space_service.pb.go feat(spaces): support custom icons and emoji (#6287) 2026-09-07 23:12:18 +08:00
space_service.pb.gw.go feat(spaces): add consent-based member invitations (#6232) 2026-08-25 23:21:19 +08:00
space_service_grpc.pb.go feat(spaces): add consent-based member invitations (#6232) 2026-08-25 23:21:19 +08:00
user_service.pb.go feat(spaces): deliver invitations to the inbox (#6266) 2026-09-04 08:58:49 +08:00
user_service.pb.gw.go feat(spaces): add space-aware UI and filtering (#6230) 2026-08-24 23:13:55 +08:00
user_service_grpc.pb.go fix(api): align resource IDs with AIP conventions 2026-07-18 11:12:28 +08:00