It used to be a bare base64 string, which made every attachment a photo by
construction — a voice note or a GIF had nowhere to say what it was. media is a
projection rather than the whole row for a reason that is not tidiness: a conversation
is shared, so embedding the uploader's citizenid would hand it to every other
participant. Same reasoning as publicColumns on a public read (§10).
photo_idon the way in,mediaon the way back.It used to be a bare base64 string, which made every attachment a photo by construction — a voice note or a GIF had nowhere to say what it was.
mediais a projection rather than the whole row for a reason that is not tidiness: a conversation is shared, so embedding the uploader'scitizenidwould hand it to every other participant. Same reasoning aspublicColumnson a public read (§10).