Idea (low, later): a file manager for humans and organisations, attachments referenced instead of re-uploaded, stored once by hash
tsk-yn7n6w9snsmm proposed
Oliver, 2026-10-29 (prio low, later):
- A person and an organisation get a file manager: an archive of their attachments where they upload, edit (name, maybe replace) and delete.
- A message can reference a file from the archive instead of uploading it again.
- Identical files are recognised by their hash and stored once; every use references the same bytes.
Open design points for the contract (to settle before building):
- Today an attachment belongs to exactly one message, and its audience is that message's (§8.7, already_attached). Referencing one archived file from several messages needs a rule for who may read it (per reference) and what a deletion does to messages that reference it (tombstone everywhere?).
- Deduplication across owners leaks existence (an upload that is 'already there' reveals that someone stored it): dedupe within one owner (person or organisation) only, or hide it entirely.
- Quota: counted per owner archive, not per project? Interaction with the project quota (MAITY_ATTACHMENT_QUOTA) and account deletion/export (§2.9).
- 'Edit': metadata only, or a new version of the bytes (then the hash changes).
Oliver, 2026-10-29, second message:
- Owners: a person has an archive; a project has its own attachments, which count for the project (its quota).
- Sharing: when a person shares a file, the other gets a reference. They can take it into their own archive; held as a reference, it is deleted for them when the owner deletes it.
- Answered: the receiver can take a shared file into their own archive, and then it survives the sender's deletion (counts against the receiver's storage; with the hash it is still stored once). A reference not taken over goes with the sender's deletion.
- Storage: a person 10 MB, a project 50 MB (Oliver, 2026-10-29). Today's project quota default is 1 GiB (MAITY_ATTACHMENT_QUOTA); settled: prod keeps the 1 GiB default now; the 10 MB / 50 MB defaults come with the file manager (a full quota needs a way to free room), operator-changeable. Prio stays low.