Andrey Antukh
53008ea794
✨ Add create-job-session for external worker rendering
...
The management method mints a real `http_session_v2` of the owner of a
running job, so a worker renders as the user through the auth surfaces
that already exist (cookies for render.html and assets, Bearer for the
RPC). It refuses anything the login would not accept: an unknown job,
a job that is not running, a job without owner, and an owner profile
that is inactive, blocked or deleted.
Every call mints a fresh session, so worker retries never wait on one
a settle may have closed, and the token carries the short `:exp` of the
new `:job-session-ttl` config (default 1h): a worker that dies without
settling leaves nothing usable for long, and the sessions idle GC
sweeps the row. The token minting moves to a public `generate-token` in
app.http.session, with an explicit `:exp`, and the login path delegates
to it unchanged.
AI-assisted-by: glm-5.3-flash
2026-10-07 14:03:09 +02:00
..
2026-10-07 14:03:06 +02:00
2026-10-07 11:52:48 +02:00
2026-09-29 23:07:26 +02:00
2026-09-10 20:29:44 +02:00
2026-09-23 12:31:50 +02:00
2026-09-15 17:10:54 +02:00
2026-10-07 11:52:48 +02:00
2026-10-06 17:33:43 +02:00
2026-10-06 15:58:01 +02:00
2026-08-25 11:55:10 +02:00
2026-10-07 11:52:48 +02:00
2026-09-23 15:25:21 +02:00
2026-10-06 07:33:12 +02:00
2026-10-06 07:33:12 +02:00
2026-08-25 11:55:10 +02:00
2026-10-06 07:33:12 +02:00
2026-10-06 07:33:12 +02:00
2026-09-09 17:58:09 +02:00
2026-09-29 09:07:34 +02:00
2026-09-24 11:42:14 +02:00
2026-10-07 11:52:48 +02:00
2026-10-07 11:52:48 +02:00
2026-09-10 20:29:44 +02:00
2026-09-24 12:19:29 +02:00
2026-09-15 19:22:56 +02:00
2026-09-14 14:50:32 +02:00
2026-09-23 18:03:03 +02:00
2026-08-25 11:55:10 +02:00
2026-10-06 07:33:12 +02:00
2026-10-01 13:16:12 +02:00
2026-10-06 07:33:12 +02:00
2026-10-07 11:52:48 +02:00
2026-10-06 07:33:12 +02:00
2026-10-07 11:52:48 +02:00
2026-10-07 11:52:48 +02:00
2026-10-06 07:33:12 +02:00
2026-10-02 11:08:13 +02:00
2026-10-06 07:33:12 +02:00
2026-08-25 11:55:10 +02:00
2026-09-10 20:29:44 +02:00
2026-08-25 11:55:10 +02:00
2026-10-06 15:56:55 +02:00
2026-10-06 07:33:12 +02:00
2026-10-06 07:33:12 +02:00
2026-10-01 17:17:11 +02:00
2026-10-07 13:08:02 +02:00
2026-09-09 17:58:09 +02:00
2026-08-25 11:55:10 +02:00
2026-10-02 11:08:13 +02:00
2026-09-22 14:03:02 +02:00
2026-09-23 12:31:50 +02:00
2026-09-22 14:03:02 +02:00
2026-09-29 23:07:26 +02:00
2026-09-01 12:45:17 +02:00
2026-08-25 11:55:10 +02:00
2026-10-06 07:33:12 +02:00
2026-08-25 11:55:10 +02:00
2026-10-06 07:33:12 +02:00
2026-10-06 07:33:12 +02:00
2026-10-06 07:33:12 +02:00
2026-10-06 07:33:12 +02:00
2026-09-15 17:26:43 +02:00
2026-10-07 14:03:09 +02:00
2026-10-06 07:33:12 +02:00
2026-10-01 07:19:21 +02:00
2026-09-22 15:51:50 +02:00
2026-10-06 07:33:12 +02:00
2026-08-25 11:55:10 +02:00
2026-10-01 14:31:30 +02:00
2026-10-06 07:33:12 +02:00
2026-09-22 15:51:50 +02:00
2026-10-07 11:52:48 +02:00
2026-09-24 12:19:29 +02:00
2026-10-06 15:58:01 +02:00
2026-09-22 14:03:02 +02:00
2026-09-22 14:43:04 +02:00
2026-08-25 11:55:10 +02:00
2026-08-25 11:55:10 +02:00
2026-09-23 18:03:03 +02:00
2026-10-06 07:33:12 +02:00
2026-09-23 15:25:21 +02:00
2026-09-23 15:25:21 +02:00
2026-10-07 11:52:48 +02:00
2026-10-05 17:16:47 +02:00
2026-10-02 11:08:13 +02:00
2026-08-25 11:55:10 +02:00
2026-10-07 11:52:48 +02:00
2026-08-25 11:55:10 +02:00
2026-08-25 11:55:10 +02:00
2026-09-01 12:45:17 +02:00
2026-10-06 07:33:12 +02:00
2026-10-06 07:33:12 +02:00
2026-10-07 11:52:48 +02:00
2026-10-07 11:52:48 +02:00