Stop uploads hanging on 'Converting...' — route NATS progress + direct image thumbnails

FixConversionService
Shipped
July 8, 2026 at 3:48 PM UTC
Author
Kamo
Commit
c99abd9

The conversion-progress publish used NatsMessageService.publish(), which asserts expectedStream=<this service's stream>. The subject **************** resolves to the DAEMON_SYNC stream, so JetStream rejected every event with error 10060 and dropped it — the browser's conversion websocket never received a terminal event and hung on 'Converting...' forever. Switch to publishRouted() (no expectedStream, route by subject), matching the social.*->SOCIAL_MESSAGES pattern. Also: raster images (PNG/JPG) were routed through Docs, which 500s on many raster inputs; a PDF rendition is pointless for an already-viewable image. Add an IMAGE branch that generates a resized page-0 thumbnail directly via ImageIO, mirroring the video poster path, and publish a terminal 'error' event on any conversion failure so the UI fails cleanly instead of hanging.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing