santhreal and chengyongru
cf96c4d5e9
fix(triggers): coerce null ms fields when loading local triggers
...
Explicit JSON null for runAtMs/createdAtMs raised TypeError and could
quarantine triggers.json. Treat null/blank like a missing key (0).
2026-07-19 15:46:00 +08:00
chengyongru and chengyongru
cf00f537bd
fix(agent): guide recovery from oversized tool results
...
Use the existing in-flight context governor to replace tool output that cannot fit the next model request with a bounded, actionable instruction. The model can retry with narrower arguments, use another tool, or explain the context limit without a second recovery state machine.
2026-07-19 01:08:36 +08:00
c062e1af14
fix(webui): quiet non-WebSocket handshake noise on public port
...
The WebSocket channel also serves the WebUI over plain HTTP, so on a
public endpoint (e.g. a Render *.onrender.com service) the underlying
websockets library logs a full-traceback ERROR for every request that
isn't a valid GET handshake: HEAD probes ("unsupported HTTP method;
expected GET"), port scanners, uptime monitors, and TLS-to-plain-port
attempts. These are internet background noise, not server faults.
WebSocketHandshakeNoiseFilter already suppressed "opening handshake
failed" records caused by mid-handshake disconnects; widen it to also
suppress records whose exception chain contains websockets'
InvalidMessage, which covers both non-GET methods and malformed/empty
requests. Genuine server-side handshake errors still log.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-18 17:39:59 +08:00
santhreal and Xubin Ren
afed32b013
fix(cron): dual-case keys when loading jobs.json
...
jobs.json hand-edits and asdict-style snake_case for schedule intervals and
runHistory crashed or silently disabled cron. Deserialize via Cron* from_store_dict
and shared get_camel_snake (also used by local triggers).
2026-07-18 17:39:06 +08:00
bingqilinweimaotai and Xubin Ren
8c68c6fe1e
feat: support Kimi K3
2026-07-18 17:38:32 +08:00
KDB and Xubin Ren
d35f99abfc
fix(session): bound the in-memory session cache
...
Keep only 128 recently used sessions strongly cached while retaining weak references to evicted sessions still owned by active callers. This bounds idle memory growth without allowing duplicate live Session objects or skipping shutdown flushes.
Add LRU, lifecycle, SDK, and flush regression coverage.
Refs #4786
2026-07-18 17:37:07 +08:00
adabarbulescu and Xubin Ren
d4f5abe004
fix: preserve real cancellation in MCP paths
2026-07-18 17:36:35 +08:00
yu-xin-c and Xubin Ren
07ad0bafa8
test(exec): relax wait-for timing on Windows
2026-07-18 17:35:56 +08:00
yu-xin-c and Xubin Ren
995cc44e89
fix(exec): isolate exec session managers
2026-07-18 17:35:56 +08:00
santhreal and Xubin Ren
7ac9a46978
fix(utils): avoid hang in split_message when max_len <= 0
...
When max_len is 0 or negative the cut pointer never advances, so the loop hangs. Return the content unsplit, matching truncate_text_to_tokens for non-positive budgets.
2026-07-18 17:24:12 +08:00
santhreal and Xubin Ren
fe0e65928d
fix(utils): coerce Tavily usage counters to int
...
JSON APIs sometimes return numeric fields as strings; subtracting them raised TypeError and /status dropped the usage block.
2026-07-18 17:23:26 +08:00
santhreal and Xubin Ren
85097aa143
fix(utils): handle empty commit messages in CommitInfo.format
...
Empty git commit messages made splitlines()[0] raise IndexError in format() and /dream-restore list rendering.
2026-07-18 17:22:16 +08:00
bingqilinweimaotai and chengyongru
8a48af7c74
fix(providers): omit Kimi K2.5/K2.6 temperature
2026-07-17 22:39:33 +08:00
chengyongru and chengyongru
d4e0294734
fix(gateway): stop channels before draining tasks
2026-07-15 22:25:08 +08:00
chengyongru and chengyongru
681edfa6f3
fix(providers): honor Codex proxy config consistently
2026-07-15 20:01:48 +08:00
chengyongru and GitHub
ba86dccc8d
fix(webui): correct activity timer duration ( #4649 )
2026-07-15 16:46:05 +08:00
chengyongru and GitHub
5ed28a6744
fix(webui): validate inferred file paths before preview ( #4935 )
2026-07-15 10:45:40 +08:00
chengyongru and GitHub
aa70aa48f9
fix(cli): point onboarding to the WebUI launcher ( #4938 )
2026-07-15 10:34:46 +08:00
chengyongru and chengyongru
0fd4d0ab29
fix(prompts): handle undecodable overrides
2026-07-15 01:19:48 +08:00
chengyongru and chengyongru
c1fd76add3
refactor(prompts): share workspace override handling
2026-07-15 01:19:48 +08:00
chengyongru and chengyongru
63a6d5d07d
fix(heartbeat): retain history after empty runs
2026-07-15 01:19:48 +08:00
Arthur K. and chengyongru
dcb37259fa
feat(heartbeat): custom evaluator prompt
2026-07-15 01:19:48 +08:00
chengyongru and GitHub
88c38e9b38
fix(restart): deliver completion after channel reconnects ( #4931 )
2026-07-15 01:08:39 +08:00
chengyongru and GitHub
37165b0db0
feat(webui): highlight slash commands and app mentions ( #4933 )
2026-07-15 00:34:22 +08:00
chengyongru and chengyongru
2116e32013
test: speed up CI and harden the suite
2026-07-15 00:18:37 +08:00
chengyongru and GitHub
07f54c25e3
chore(codex): identify failing request stage ( #4929 )
2026-07-14 22:40:10 +08:00
chengyongru and chengyongru
1a1e666625
fix: install timezone data on Windows
2026-07-14 17:30:16 +08:00
chengyongru and chengyongru
297a9e5939
test: cover MCP cleanup cancellation paths
2026-07-14 16:17:35 +08:00
chengyongru and chengyongru
4916fc07ab
fix(agent): close reasoning on stream timeout
2026-07-14 15:51:22 +08:00
WK Wong and chengyongru
11eb9d8cc8
fix(agent): add wall-clock timeout for streaming LLM requests
2026-07-14 15:51:22 +08:00
chengyongru and GitHub
b7048cf76a
feat(webui): support document attachments with ingress safeguards ( #4771 )
...
* feat: support document attachments in webui
* fix(webui): normalize document attachment MIME
* refactor(webui): move attachment policy out of channel
* fix(webui): reject oversized attachments before send
* fix(webui): align Portuguese attachment errors
* refactor(webui): separate ingress and transport limits
* fix(webui): reject malformed attachment payloads
2026-07-14 14:47:42 +08:00
chengyongru and chengyongru
1643aa7ef5
fix(shell): narrow PowerShell UTF-8 configuration
...
Avoid changing native pipeline input encoding and consolidate real PowerShell checks to reduce Windows runner startup flakiness.
2026-07-14 13:50:02 +08:00
chengyongru and chengyongru
9f8c2cb1bf
test(shell): wait for Windows PowerShell sessions
2026-07-14 13:50:02 +08:00
chengyongru and chengyongru
61afbffc89
fix(shell): configure PowerShell UTF-8 output
2026-07-14 13:50:02 +08:00
adabarbulescu and chengyongru
9cdf17f5d5
Fix Windows exec UTF-16 output decoding
2026-07-14 13:50:02 +08:00
chengyongru and Xubin Ren
3b14d59dcd
fix(telegram): fall back on overflow HTML rejection
2026-07-14 12:25:28 +08:00
chengyongru and Xubin Ren
a335ce07db
fix(telegram): bound streamed HTML overflow chunks
2026-07-14 12:25:28 +08:00
chengyongru and chengyongru
6e462e62a6
fix(dream): limit newline normalization to CRLF
2026-07-14 00:30:50 +08:00
bingqilinweimaotai and chengyongru
ed47cf1562
fix(dream): ignore line-ending-only memory diffs
2026-07-14 00:30:50 +08:00
chengyongru and GitHub
234e895e5a
fix(codex): align OAuth defaults and setup docs ( #4910 )
...
* fix(codex): align OAuth defaults and setup docs
* docs(codex): clarify provider settings key
* docs(codex): simplify OAuth setup guidance
2026-07-13 17:04:33 +08:00
chengyongru and GitHub
8c9110fee3
fix(dream): filter non-Dream history commits ( #4905 )
...
* fix(dream): filter non-Dream history commits
* fix(dream): resolve filtered commit diffs
2026-07-13 17:04:12 +08:00
chengyongru and GitHub
e864fba522
fix: align optional dependency contracts ( #4907 )
...
* fix: align optional dependency contracts
* ci: avoid duplicate test suite
* test: drop removed langsmith assertions
* test: rely on generic extra coverage
* test: restore existing plugin coverage
2026-07-13 16:58:19 +08:00
Xubin Ren
a65a6f334c
test(gateway): cover slow health clients
2026-07-13 15:16:51 +08:00
Xubin Ren
3824206ab2
fix(gateway): harden health endpoint exposure
2026-07-13 15:16:51 +08:00
Xubin Ren and GitHub
2c78976728
fix(cli): restore enter before webui prompts
2026-07-13 13:32:29 +08:00
Xubin Ren and GitHub
fe0717b385
feat(webui): add guided setup flows
...
* feat(channels): add guided setup flows
* test(channels): preserve setup config values
* fix(channels): reflect saved setup state
* refactor(channels): simplify setup state metadata
* fix(channels): harden setup lifecycle
* refactor(channels): centralize setup contracts
* fix(channels): route setup actions through webui shim
* fix(channels): adapt settings for compact screens
* fix(models): preserve default preset display
* feat(models): add curated Codex catalog
* fix(webui): stop attached gateway on interrupt
* fix(webui): simplify apps catalog
* docs(webui): clarify apps and runtime features
* feat(settings): add guided capability setup
* fix(webui): harden setup and managed services
* test: keep managed runtime checks portable
* test: scope POSIX runtime coverage
* fix(webui): simplify file settings
* feat(files): bundle document reading
* fix(webui): harden setup request boundaries
* fix(webui): prevent channel setup status squeeze
* fix(settings): group provider compatibility aliases
* refactor(settings): remove redundant setup surfaces
* fix(webui): harden guided setup lifecycle
* fix(webui): preserve channel setup compatibility
2026-07-13 13:11:46 +08:00
chengyongru and Xubin Ren
791c7fd505
fix(memory): prune encoded Dream sessions
2026-07-13 12:07:29 +08:00
chengyongru and Xubin Ren
6d406d93c9
fix(discord): route unauthorized DMs to pairing
2026-07-13 12:05:04 +08:00
Xubin Ren
45d1caba1d
fix(webui): prevent stale workspace scope restore
2026-07-12 22:08:27 +08:00
Xubin Ren
89acea6fe1
fix(webui): allow remote workspace access reduction
2026-07-12 22:08:27 +08:00