Xubin Ren and chengyongru
8a928592c5
fix(telegram): wait for application readiness
2026-08-18 00:41:57 +08:00
QQQ300kuai and chengyongru
302015fde5
fix(telegram): keep lifecycle state consistent during polling recovery
...
- Fail outbound sends while the app is rebuilding instead of returning quietly, so ChannelManager retries and logs the failure instead of counting the message as delivered
- Close the bot's HTTPX pools during teardown: Application.shutdown() skips them when initialize() never finished, leaking one pool per startup retry
- Propagate terminal startup errors (rejected token, bad proxy, bound webhook port) and clear the running flag instead of retrying forever while the channel still reports itself healthy
- Restrict startup retries to NetworkError/TimedOut, the exceptions HTTPXRequest wraps every httpx failure into
- Scrub the rejected-token failure so PTB's token-bearing message never reaches the log
2026-08-18 00:41:57 +08:00
QQQ300kuai and chengyongru
cc05fe6ed0
fix(telegram): recover from silently stalled polling
...
- Wrap the getUpdates request pool to record completed round trips, since a healthy long poll completes one every ~10s even with no traffic
- Replace the idle keep-alive loop with a supervisor that tears down and rebuilds the application (including its HTTPX pools) when no round trip completes for 120s
- Retry failed startups with exponential backoff so the bot self-heals once the network path recovers
- Give up immediately on InvalidToken since a rejected token is a config error that retries cannot fix
- Tear down the freshly built app when stop() lands mid-startup so the supervisor never leaks a running application
- Bridge python-telegram-bot and httpx stdlib logging into loguru so polling failures are visible in nanobot logs
2026-08-18 00:41:57 +08:00
Xubin Ren
4858da0759
feat(tui): distinguish cross-workspace sessions
2026-08-17 20:56:10 +08:00
Xubin Ren
0d54ad96e2
perf(tui): keep long streams responsive
2026-08-17 20:56:10 +08:00
Xubin Ren
cf82b89307
feat(tui): make session title interactive
2026-08-17 20:56:10 +08:00
Xubin Ren
3fdf7ae64a
chore(tui): tighten TypeScript checks
2026-08-17 20:56:10 +08:00
Xubin Ren
b17f227eb9
fix(release): package TUI compliance materials
2026-08-17 20:56:10 +08:00
Xubin Ren
7838e244ba
test(gateway): track the claimed process identity
2026-08-17 20:56:10 +08:00
Xubin Ren
6955d709d6
test(gateway): trust claimed readiness marker
2026-08-17 20:56:10 +08:00
Xubin Ren
b52660760c
test(gateway): harden cross-process probes
2026-08-17 20:56:10 +08:00
Xubin Ren
a3536e68c1
fix(runtime): preserve Windows process handles
2026-08-17 20:56:10 +08:00
Xubin Ren
dc3e3c1a2a
fix(gateway): prevent lifecycle races
2026-08-17 20:56:10 +08:00
Xubin Ren
c671acd6a8
fix(gateway): preserve shared runtime identity
2026-08-17 20:56:10 +08:00
Xubin Ren
c65127f791
refine(tui): clarify model telemetry
2026-08-17 20:56:10 +08:00
Xubin Ren
f1ebd8c4c6
fix(tui): dismiss runtime pickers on outside click
2026-08-17 20:56:10 +08:00
Xubin Ren
d6847b0107
fix(runtime): recover orphaned gateway clients
2026-08-17 20:56:10 +08:00
Xubin Ren
92727c99a8
ci(tui): cross-build releases on free runners
2026-08-17 20:56:10 +08:00
Xubin Ren
eafc0bc6eb
fix(gateway): serialize shared runtime lifecycle
2026-08-17 20:56:10 +08:00
Xubin Ren
7384fbfffc
fix(packaging): keep source clients in lockstep
2026-08-17 20:56:10 +08:00
Xubin Ren
78802c4c4e
test(runtime): isolate POSIX identity fixture
2026-08-17 20:56:10 +08:00
Xubin Ren
089df021d1
fix(runtime): keep process probes host-safe
2026-08-17 20:56:10 +08:00
Xubin Ren
ddd3b78ed1
test(ci): isolate cross-platform gateway lifecycle
2026-08-17 20:56:10 +08:00
Xubin Ren
ed4740638b
test(gateway): simplify repeated start coverage
2026-08-17 20:56:10 +08:00
Xubin Ren
f5125f3c07
test(gateway): isolate lifecycle lock behavior
2026-08-17 20:56:10 +08:00
Xubin Ren
78aa29ffc9
test(ci): serialize Windows lifecycle checks
2026-08-17 20:56:10 +08:00
Xubin Ren
8104d9f702
test(ci): trace isolated Windows interrupt
2026-08-17 20:56:10 +08:00
Xubin Ren
e63ef5d211
test(ci): isolate Windows console tests
2026-08-17 20:56:10 +08:00
Xubin Ren
314f5dcf0b
test(ci): isolate Windows process checks
2026-08-17 20:56:10 +08:00
Xubin Ren
f43ae67e95
test(ci): trace Windows interrupt source
2026-08-17 20:56:10 +08:00
Xubin Ren
2545cae110
fix(runtime): scope Windows process termination
2026-08-17 20:56:10 +08:00
Xubin Ren
301d039fbb
test(gateway): make concurrency check deterministic
2026-08-17 20:56:10 +08:00
Xubin Ren
8eb2742c9b
test(ci): stabilize cross-platform agent checks
2026-08-17 20:56:10 +08:00
Xubin Ren
55f0423336
test(cli): tolerate wrapped launcher output
2026-08-17 20:56:10 +08:00
Xubin Ren
6c987fc21d
fix(tui): pin hosted task on narrow panes
2026-08-17 20:56:10 +08:00
Xubin Ren
05acd79466
fix(gateway): probe Windows clients safely
2026-08-17 20:56:10 +08:00
Xubin Ren
e84aa07bcc
test(cli): isolate WebUI interrupt polling
2026-08-17 20:56:10 +08:00
Xubin Ren
79d51be71f
feat(tui): integrate with Herdr host
2026-08-17 20:56:10 +08:00
Xubin Ren
783d381710
feat(tui): replace footer hints with model telemetry
2026-08-17 20:56:10 +08:00
Xubin Ren
c320d08dfe
feat(tui): run bang commands through the gateway
2026-08-17 20:56:10 +08:00
Xubin Ren
c5d2e0ddf1
fix(tui): restore composer focus after runtime controls
2026-08-17 20:56:10 +08:00
Xubin Ren
cd6a11b3c5
fix(gateway): harden shared client lifecycle
2026-08-17 20:56:10 +08:00
Xubin Ren
19be5be1c0
refactor(gateway): scope foreground registration
2026-08-17 20:56:10 +08:00
Xubin Ren
014eab5f6a
fix(gateway): register foreground instances
2026-08-17 20:56:10 +08:00
Xubin Ren
a700697583
fix(cli): canonicalize default gateway identity
2026-08-17 20:56:10 +08:00
Xubin Ren
b8333a2d7e
fix(cli): make gateway persistence explicit
2026-08-17 20:56:10 +08:00
Xubin Ren
74c11e5d28
fix(cli): share on-demand gateway lifecycle
2026-08-17 20:56:10 +08:00
Xubin Ren
2d3045647a
fix(tui): reflow markdown tables
2026-08-17 20:56:10 +08:00
Xubin Ren
7e60d52f0e
fix(tui): prevent terminal cell artifacts
2026-08-17 20:56:10 +08:00
Xubin Ren
a632017194
fix(tui): keep runtime controls interactive
2026-08-17 20:56:10 +08:00