Commit Graph

37082 Commits

Author SHA1 Message Date
luyao618
9ac0b7edbc fix(bonjour): truncate mDNS service name and hostname to 63-byte DNS label limit
When the system hostname exceeds 63 bytes (common with Kubernetes pod
names), the @homebridge/ciao DNS label encoder throws an AssertionError
that crashes the gateway on startup.

Add truncateToDnsLabel() that safely truncates UTF-8 strings at byte
boundaries, applied to both the service instance name and hostname
before passing them to ciao.

Closes #37705

AI-assisted (built with Hermes orchestration).
2026-04-27 21:19:26 +01:00
ryuhaneul
f5b01c1e0e fix(docker): install ca-certificates in slim runtime base
Commit 2cd23957c0 ("build: use slim docker runtime") switched the
runtime image from `node:24-bookworm` (full) to `node:24-bookworm-slim`.
The slim base does not ship `ca-certificates`, and the runtime stage's
`apt-get install` line was not updated to add it.

Result on the resulting image:
- `/etc/ssl/certs/` is empty (`ls /etc/ssl/certs/ | wc -l` == 0)
- `dpkg -l ca-certificates` reports `un` (not installed)
- `update-ca-certificates` is missing in `$PATH` (exit 127)
- every HTTPS outbound from the gateway dies at TLS handshake with
  `error setting certificate file: /etc/ssl/certs/ca-certificates.crt`
- channel plugins that use `node fetch` (telegram/discord/slack)
  crash-loop with `Network request for 'deleteWebhook' failed!`
  and pin the gateway main thread at ~100% CPU on retry.

Verified by rebuilding the runtime image with this patch and
confirming inside the container:
- `ls /etc/ssl/certs/ | wc -l` -> 285
- `curl -4 https://api.telegram.org/` -> 302
- `curl -4 https://www.google.com/`   -> 200
- channel plugins (telegram/discord/slack) register cleanly,
  gateway main-thread CPU returns to idle.

Add `ca-certificates` to the apt-install list and call
`update-ca-certificates` to populate the CA bundle.

Signed-off-by: ryuhaneul <luj.moonlight@gmail.com>
2026-04-27 21:19:22 +01:00
iot2edge
98928388db fix(cli): clarify completion cache timeout message after openclaw update
When the post-update completion cache refresh times out (slow disk,
large bundled plugin tree, Docker overlayfs), the user previously saw
the opaque 'Completion cache update failed: Error: spawnSync
/usr/bin/node ETIMEDOUT'. Detect ETIMEDOUT specifically, surface
'timed out after 30s', and append a manual refresh hint pointing at
'openclaw completion --write-state' so users know it's non-fatal and
how to recover.

Fixes #72842
2026-04-27 21:19:18 +01:00
Peter Steinberger
cdf88bcad4 test: harden release qa live gates 2026-04-27 21:16:48 +01:00
Peter Steinberger
71c74b766e fix(plugins): avoid hand-built extension path markers 2026-04-27 21:12:09 +01:00
Peter Steinberger
465b621cf1 fix(sessions): avoid guarded route-only entries 2026-04-27 21:11:12 +01:00
Peter Steinberger
d62cb3c681 docs(changelog): credit pending low-risk fixes 2026-04-27 21:09:20 +01:00
Peter Steinberger
911be12648 docs: credit bare reset transcript fix 2026-04-27 21:08:50 +01:00
Maho Pan
1dbc250b1a fix: keep bare reset transcript prompt non-empty 2026-04-27 21:08:50 +01:00
Peter Steinberger
03bfdbb052 fix: stage mirrored bundled runtime deps 2026-04-27 21:07:40 +01:00
Peter Steinberger
ff52e281aa perf(test): slim responses payload policy imports 2026-04-27 21:06:40 +01:00
Peter Steinberger
08e7561972 ci: broaden extension boundary guards 2026-04-27 21:02:53 +01:00
Peter Steinberger
e9b1fbb8c4 refactor: pin remaining extension api surfaces 2026-04-27 21:02:53 +01:00
Peter Steinberger
221bfc8929 docs: credit media MIME sanitizer fix 2026-04-27 21:02:30 +01:00
volcano303
e7b87217a2 fix(media): anchor sanitizeMimeType regex and reject trailing junk
Add an end anchor to the type/subtype match and explicitly accept the
RFC 9110 ;parameter tail. Inputs like "image/png<script>" or
"application/json garbage" now return undefined instead of silently
matching the leading prefix.

