Skip to content

feat: image sideloading#223

Draft
benallfree wants to merge 13 commits intozjs81:mainfrom
MeshEnvy:feat/image-sideloading
Draft

feat: image sideloading#223
benallfree wants to merge 13 commits intozjs81:mainfrom
MeshEnvy:feat/image-sideloading

Conversation

@benallfree
Copy link
Contributor

@benallfree benallfree commented Feb 23, 2026

This is kind of a crazy idea.

I made an open source asset server powered by Cloudflare workers called Mesh Asset Server https://github.com/MeshEnvy/mas

It allows uploading images that will be saved for 30 days. You get a 6-char hash back.

This allows us to upload images and display them in chat. If someone happens to be offgrid, they'll just see something like i:f84jgf4

2026-02-23_05-56-37.mp4

To be merged first:

@zjs81
Copy link
Owner

zjs81 commented Feb 23, 2026

I like the idea however it seems insecure. Do you think you could encrypt the image with aes using the shared secret for the chat and or the secret key for the channel ?

@benallfree
Copy link
Contributor Author

@zjs81 oh snap encryption is a good idea. Then it becomes more of a general 'asset snippet' hosting, all the processing would need to be done client-side. Let me think more about that because encrypted assets per channel would be a pretty cool idea.

@benallfree
Copy link
Contributor Author

Ok this branch is updated now too.

This still seems like a cool idea to me but I'm having trouble with Chrome because it has to download the encrypted file versions to memory, decrypt them, and then display them. For some reason it's very slow in Chrome but not on MacOS.

@ericszimmermann
Copy link
Contributor

To not have two buttons at the bottom (gif and image), which take much space maybe we could keep one "Action" Button, with a pop-up for gifs and image loading. Maybe there will be even more options in feature.
(With that I second the Issue #257, however not to hide the Button, but to keep the screen more streamlined)

Best Regards
Eric

@benallfree
Copy link
Contributor Author

@ericszimmermann Yes I agree, kind of like the iphone interface where you tap on it to get a variety of choices: photos, video, camera, etc.

@zjs81
Copy link
Owner

zjs81 commented Mar 5, 2026

You could download it as a stream object and decrypt it in memory not sure if that would be any faster though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants