sten moocow
61b9331c2d
fix(telegram): recover polling after prolonged network outages
...
When grammY's runner exceeds maxRetryTime during a network outage,
runner.task() resolves cleanly. Previously, the polling loop treated
this as an intentional stop and exited permanently — killing Telegram
polling for the lifetime of the gateway process.
Now the outer loop detects this case and restarts with exponential
backoff, so polling recovers once connectivity is restored.
Also bumps maxRetryTime from 5 minutes to 60 minutes so the runner
itself survives longer outages (e.g. scheduled internet downtime)
without needing the outer loop restart path.
2026-02-26 01:33:58 +01:00
Peter Steinberger
876018f322
chore(deps): update dependencies and lockfile
2026-02-26 01:31:36 +01:00
Peter Steinberger
4258a3307f
refactor(agents): unify subagent announce delivery pipeline
...
Co-authored-by: Smith Labs <SmithLabsLLC@users.noreply.github.com >
Co-authored-by: Do Cao Hieu <docaohieu2808@users.noreply.github.com >
2026-02-26 00:30:44 +00:00
Peter Steinberger
aedf62ac7e
fix: harden discord and slack reaction ingress authorization
2026-02-26 01:26:47 +01:00
Peter Steinberger
c736f11a16
fix(gateway): harden browser websocket auth chain
2026-02-26 01:22:49 +01:00
Peter Steinberger
f41715a18f
refactor(browser): split act route modules and dedupe path guards
2026-02-26 01:21:34 +01:00
Peter Steinberger
046feb6b0e
refactor: simplify telegram event authorization flow
2026-02-26 01:14:05 +01:00
Peter Steinberger
496a76c03b
fix(security): harden browser trace/download temp path handling
2026-02-26 01:04:05 +01:00
Peter Steinberger
e56b0cf1a0
fix: enforce telegram reaction authorization
2026-02-26 01:03:03 +01:00
Peter Steinberger
c6dfa26f03
refactor(signal): unify reaction auth flow and table-drive tests
2026-02-26 01:02:05 +01:00
Shakker
f83719937a
Changelog: note Discord embed fallback coverage
2026-02-25 23:58:42 +00:00
Shakker
a0a229a3bb
Discord: align embed fallback in thread starter parsing
2026-02-25 23:58:42 +00:00
User
39cc547f74
fix(discord): include embed title in fallback text ( #26907 )
2026-02-25 23:58:42 +00:00
Peter Steinberger
b090d6019b
test(agent-runner): add overflow empty-payload regression coverage ( #26905 )
2026-02-25 23:57:58 +00:00
Peter Steinberger
42f455739f
fix(security): clarify denyCommands exact-match guidance
2026-02-26 00:55:35 +01:00
Peter Steinberger
eb73e87f18
fix(session): prevent silent overflow on parent thread forks ( #26912 )
...
Lands #26912 from @markshields-tl with configurable session.parentForkMaxTokens and docs/tests/changelog updates.
Co-authored-by: Mark Shields <239231357+markshields-tl@users.noreply.github.com >
2026-02-25 23:54:02 +00:00
Peter Steinberger
8d1481cb4a
fix(gateway): require pairing for unpaired operator device auth
2026-02-26 00:52:50 +01:00
Peter Steinberger
2aa7842ade
fix(signal): enforce auth before reaction notification enqueue
2026-02-26 00:44:46 +01:00
Peter Steinberger
ef326f5cd0
fix(browser): revalidate upload paths at use time
2026-02-26 00:40:56 +01:00
Youyou972
15cfba7075
fix: cron model fallback to agent defaults when payload.model fails ( #26717 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 06454bd55b
Co-authored-by: Youyou972 <50808411+Youyou972@users.noreply.github.com >
Co-authored-by: shakkernerd <165377636+shakkernerd@users.noreply.github.com >
Reviewed-by: @shakkernerd
2026-02-25 23:34:31 +00:00
Peter Steinberger
2011edc9e5
fix(gateway): preserve agentId through gateway send path
...
Landed from #23249 by @Sid-Qin.
Includes extra regression tests for agentId precedence + blank fallback.
Co-authored-by: Sid <201593046+Sid-Qin@users.noreply.github.com >
2026-02-25 23:31:35 +00:00
Peter Steinberger
125f4071bc
fix(gateway): block agents.files symlink escapes
2026-02-26 00:31:08 +01:00
Peter Steinberger
45d59971e6
docs(changelog): clarify macOS beta scope for oauth fix
2026-02-26 00:26:54 +01:00
Peter Steinberger
5325ed90b2
refactor(nextcloud-talk): extract webhook pipeline and shared test harness
2026-02-26 00:23:36 +01:00
Peter Steinberger
f60d9591ef
docs(changelog): add macOS auth fix note for setup-token path
2026-02-26 00:23:24 +01:00
Peter Steinberger
d512163d68
fix(security): harden nextcloud-talk webhook replay handling
2026-02-26 00:18:38 +01:00
Peter Steinberger
8f3310000a
refactor(macos): remove anthropic oauth onboarding flow
2026-02-26 00:17:03 +01:00
Bill Wang
a898acbd55
feature/OPENCLAW_IMAGE
2026-02-25 10:55:17 -08:00
Bill Wang
98292331d5
Update docker-setup.sh
...
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-25 10:55:17 -08:00
Bill Wang
c7f88e85b7
feature/OPENCLAW_IMAGE
2026-02-25 10:55:17 -08:00
Bill Wang
15240bdbfe
feature/OPENCLAW_IMAGE
2026-02-25 10:55:17 -08:00
Shadow
975c9f4b54
Agents: emphasize config.schema usage
2026-02-25 09:45:39 -06:00
Ayaan Zaidi
b12216af93
fix(android): refresh settings permissions on resume
2026-02-25 18:23:50 +05:30
Ayaan Zaidi
2b7db53d06
fix(android): recover stuck voice sends after missing finals
2026-02-25 18:23:50 +05:30
Ayaan Zaidi
285a0f48e5
fix(android): sync mic manager on toggle
2026-02-25 18:23:50 +05:30
Ayaan Zaidi
f729cc7b07
fix(android): stop auto canvas rehydrate on node connect
2026-02-25 18:23:50 +05:30
Ayaan Zaidi
10a1593e0c
feat(android): redesign voice mode layout for full-height conversation
2026-02-25 18:23:50 +05:30
Ayaan Zaidi
f9c3fdba45
refactor(android): expose voice conversation state to viewmodel
2026-02-25 18:23:50 +05:30
Ayaan Zaidi
434dc46531
feat(android): stream voice turns from mic manager events
2026-02-25 18:23:50 +05:30
Ayaan Zaidi
73677f2707
refactor(android): remove legacy voice wake controls from settings
2026-02-25 18:23:50 +05:30
Ayaan Zaidi
6798330c24
feat(android): replace voice placeholder with mic transcript UI
2026-02-25 18:23:50 +05:30
Ayaan Zaidi
3d29233bab
feat(android): add single-path mic capture runtime manager
2026-02-25 18:23:50 +05:30
Ayaan Zaidi
90ddb3f271
fix(android): stabilize gateway operator reconnect
2026-02-25 18:23:50 +05:30
Nimrod Gutman
3607b733cb
fix(changelog): add typing firestart guard note ( #26325 ) (thanks @win4r)
2026-02-25 14:49:21 +02:00
Ubuntu
a182afcf97
style: expand curly braces per oxfmt
2026-02-25 14:49:21 +02:00
Ubuntu
ae658aa84c
style: add curly braces to satisfy eslint(curly)
2026-02-25 14:49:21 +02:00
Ubuntu
97eb5542e8
fix(typing): guard fireStart against post-close invocation
...
The existing `closed` flag in `createTypingCallbacks` guards
`onReplyStart` but not `fireStart` itself. If a keepalive tick is
already in-flight when `fireStop` sets `closed = true` and calls
`keepaliveLoop.stop()`, the running `onTick → fireStart` callback
still completes and sends a stale `sendChatAction('typing')` after
the reply message has been delivered.
On Telegram (which has no cancel-typing API), this causes the typing
indicator to linger ~5 seconds after the bot's message appears.
Add a `closed` early-return in `fireStart` as defense-in-depth so
that even an in-flight tick is suppressed once cleanup has started.
2026-02-25 14:49:21 +02:00
Nimrod Gutman
b3f46f0e28
fix(test): stabilize low-mem parallel runner and cron session mock ( #26324 )
...
* fix(test): stabilize low-mem parallel lane and cron session mock
* feat(android): make QR scanning first-class onboarding
* docs(android): update README for native Android workflow
* fix(android): stabilize chat composer ime and tab layout
* fix(android): stabilize chat ime insets and tab bar
* fix(android): remove tab bar gap above system nav
* fix(android): harden scanned setup code parsing
* test(android): cover non-string setupCode QR payload
* fix(test): add changelog note for low-mem test runner (#26324 ) (thanks @ngutman)
---------
Co-authored-by: Ayaan Zaidi <zaidi@uplause.io >
2026-02-25 12:16:17 +02:00
Ayaan Zaidi
ed34129637
test(android): cover non-string setupCode QR payload
2026-02-25 14:05:56 +05:30
Ayaan Zaidi
036e3e633e
fix(android): harden scanned setup code parsing
2026-02-25 14:05:56 +05:30