Closes #9795
2026-04-27 21:02:30 +01:00
Peter Steinberger
1f256306c9 test: align gateway tests with config io split 2026-04-27 21:02:26 +01:00
Peter Steinberger
5e49e8590d fix(cli): resolve message channel plugin scopes 2026-04-27 21:02:09 +01:00
Peter Steinberger
0c305596a2 fix(channels): skip route updates without session creation 2026-04-27 21:00:49 +01:00
haishmg
d32903c283 docs(providers): sort provider directory 2026-04-27 21:00:04 +01:00
Peter Steinberger
a2b84e98e9 fix: clean up trajectory sidecars 2026-04-27 20:58:28 +01:00
Peter Steinberger
9402bca614 fix: limit session list enrichment 2026-04-27 20:58:02 +01:00
Peter Steinberger
72f3c840c7 fix(cli): narrow message plugin registry loads 2026-04-27 20:55:56 +01:00
Peter Steinberger
161b722303 test(gateway): mock split config modules 2026-04-27 20:54:23 +01:00
Peter Steinberger
930b443c9e fix(ollama): preserve streaming usage compat 2026-04-27 20:54:22 +01:00
Vincent Koc
cff991c88d fix(ui): stabilize WebChat final reload reconciliation (#72325)
* fix(ui): stabilize WebChat final reload reconciliation

* fix(clownfish): address review for ghcrawl-165991-agentic-merge (1)

* fix(ui): keep plain control-token text visible
2026-04-27 12:52:39 -07:00
Peter Steinberger
f56897259e fix(cli): keep route-first json stdout clean 2026-04-27 20:51:50 +01:00
Peter Steinberger
f0000ab72d refactor(plugin-sdk): split infra runtime barrel 2026-04-27 20:50:35 +01:00
Peter Steinberger
d7c3a77b93 fix(telegram): skip polling webhook probe 2026-04-27 20:49:57 +01:00
Peter Steinberger
5a23032adb fix(plugins): detect install root rebinding 2026-04-27 20:47:54 +01:00
Peter Steinberger
f6b2ba4a10 fix(control-ui): coalesce duplicate chat submits 2026-04-27 20:45:28 +01:00
Peter Steinberger
8cddb6ce7d fix(webchat): drop stale optimistic assistant tails 2026-04-27 20:45:28 +01:00
Peter Steinberger
6dc8bd8935 fix(gateway): read active transcript history branch 2026-04-27 20:45:28 +01:00
Peter Steinberger
9645fe72c6 test: harden release validation live shards 2026-04-27 20:45:25 +01:00
Peter Steinberger
f90972d942 fix: install plugins through symlinked extension roots 2026-04-27 20:42:37 +01:00
Peter Steinberger
a6adc5f4f1 test(gateway): mock runtime config io imports 2026-04-27 20:40:54 +01:00
Peter Steinberger
f7d2b396d6 fix(test): restore gateway fixture startup config 2026-04-27 20:36:32 +01:00
Peter Steinberger
1fc19ffe11 refactor: narrow messaging public api barrels 2026-04-27 20:34:36 +01:00
Peter Steinberger
a20f97f728 refactor: narrow extension runtime api barrels 2026-04-27 20:34:35 +01:00
Peter Steinberger
31e529f000 ci: guard extension wildcard reexports 2026-04-27 20:34:35 +01:00
Peter Steinberger
f7d67b8ea8 fix(channels): ignore persisted auth for auto-enable 2026-04-27 20:33:43 +01:00
Peter Steinberger
dec1f68d7e fix(litellm): honor noninteractive custom base url 2026-04-27 20:33:04 +01:00
Vincent Koc
74eccd42d8 fix(ci): add android CodeQL security shard
Add a manual Android CodeQL security shard scoped to app production sources. Verified with profile=android-security on Blacksmith in 4m22s.
2026-04-27 12:32:55 -07:00
Peter Steinberger
4cd68fafbb fix(sessions): ignore future freshness timestamps 2026-04-27 20:30:59 +01:00
Peter Steinberger
54e13d4910 ci: split release validation slow shards 2026-04-27 20:30:17 +01:00
Peter Steinberger
2f488b7e7a docs: clarify ClawHub plugin discovery 2026-04-27 20:26:49 +01:00
Peter Steinberger
dc76963e36 fix(gateway): bind startup cron hook to live state 2026-04-27 20:25:46 +01:00
Peter Steinberger
7829c438a6 fix(tts): keep final webchat audio supplemental 2026-04-27 20:22:18 +01:00
Peter Steinberger
d2b0ff808a fix(gateway): ignore broken pipe crashes 2026-04-27 20:17:04 +01:00
Vincent Koc
3cb460873d fix(ui): stabilize agent model selection on switch (#72328)
* fix(ui): stabilize agent model selection on switch

* docs(changelog): credit projectclownfish fixes
2026-04-27 12:06:02 -07:00
Val Alexander
b393febbfa chore: remove coven changelog entries
Remove the two Unreleased Coven ACP/runtime changelog bullets that were reintroduced after the Coven extension removal.\n\nVerification:\n- rg -n -i "coven" CHANGELOG.md Swabble/CHANGELOG.md extensions/matrix/CHANGELOG.md apps/ios/CHANGELOG.md\n- git diff --check origin/main..HEAD\n- PR checks passed on head 767c274b0f
2026-04-27 14:05:23 -05:00