chengyongru and chengyongru
b1cadf53c5
fix(codex): reuse TLS contexts across requests
2026-08-24 11:25:02 +08:00
Xubin Ren
baa0233377
fix(tui): preserve draft scope until first message
2026-08-24 10:40:16 +08:00
Xubin Ren
d50a2fab32
fix(tui): avoid saving empty sessions
2026-08-24 10:40:16 +08:00
Xubin Ren
8344066696
style(tui): frame recovery decisions
2026-08-24 00:58:04 +08:00
Xubin Ren
5accc903a0
refactor(tui): simplify session rows
2026-08-24 00:58:04 +08:00
Xubin Ren
1f0771c555
feat(tui): refine session status navigation
2026-08-24 00:58:04 +08:00
Xubin Ren
2850114eab
feat(tui): surface session activity states
2026-08-24 00:58:04 +08:00
Xubin Ren
7e66375f59
fix(tui): clarify interrupted task actions
2026-08-24 00:58:04 +08:00
Xubin Ren
2cdfba38b2
fix(runtime): preserve interrupted turns on gateway exit
2026-08-24 00:58:04 +08:00
Xubin Ren
c7e2a474a0
fix(runtime): normalize recovery session routing
2026-08-24 00:58:04 +08:00
Xubin Ren
58a1cc48d8
fix(tui): allow switching active sessions
2026-08-24 00:58:04 +08:00
Xubin Ren
41a2104244
docs(readme): simplify terminal quick start
2026-08-24 00:58:04 +08:00
Xubin Ren
12029f8812
feat(runtime): add user-controlled turn recovery
2026-08-24 00:58:04 +08:00
chengyongru and chengyongru
ffa58aa5ef
fix(webui): keep answer text outside reasoning shell
2026-08-23 21:29:42 +08:00
Xubin Ren
1e9d46fb36
fix(cli): name roles through legacy launchers
2026-08-23 21:13:14 +08:00
Xubin Ren
ab7351be63
fix(cli): skip process title dependency on Windows
2026-08-23 21:13:14 +08:00
Xubin Ren
cfc872fb52
fix(cli): harden process identity portability
2026-08-23 21:13:14 +08:00
Xubin Ren
cfc1fae8b5
feat(cli): expose nanobot process identities
2026-08-23 21:13:14 +08:00
chengyongru and chengyongru
9807e9cf37
test: remove stale Mattermost config input
2026-08-23 19:08:00 +08:00
chengyongru and chengyongru
961b1fdd7d
refactor: remove remaining dead code
2026-08-23 19:08:00 +08:00
Xubin Ren
3852956a71
docs: include all community contributors
2026-08-23 00:49:26 +08:00
Xubin Ren
bd3f4d7a74
docs: link maintainer X profiles
2026-08-23 00:49:26 +08:00
Xubin Ren
e21e71c55b
docs: make contributor wall responsive
2026-08-23 00:49:26 +08:00
Xubin Ren
cfe75dbb8d
docs: present maintainers separately
2026-08-23 00:49:26 +08:00
Xubin Ren
7afc6a1b33
docs: refresh team and contributor credits
2026-08-23 00:49:26 +08:00
Xubin Ren
48eea29313
feat(webui): unify turn observability
2026-08-22 20:51:24 +08:00
chengyongru and chengyongru
dbc1801d3c
fix(cron): report reconciled startup job count
2026-08-22 02:38:47 +08:00
aiguozhi123456 and chengyongru
20488a585d
fix(cron): review follow-ups for system job retirement
...
- advance the disabled-dream cursor before touching the cron store so
the #4242 fix still applies when jobs.json is corrupt
- pin the gateway wiring: the disabled-path test now asserts both
dream and heartbeat are retired, not just unregistered
- cover remove_system_job on a fresh install with no store file
2026-08-22 02:38:47 +08:00
aiguozhi123456 and chengyongru
e5718d4de6
fix(cron): retire persisted heartbeat/dream jobs when disabled
...
Disabling gateway.heartbeat (or agents.defaults.dream) only skipped
job registration on startup; the previously persisted system job in
<workspace>/cron/jobs.json kept firing, and remove_job refuses to
touch protected system jobs. Add CronService.remove_system_job for
startup reconciliation and call it from the gateway disabled branches
so the config toggle takes effect after restart.
2026-08-22 02:38:47 +08:00
chengyongru and chengyongru
1fe36d5dec
fix(dream): gate cursor on run completion
2026-08-22 02:05:40 +08:00
flobo3 and chengyongru
d853ac239f
fix(dream): advance cursor when tool errors were recovered, and report why a run did not complete
2026-08-22 02:05:40 +08:00
chengyongru and chengyongru
dd993b4f70
fix(tui): bound Markdown math preprocessing
2026-08-22 01:46:12 +08:00
chengyongru and chengyongru
cbe4316e4b
perf(tui): avoid repeated LaTeX scans
2026-08-22 01:46:12 +08:00
chengyongru and chengyongru
375185210b
feat(tui): render LaTeX as Unicode
2026-08-22 01:46:12 +08:00
KDB and chengyongru
a4acd83966
fix(slack): validate file downloads against SSRF
...
_download_slack_file fetched url_private_download with follow_redirects=True
and no SSRF validation, unlike the shared network guard used across other
channels (napcat/dingtalk/qq) and the maintainer's recent image-download
hardening. A file URL that pointed at — or redirected to — an internal
address let the bot server issue requests to loopback/RFC1918/cloud-metadata
targets, and cross-host redirects could carry the request off Slack.
Validate the URL through validate_url_target before requesting, stop
following redirects, and reject a redirect response. Authorized Slack file
downloads return 200 directly, so normal downloads (which still send the bot
token) are unaffected; the HTML-login guard already handled the redirect-to-
login case.
2026-08-22 01:34:34 +08:00
chengyongru and GitHub
7604dc47f9
fix(webui): keep iOS PWA controls inside safe area ( #5477 )
...
* fix(webui): keep iOS PWA controls inside safe area
* fix(webui): blend iOS PWA chrome into dark canvas
* fix(webui): sync PWA chrome with app theme
2026-08-22 01:11:20 +08:00
chengyongru and chengyongru
9ae3ae17da
feat(providers): support DeepSeek V4 vision
2026-08-21 23:18:09 +08:00
chengyongru and chengyongru
9bc9b94732
chore(tui): remove redundant picker comment
2026-08-21 18:23:04 +08:00
chengyongru and chengyongru
4561c748f6
fix(tui): preserve keyboard picker selection
2026-08-21 18:23:04 +08:00
chengyongru and chengyongru
252ea18e88
fix(tui): clarify input cache telemetry
2026-08-21 17:47:52 +08:00
chengyongru and chengyongru
e9ac83d03f
fix(tui): reduce redundant runtime chrome
2026-08-21 17:11:01 +08:00
chengyongru and chengyongru
d28687e2e1
feat(webui): polish model preset interaction
2026-08-21 16:49:30 +08:00
chengyongru and chengyongru
953d2ed217
refactor(webui): infer fallback from active model
2026-08-21 16:49:30 +08:00
chengyongru and chengyongru
7f97373490
fix(webui): only highlight actual model fallbacks
2026-08-21 16:49:30 +08:00
chengyongru and chengyongru
761e95b659
refactor(providers): simplify retry fallback routing
2026-08-21 16:46:38 +08:00
chengyongru and chengyongru
9a6dc371b3
refactor: pass retry exhaustion callbacks explicitly
2026-08-21 16:46:38 +08:00
chengyongru and chengyongru
f93d4c3ae4
fix(providers): retry before falling back
2026-08-21 16:46:38 +08:00
Lanre Shittu and chengyongru
98660c19cc
fix(matrix): interpolate error log context
...
Matrix error logs used printf-style placeholders with Loguru, leaving filenames, room IDs, and chat IDs out of diagnostic output. Use Loguru placeholders and cover each affected failure path with focused regression assertions.
Signed-off-by: Lanre Shittu <136805224+Shizoqua@users.noreply.github.com >
2026-08-21 15:53:02 +08:00
chengyongru and GitHub
26764f2423
feat(tui): add /detach command ( #5461 )
...
* feat(tui): add detach command
* fix(tui): print exact detached gateway stop command
2026-08-21 15:50:07 +08:00
chengyongru and chengyongru
5b44ebdfd7
fix(providers): report Responses cached tokens
2026-08-21 14:01:00 +08:00