Commit Graph

46789 Commits

Author SHA1 Message Date
Peter Steinberger
ee5b06f9fe docs: clarify contributor changelog ownership 2026-05-11 14:26:56 +01:00
Peter Steinberger
d2f578cbb4 fix: retire timed-out codex app-server clients 2026-05-11 14:26:56 +01:00
Peter Steinberger
fecf18d277 test: tighten qa matrix assertions 2026-05-11 14:26:48 +01:00
Shakker
610b695a12 test: pin Telegram draft stream checks 2026-05-11 14:26:31 +01:00
Peter Steinberger
a3c7fea512 fix(agents): avoid Pi resource discovery stalls
Co-authored-by: dataCenter430 <titan032000@gmail.com>
2026-05-11 14:25:55 +01:00
Peter Steinberger
ac7e1c36eb fix(whatsapp): retry opening-phase 428 closes
Co-authored-by: dataCenter430 <titan032000@gmail.com>
2026-05-11 14:25:55 +01:00
Shakker
1f8d29e532 test: pin command registry checks 2026-05-11 14:25:18 +01:00
Shakker
19c66ad3fe test: pin Codex run attempt assertions 2026-05-11 14:24:01 +01:00
VACInc
6a741102d1 test(codex): keep native tool observability fixture generic 2026-05-11 14:23:46 +01:00
VACInc
88d0c77add docs: note codex tool observability fix 2026-05-11 14:23:46 +01:00
VACInc
a28bf10ce2 fix(codex): observe native tool completions 2026-05-11 14:23:46 +01:00
Peter Steinberger
5b6f4d6bb6 test: tighten acpx memory assertions 2026-05-11 14:23:32 +01:00
Peter Steinberger
ac8a193cbe test: tighten memory wiki assertions 2026-05-11 14:21:08 +01:00
Shakker
ead6179718 test: pin Codex side question calls 2026-05-11 14:20:02 +01:00
Peter Steinberger
97bf9bfd22 docs: credit qqbot binding fix contributor (#73567) 2026-05-11 14:19:34 +01:00
statxc
5eda2a2bc6 fix(qqbot): align #69546 fix with merged main 2026-05-11 14:19:34 +01:00
statxc
278ffbdb53 fix(qqbot): type active config provider 2026-05-11 14:19:34 +01:00
statxc
d69b663021 fix(qqbot): re-evaluate routing bindings per inbound message
QQBot's gateway captured `ctx.cfg` once at startup and reused that
reference for every inbound, so peer-specific bindings added via the
CLI were ignored until the gateway restarted (the routing resolver
caches evaluated bindings keyed by the cfg object reference).

Add a small `ActiveCfgProvider` that reads `getRuntimeConfig()` from
the plugin SDK on every event and falls back to the startup snapshot
when the runtime registry is not populated, mirroring Telegram's
per-event lookup pattern. Wire it into `handleMessage` so both the
inbound pipeline and outbound dispatch run against the live config.

Fixes #69546.
2026-05-11 14:19:34 +01:00
Peter Steinberger
8d2dd8cf2e test: tighten openai extension assertions 2026-05-11 14:19:09 +01:00
Peter Steinberger
03d9bc14b5 test: fix progress draft truncation expectations 2026-05-11 14:18:23 +01:00
Shakker
c214a5f262 test: pin self-hosted provider setup 2026-05-11 14:17:08 +01:00
Peter Steinberger
242e2474a6 test: tighten telegram extension assertions 2026-05-11 14:16:48 +01:00
Shakker
6462472358 test: pin session schema success 2026-05-11 14:14:28 +01:00
Peter Steinberger
6781957a99 test: tighten channel extension assertions 2026-05-11 14:13:46 +01:00
Shakker
31f128e86f test: pin tailscale bind diagnostics 2026-05-11 14:13:27 +01:00
Shakker
1dddb502a8 test: pin config schema fields 2026-05-11 14:12:14 +01:00
Peter Steinberger
493f363857 test: tighten slack monitor assertions 2026-05-11 14:11:39 +01:00
Shakker
98f07a5387 test: pin cron delivery targets 2026-05-11 14:09:54 +01:00
Peter Steinberger
8975ac83f4 test: tighten slack extension assertions 2026-05-11 14:09:30 +01:00
Shakker
19a040ee88 test: pin cron session entries 2026-05-11 14:08:06 +01:00
Peter Steinberger
8218595cd1 docs: add changelog for follow-up queue guard (#68839) 2026-05-11 14:07:58 +01:00
Feelw00
137d566422 fix(auto-reply): guard FOLLOWUP_QUEUES delete against late drain finally
Regression: the drain IIFE finally (`drain.ts:263-271`) performed an
unconditional `FOLLOWUP_QUEUES.delete(key)` + `clearFollowupDrainCallback(key)`
using only the key, without checking whether the captured `queue` still matched
the map entry. Under the `/stop` + immediate followup sequence, a late-returning
D1 finally could delete the map entry for a fresh Q2 and orphan it until the
next enqueue.

Fix: only remove the map entry and drain callback when `FOLLOWUP_QUEUES.get(key)
=== queue`. Mirrors the identity pattern noted in
`subagent-announce-queue.ts:62-64`.

Adds `src/auto-reply/reply/queue/drain.identity-guard.test.ts` which uses real
`enqueueFollowupRun` / `scheduleFollowupDrain` / `clearSessionQueues` (no
module mocks) and a Deferred gate to park D1 inside `runFollowup`. The test
uses `restartIfIdle=false` on the Q2 enqueue so D1's finally is the only
mutator that can touch the map entry, producing deterministic pre/post-fix
differentiation:
  pre-fix  : get(key) === undefined (Q2 orphaned), depth === 0
  post-fix : get(key) === Q2,                     depth === 1

AI-assisted (fully tested). 1082 auto-reply/reply tests pass, pnpm check +
pnpm build clean.
2026-05-11 14:07:58 +01:00
Shakker
535348a1c7 test: pin cron main wake calls 2026-05-11 14:06:50 +01:00
Shakker
36d90ce431 test: pin cron read status 2026-05-11 14:05:33 +01:00
Peter Steinberger
68cec724b1 test: tighten signal extension assertions 2026-05-11 14:04:55 +01:00
Val Alexander
42fc84f4b4 fix(control-ui): add static mount fallback
Summary:
- Add a plain HTML Control UI fallback when the module app never mounts.
- Document blank-page recovery guidance and keep the fallback retry-friendly.
- Cover the timeout path with iframe-isolated regression tests.

Verification:
- pnpm exec oxfmt --check --threads=1 ui/index.html ui/src/ui/mount-fallback.test.ts
- pnpm test ui/src/ui/app.talk.test.ts ui/src/ui/mount-fallback.test.ts
- pnpm ui:build
- pnpm check:changed
- GitHub CI for 8ef18e8bca completed without failures.
2026-05-11 08:03:49 -05:00
Peter Steinberger
58087ef3d6 test: tighten extension auth assertions 2026-05-11 14:02:35 +01:00
Peter Steinberger
0a92d7a8ff fix: widen progress draft preview lines 2026-05-11 14:02:19 +01:00
Feelw00
08cffbb067 fix(gateway): clear node wake state without registration (#68848)
Summary:
- Clear speculative gateway node wake state when APNs registration is missing.
- Add regression coverage for unregistered node IDs.
- Add changelog credit for @Feelw00.

Verification:
- git diff --check
- pnpm test src/gateway/server-methods/nodes.wake-leak.test.ts src/gateway/server-methods/nodes.invoke-wake.test.ts
- GitHub exact-head checks green on 29db03ff4e
2026-05-11 14:02:03 +01:00
Peter Steinberger
2c89dad895 test: tighten remaining UI assertions 2026-05-11 13:59:43 +01:00
Peter Steinberger
36aea9792f docs: update changelog for #80333 2026-05-11 13:58:14 +01:00
samzong
1ecd46f49b fix(channels): cache selected channel registry lookups 2026-05-11 13:58:14 +01:00
Shakker
7c75001492 test: pin cron diagnostics entries 2026-05-11 13:58:01 +01:00
Peter Steinberger
9c5a150336 test: tighten UI view assertions 2026-05-11 13:57:15 +01:00
Shakker
a012bfb296 test: pin cron timer handles 2026-05-11 13:55:45 +01:00
Peter Steinberger
ef9c03c4bb test: tighten UI gateway assertions 2026-05-11 13:54:54 +01:00
Shakker
82cc6f1d25 test: pin cron schedule logs 2026-05-11 13:54:38 +01:00
Shakker
0fcddd3974 test: pin cron reaper store 2026-05-11 13:53:01 +01:00
Shakker
e3cde42b49 test: pin attachment offload warning 2026-05-11 13:52:04 +01:00
Peter Steinberger
552f088af9 test: tighten gateway live assertions 2026-05-11 13:51:37 +01:00