ContactFiles
A person's own file manager (doc 89): folders per contact (standard ones from a workspace template), before/after pairs, sensitive folders, an access log, export. The media library's upload pipeline scoped to one contact. Feature contact_files.
A person's file space — folders, abilities, limits
Doc 89. The first open writes the workspace's standard folders for this
List / search a person's files
Only files the caller may see (files in locked folders are never listed,
Upload a file through the server (mobile app)
A form post; the server sniffs the bytes itself before keeping them
Start a direct upload (web)
The media library's pipeline (doc 60 §5): reserve a key under
Finish a contact file upload
Checks size and sniffs the head of the object; a mismatch deletes it (422).
Cancel a started upload
Cancel a started upload
Signed byte sink for disks that cannot presign (development)
Signed byte sink for disks that cannot presign (development)
Save a chat attachment onto the person (same object, no copy)
Only an attachment from one of this person's own conversations that the
File media-library documents on the person (same object, no copy)
Replaces the old `contacts/{contact}/attachments/from-library` (doc 60 §7). Each file must be usable by the caller in the library.
The access log of a person's files
Who opened, downloaded, sent, moved or deleted what, and when — these can
Export the person's files as a ZIP (KVKK / GDPR portability)
Streamed from object storage to the browser (nothing is written on the
Before/after pairs
Only pairs whose two images the caller can see and neither of which is in the trash.
Pair two of the person's images
Pair two of the person's images
Short-lived urls for both images of a pair (logged once)
Short-lived urls for both images of a pair (logged once)
Unpair (the images stay)
Unpair (the images stay)
Add a folder for this person
Marking it sensitive, or creating it inside a sensitive folder, needs `contact_files.sensitive`.
Rename, move, reorder or (un)mark sensitive
Rename, move, reorder or (un)mark sensitive
Remove a folder — its files and subfolders move up one level
Remove a folder — its files and subfolders move up one level
One file (404 for a file in a locked folder)
One file (404 for a file in a locked folder)
Rename, annotate, tag, date, move
Rename, annotate, tag, date, move
Move to the trash (`contact_files.delete`)
Move to the trash (`contact_files.delete`)
Bring a trashed file back
Bring a trashed file back
Delete for good (an object a message still uses is kept)
Delete for good (an object a message still uses is kept)
A five-minute url to the file — and a line in the access log
`preview` opens inline for images, video, audio and PDF; everything else
Send the person's own files in their conversation
Staged as pending attachments over the same objects; the composer sends
Settings → Contact files
The standard folder tree, upload limits and the line-of-business presets. Requires `contact_files.configure`.
Save the standard folders and limits
A new template applies to people whose files are opened for the first time from now on.