openhands
3c8abb6fbf
CI / check (push) Successful in 39s
CI / tests-imaging-browsers (push) Successful in 2m9s
CI / tests-integration (push) Successful in 2m47s
CI / tests-unit (push) Failing after 3m22s
CI / tests-ui (push) Failing after 4m14s
CI / preflight (push) Skipped
CI / deploy (push) Skipped
feat(assets): choose furniture bundle ext via FURNI_BUNDLE_EXT
...
Bundle the remaining imaging hardening and the host/CI fixes from the
"Doe alles" pass into one release.
Furniture:
- Resolve the local bundle extension from FURNI_BUNDLE_EXT (".hab" default,
".nitro" for a stock Nitro client). The configured extension is written by
imports/repairs and preferred on lookup; the other stays a legacy fallback.
Imaging:
- Avatar proxy sends s-maxage=86400 + stale-while-revalidate (300/3600 for the
fallback path) so the edge can hold a render a day.
- Cloudflare cache rule now covers /api/imaging/ (verified MISS->HIT live).
- Document that bare /imaging is shadowed by the edge proxy to the renderer.
Ops/CI:
- docker-update.sh skips a CI-managed host (exit 0) instead of failing cron.
- ci-deploy.sh runs the cross-browser imaging gate (chromium+firefox+webkit)
against the candidate before cutover; DEPLOY_SKIP_CROSS_BROWSER=1 as escape.
- scripts/imager-health-alert.sh alerts (Discord) on imager up/down transitions;
runs from cron every 5 minutes.
Tests:
- Furniture bundle-ext resolver + FURNI_BUNDLE_EXT wiring.
- Imaging performance budget (bytes + warm latency).
- classifyDdos: /api/imaging/* stays in the api bucket.
2026-10-14 21:46:56 +02:00
..
2026-10-12 17:42:19 +02:00
2026-10-09 17:12:50 +02:00
2026-07-13 21:57:41 +02:00
2026-09-13 19:24:43 +02:00
2026-10-14 21:46:56 +02:00
2026-09-13 19:24:43 +02:00
2026-10-12 17:42:19 +02:00
2026-08-25 22:26:05 +02:00
2026-09-11 00:36:55 +02:00
2026-09-13 19:24:43 +02:00
2026-09-21 18:37:39 +02:00
2026-07-26 20:28:11 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-08-02 11:46:43 +02:00
2026-07-26 20:28:11 +02:00
2026-10-09 16:19:48 +02:00
2026-09-21 18:37:39 +02:00
2026-09-05 20:08:19 +02:00
2026-09-21 18:37:39 +02:00
2026-09-20 12:29:01 +02:00
2026-09-21 18:37:39 +02:00
2026-09-06 17:25:04 +02:00
2026-10-12 17:42:19 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 21:14:10 +02:00
2026-09-21 18:37:39 +02:00
2026-09-06 17:17:30 +02:00
2026-09-22 22:22:51 +02:00
2026-10-02 17:16:03 +02:00
2026-09-21 18:37:39 +02:00
2026-10-09 16:19:48 +02:00
2026-09-25 19:47:10 +02:00
2026-09-25 19:47:10 +02:00
2026-09-25 18:42:23 +02:00
2026-09-30 15:15:34 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 19:36:15 +02:00
2026-09-09 19:36:15 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 00:36:55 +02:00
2026-09-21 18:37:39 +02:00
2026-09-13 18:33:45 +02:00
2026-07-18 20:31:18 +02:00
2026-10-09 17:12:50 +02:00
2026-10-14 20:40:50 +02:00
2026-09-21 18:37:39 +02:00
2026-08-01 15:07:54 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-05 19:53:09 +02:00
2026-09-25 18:26:45 +02:00
2026-09-25 18:26:45 +02:00
2026-09-25 18:26:45 +02:00
2026-10-02 17:16:03 +02:00
2026-10-02 17:16:03 +02:00
2026-10-02 17:16:03 +02:00
2026-09-25 18:26:45 +02:00
2026-09-25 18:26:45 +02:00
2026-10-11 17:01:37 +02:00
2026-10-11 17:01:37 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 23:28:22 +02:00
2026-09-21 18:37:39 +02:00
2026-07-13 21:57:41 +02:00
2026-10-10 17:26:12 +02:00
2026-10-10 13:07:13 +02:00
2026-10-12 20:05:56 +02:00
2026-09-22 22:22:51 +02:00
2026-09-22 22:22:51 +02:00
2026-09-22 22:22:51 +02:00
2026-09-21 18:37:39 +02:00
2026-07-13 21:57:41 +02:00
2026-09-21 18:37:39 +02:00
2026-08-29 20:54:06 +02:00
2026-09-22 23:31:41 +02:00
2026-09-28 21:55:18 +02:00
2026-09-22 22:22:51 +02:00
2026-09-22 22:22:51 +02:00
2026-09-06 17:55:11 +02:00
2026-09-21 18:37:39 +02:00
2026-10-09 16:19:48 +02:00
2026-10-14 20:40:50 +02:00
2026-10-14 20:40:50 +02:00
2026-09-21 18:37:39 +02:00
2026-07-31 14:11:03 +02:00
2026-09-17 21:02:57 +02:00
2026-09-22 23:27:15 +02:00
2026-10-02 17:16:03 +02:00
2026-10-14 21:46:56 +02:00
2026-10-14 21:46:56 +02:00
2026-09-12 17:28:01 +02:00
2026-10-05 17:24:12 +02:00
2026-10-11 17:01:37 +02:00
2026-10-02 21:59:39 +02:00
2026-09-21 18:37:39 +02:00
2026-10-05 21:13:49 +02:00
2026-09-28 21:55:18 +02:00
2026-09-28 21:55:18 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 21:57:56 +02:00
2026-09-21 18:37:39 +02:00
2026-09-13 20:25:03 +02:00
2026-09-21 18:37:39 +02:00
2026-09-09 19:36:15 +02:00
2026-09-21 18:37:39 +02:00
2026-07-13 21:57:41 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 08:58:10 +02:00
2026-09-21 18:37:39 +02:00
2026-09-05 23:27:02 +02:00
2026-09-21 18:37:39 +02:00
2026-09-20 12:58:55 +02:00
2026-09-21 18:37:39 +02:00
2026-08-02 14:22:05 +02:00
2026-08-27 16:42:12 +02:00
2026-10-09 17:12:50 +02:00
2026-10-09 17:12:50 +02:00
2026-09-25 18:26:45 +02:00
2026-09-25 18:26:45 +02:00
2026-09-21 18:37:39 +02:00
2026-10-14 20:40:50 +02:00
2026-10-14 20:40:50 +02:00
2026-10-14 20:40:50 +02:00
2026-10-14 20:40:50 +02:00
2026-10-14 20:40:50 +02:00
2026-10-14 20:40:50 +02:00
2026-09-24 23:34:54 +02:00
2026-09-14 17:35:36 +02:00
2026-10-14 20:40:50 +02:00
2026-09-21 18:37:39 +02:00
2026-10-12 17:42:19 +02:00
2026-10-12 17:42:19 +02:00
2026-10-05 20:25:22 +02:00
2026-09-21 18:37:39 +02:00
2026-07-13 21:57:41 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 00:34:49 +02:00
2026-09-05 20:58:42 +02:00
2026-08-25 22:19:59 +02:00
2026-07-28 18:49:25 +02:00
2026-09-21 18:37:39 +02:00
2026-07-13 21:57:41 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-18 12:57:52 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 10:49:08 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 10:49:08 +02:00
2026-09-20 12:29:01 +02:00
2026-10-09 16:19:48 +02:00
2026-09-24 23:22:28 +02:00
2026-10-09 16:19:48 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 10:49:08 +02:00
2026-09-11 00:39:53 +02:00
2026-09-21 18:37:39 +02:00
2026-09-11 00:36:55 +02:00
2026-10-09 17:12:50 +02:00
2026-10-09 17:12:50 +02:00
2026-09-25 18:26:45 +02:00
2026-08-12 14:34:29 +02:00
2026-09-05 19:53:09 +02:00
2026-09-21 18:37:39 +02:00
2026-09-07 22:37:53 +02:00
2026-10-14 20:40:50 +02:00
2026-09-21 18:37:39 +02:00
2026-07-26 20:28:11 +02:00
2026-07-13 21:57:41 +02:00
2026-09-21 18:37:39 +02:00
2026-09-04 13:04:08 +02:00
2026-09-21 18:37:39 +02:00
2026-09-05 19:53:09 +02:00
2026-09-12 17:28:01 +02:00
2026-08-31 18:11:54 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:37:39 +02:00
2026-09-18 12:44:39 +02:00
2026-08-31 17:44:29 +02:00
2026-09-21 18:37:39 +02:00
2026-08-08 21:46:40 +02:00
2026-07-16 15:53:53 +02:00
2026-09-16 19:45:57 +02:00
2026-09-21 18:37:39 +02:00
2026-09-16 19:45:57 +02:00
2026-08-31 17:15:42 +02:00
2026-07-26 20:28:11 +02:00
2026-09-21 18:37:39 +02:00
2026-09-21 18:11:15 +02:00
2026-09-21 18:37:39 +02:00
2026-07-13 21:57:41 +02:00
2026-09-21 18:37:39 +02:00
2026-07-13 21:57:41 +02:00
2026-09-21 18:37:39 +02:00
2026-07-13 21:57:41 +02:00
2026-07-21 21:08:33 +02:00
2026-07-13 21:57:41 +02:00
2026-10-05 20:25:22 +02:00
2026-09-21 18:37:39 +02:00