penpot/media-processor
Andrey Antukh 69a7d535b7 🐛 Keep pending SVG requests from blocking image and font requests
The queue middleware is shared by every route, and a request holds its
queue slot for its whole lifetime. An SVG request waiting for a free
worker therefore occupied a global slot, and image and font requests
queued behind it even though the SVG work runs on its own threads.

SVG now has its own queue, so its waits only affect other SVG requests.
Image and font keep sharing one queue.

The app wiring moves to `app.ts` (`createApp`), apart from `index.ts`
(which loads the config, wires the services and listens), so a test can
build the real app without starting a server; `queue-isolation.test.ts`
uses it to prove a pending SVG request does not block an image request.

AI-assisted-by: deepseek-v4.1-flash
2026-10-08 09:50:04 +00:00
..