IRC needs auto-media hosting #18

Closed
opened 2026-08-24 00:01:56 -04:00 by Salastil · 2 comments
Owner

Currently when uploading images to Sneedchat it will autohost it at postimg.cc and wrap in bbcode. We need to just host and give a direct url to the image or media for IRC.

Currently when uploading images to Sneedchat it will autohost it at postimg.cc and wrap in bbcode. We need to just host and give a direct url to the image or media for IRC.
Salastil added the feature label 2026-08-24 00:01:56 -04:00
Author
Owner

Implemented. nobilis 2f9c2bc ("Upload a file anywhere, so IRC can carry one at all") and moho 8453f59.

An attachment on IRC is uploaded and the link sent on the same line as the caption, so the two cannot arrive out of order.

Worth recording that this was broken in practice until today and is now repaired in nobilis 030707f: catbox.moe's HTTP/1.1 path answers a completed upload with a chunked 500 and drops TLS without a close_notify, which rustls correctly reports as a truncated stream — so the reply was never read and the link, which the server had already sent, was discarded. Every attachment failed, images and video alike. Fixed by negotiating HTTP/2 (where the same request gets a clean 200) and by reading the outcome from the response body rather than the status line.

Ready to close if you agree.

Filed from a protocol coverage survey.

Implemented. nobilis `2f9c2bc` ("Upload a file anywhere, so IRC can carry one at all") and moho `8453f59`. An attachment on IRC is uploaded and the link sent on the same line as the caption, so the two cannot arrive out of order. Worth recording that this was **broken in practice until today** and is now repaired in nobilis `030707f`: catbox.moe's HTTP/1.1 path answers a completed upload with a chunked 500 and drops TLS without a `close_notify`, which rustls correctly reports as a truncated stream — so the reply was never read and the link, which the server had already sent, was discarded. Every attachment failed, images and video alike. Fixed by negotiating HTTP/2 (where the same request gets a clean 200) and by reading the outcome from the response body rather than the status line. Ready to close if you agree. _Filed from a protocol coverage survey._
Author
Owner

Finished — nobilis 2f9c2bc, moho 8453f59, nobilis 030707f

Finished — nobilis [`2f9c2bc`](https://git.salastil.com/Salastil/nobilis/commit/2f9c2bc), moho [`8453f59`](https://git.salastil.com/Salastil/moho/commit/8453f59), nobilis [`030707f`](https://git.salastil.com/Salastil/nobilis/commit/030707f)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Salastil/moho#18