570f8b4d9e
fix(errors): recover from Z.AI token-limit errors ( #111744 )
...
* fix(errors): classify Z.AI token-limit overflow
* fix(zai): own token overflow classification
* fix(zai): classify live prompt overflow errors
---------
Co-authored-by: Altay <altay@hey.com >
2026-07-20 17:11:40 +03:00
7a5e0e992c
fix(codex): warn and continue on projector drift ( #99287 )
...
* fix(codex): diagnose projector protocol drift
Co-authored-by: luyifan <al3060388206@gmail.com >
* fix(codex): warn and continue on projector drift
Co-authored-by: luyifan <al3060388206@gmail.com >
* test(codex): publish materialized auth snapshot
Co-authored-by: luyifan <al3060388206@gmail.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-17 18:34:19 +01:00
db3213264a
fix: avoid model-not-found fallback on OpenRouter image-input 404s ( #99079 )
...
* fix: classify OpenRouter image-input 404s as format errors
* test(agents): prove OpenRouter 404 fallback classification
Co-authored-by: luyifan <al3060388206@gmail.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-17 13:13:54 +01:00
ecfcaa07e6
fix(shell): keep Git Bash coreutils on PATH ( #108136 )
...
* fix(windows): expose Git Bash coreutils to commands
Co-authored-by: luyifan <al3060388206@gmail.com >
* test(windows): inject duplicate PATH variants
* test(windows): run Git Bash integration in CI
* refactor(windows): keep shell env helper private
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-17 12:15:46 +01:00
9769642e7f
fix: reject unsafe Mattermost API path segments ( #98390 )
...
* Harden Mattermost API paths
* fix(mattermost): guard direct media file paths
* refactor(mattermost): streamline API path validation
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-17 11:36:51 +01:00
6651813bd0
fix(logging): redact auth-style HTTP headers ( #107999 )
...
* fix(logging): redact auth-style HTTP headers
* fix(logging): redact structured auth headers
* test(logging): keep auth fixtures synthetic
* test(logging): preserve existing gateway fixtures
* fix(logging): cover serialized auth credentials
* fix(logging): harden auth header redaction
* fix(logging): cover serialized auth whitespace
* chore(logging): refresh reviewed PR head
* test(logging): expect complete API key redaction
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-17 00:25:15 -07:00
fbfad6eb42
feat(codex): show answer candidates in Activity ( #90610 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 23:58:16 -07:00
7641aa80c2
fix: plugins update rewrites config for install-record-only updates ( #98422 )
...
* Avoid config rewrites for plugin index updates
* Preserve config freshness for records-only plugin updates
* Validate records-only plugin update config
* fix(plugins): reload index-only updates
Co-authored-by: luyifan <al3060388206@gmail.com >
* chore(protocol): refresh generated clients
Co-authored-by: luyifan <al3060388206@gmail.com >
* fix(gateway): wire plugin refresh handler
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 21:38:45 -07:00
a82c72904a
fix: block no-auth managed gateway LAN installs ( #98022 )
...
* fix: block no-auth managed gateway LAN installs
* test(gateway): cover managed install bind resolution
Co-authored-by: luyifan <al3060388206@gmail.com >
* test(gateway): drop unrelated env cleanup
* test(gateway): use synthetic token fixture
* fix(gateway): reject dynamic tailnet no-auth installs
Co-authored-by: luyifan <al3060388206@gmail.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 18:45:05 -07:00
ooiuuii and GitHub
71c5005d2c
fix(ci): run mantis codex proof on node 24 ( #100237 )
2026-07-16 18:33:51 -07:00
396194b96b
fix(install): reject PATH runtimes with broken npm ( #107825 )
...
* fix(install): reject runtimes with broken npm
* test(installer): use real Node for npm selection
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 17:17:07 -07:00
b1eaf53672
fix(feishu): avoid local media fallback leaks ( #98251 )
...
* Fix Feishu local media fallback leaks
* refactor(feishu): clarify media fallback link style
* fix(feishu): reject credentialed media fallbacks
* fix(feishu): reject ambiguous media fallback URLs
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 16:48:31 -07:00
f12b4af021
fix(install): normalize Windows temp short paths ( #108050 )
...
* Normalize Windows installer temp paths
* fix(install): canonicalize Windows temp root
Co-authored-by: luyifan <al3060388206@gmail.com >
* fix(install): resolve Windows temp aliases with Get-Item
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 08:02:31 -07:00
6828bcac53
fix(update): verify Windows restart listener owners ( #108023 )
...
* fix(update): verify Windows restart listener owners
* fix(update): harden Windows listener ownership checks
Co-authored-by: luyifan <al3060388206@gmail.com >
* fix(update): test shipped Windows listener policy
* ci: refresh merge ref after main schema fix
* ci: refresh merge ref
* fix(lint): drop redundant String conversion in pwsh lookup
* ci: pick up periphery workflow fix
* ci: pick up pinned xcodegen installer
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 07:59:13 -07:00
59a21e3429
fix(docker): keep setup chown from following symlinks ( #107847 )
...
* Fix Docker setup chown symlink handling
* fix(docker): harden setup ownership repair
Co-authored-by: luyifan <al3060388206@gmail.com >
* fix(docker): pin ownership repair path
* test(docker): assert ownership setup ordering
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
Co-authored-by: Peter Steinberger <peter@steipete.me >
2026-07-16 00:55:54 -07:00
ooiuuii and GitHub
f7f1be276a
Harden macOS SQLite WAL checkpoints ( #99067 )
2026-07-06 05:40:58 +00:00
1e7694a8a5
fix(whatsapp): serialize overlapping Web sends ( #99050 )
...
* fix(whatsapp): serialize web sendMessage calls
* fix(whatsapp): make send serialization socket-owned
* test(qa): narrow live gateway connection fields
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-05 02:32:36 -04:00
e51b446bae
fix: redact dotted API key activity previews ( #99460 )
...
* fix: redact dotted API key activity previews
* fix(ui): redact quoted activity secrets
* fix(ui): handle quoted secret punctuation
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-03 04:38:28 -07:00
05de72c4cd
fix: strip conda env marker from host tool runs ( #99425 )
...
* fix: strip conda env marker from host exec env
* fix(infra): block Conda default environment selector
Co-authored-by: 丁宇婷0668001435 <ding.yuting@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
Co-authored-by: 丁宇婷0668001435 <ding.yuting@xydigit.com >
2026-07-03 03:40:51 -07:00
155c2f4e7e
fix: keep iOS LAN QR pairing authenticated after bootstrap ( #98066 )
...
* Persist iOS LAN bootstrap handoff tokens
* test: cover iOS LAN bootstrap reconnect auth
* test(ios): consolidate LAN bootstrap reconnect proof
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-02 14:13:19 -07:00
ooiuuii and GitHub
b334fbf129
fix: hide expired pairing QR cards in Control UI ( #98049 )
...
* Hide expired pairing QR codes
* Schedule pairing QR expiry refresh
2026-07-01 01:59:14 -07:00
ooiuuii and GitHub
53557f9618
Fix extension exec process-tree termination ( #98340 )
2026-07-01 01:05:41 -07:00
5a5913a98b
fix(ios): avoid transient duplicate final replies ( #98117 )
...
* Fix iOS final reply dedupe
* fix(ios): scope final message reconciliation
* docs(ios): explain final message reconciliation key
---------
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-06-30 23:05:33 -05:00
c5bc35de12
Redact bare Fireworks API keys ( #98226 )
...
* Redact bare Fireworks API keys
* fix(logging): harden Fireworks key redaction
* fix(logging): harden Fireworks key redaction
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-30 18:40:25 -07:00
201eb9cd29
fix(gateway): iOS Talk treats SecretRef-backed API keys as missing ( #98210 )
...
* fix(gateway): resolve Talk SecretRefs for scoped native clients
* fix(gateway): constrain Talk secret materialization
* fix(gateway): redact Talk source provider secrets
* fix(gateway): satisfy Talk config lint
* docs(gateway): clarify Talk secret config payload
---------
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-06-30 20:17:33 -05:00
ooiuuii and GitHub
3c826ed5c9
fix: shorten managed npm generation paths ( #97488 )
2026-06-28 11:58:16 -07:00
ooiuuii and GitHub
9d800b71c0
fix(scripts): route i18n formatter through pnpm runner ( #95534 )
2026-06-27 07:13:04 -07:00
ooiuuii and GitHub
dd055c4f7c
fix: npm plugin updates break running gateway imports ( #95589 )
...
Merged via squash.
Prepared head SHA: 74ecbbbb98
Co-authored-by: ooiuuii <169449607+ooiuuii@users.noreply.github.com >
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Reviewed-by: @vincentkoc
2026-06-23 18:07:57 +08:00
ooiuuii and GitHub
2ea0e8807a
fix(cli): show working commands for pinned plugin drift ( #95541 )
...
Merged via squash.
Prepared head SHA: d41b9b5b25
Co-authored-by: ooiuuii <169449607+ooiuuii@users.noreply.github.com >
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Reviewed-by: @vincentkoc
2026-06-23 12:32:22 +08:00
ooiuuii and GitHub
a0fedcfb7e
feat(cli): add --message-file to openclaw agent
...
Merges the Clownfish-repaired contributor branch for #93351 . The latest repair preserves inline --message whitespace, adds --message-file coverage for gateway and local embedded runs, and the PR is clean/mergeable on head 4897f2fc20 .
2026-06-22 20:13:57 +08:00
ooiuuii and GitHub
042ebb4f75
fix(cli): accept --log-level after subcommands ( #93455 )
...
Merged via squash.
Prepared head SHA: b6d3aa5719
Co-authored-by: ooiuuii <169449607+ooiuuii@users.noreply.github.com >
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com >
Reviewed-by: @vincentkoc
2026-06-16 15:48:19 +08:00
ooiuuii and GitHub
9d1dec4678
fix(cli): honor route-first log level ( #93460 )
2026-06-16 13:15:52 +08:00
ooiuuii and GitHub
212fef8703
fix(cli): accept --no-color after subcommands
...
Normalize root --no-color before command parsing while preserving command option values, and add coverage for subcommand/root option placement.
2026-06-16 06:20:56 +08:00
d20fdf3b38
fix(gateway): mark active main sessions before restart shutdown aborts ( #91357 )
...
* Mark active main sessions during restart shutdown
* Type restart marker mock in close tests
* fix(gateway): preserve active run ownership across restart
* fix(gateway): preserve active runs across restart
* fix(gateway): close restart recovery edge cases
* fix(cron): preserve lifecycle ownership across restart
* fix(gateway): release rejected run contexts
* fix(gateway): preserve restart lifecycle ownership
* fix(cron): retain overlapping run ownership
* fix(agents): preserve restart terminal precedence
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-06-13 10:49:17 -07:00
ooiuuii and GitHub
560b77a4af
test: add Codex session route migration coverage ( #90319 )
...
* Add Codex session route migration coverage
* Use synthetic Telegram session id in Codex test
2026-06-04 23:28:08 -07:00
ooiuuii and GitHub
cfd5f1ad13
Add Codex multi-agent migration coverage ( #90317 )
2026-06-04 23:27:34 -07:00
ooiuuii and GitHub
f49a3e4c26
fix: bound aggregate prompt tool results
...
Bound aggregate tool-result history at the provider prompt boundary without rewriting persisted session entries.
Provider-visible prompt history now trims older aggregate tool results before newer evidence, while canonical session history, slash/extension command handlers, and context-engine afterTurn snapshots stay unmodified.
Co-authored-by: luyifan <al3060388206@gmail.com >
2026-05-28 21:25:02 +01:00