Skip to content

Commit b7f7ae9

Browse files
fix(codex): preserve id-less post-tool replies
1 parent 9af84ba commit b7f7ae9

356 files changed

Lines changed: 17064 additions & 4087 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/channel-message-flows/SKILL.md

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,38 @@ description: "Use when running QA Lab channel message flow evidence."
66
# Channel Message Flows
77

88
Use this from the OpenClaw repo root to run the QA Lab evidence for Telegram
9-
draft/final delivery sequencing. This skill no longer launches a standalone
10-
script; the behavior is owned by the QA scenario and its Vitest-backed e2e test.
9+
draft/final delivery sequencing. The behavior is owned by one transport-native
10+
QA flow that can run through QA Channel or Crabline Telegram.
1111

1212
## QA Scenario
1313

1414
Run the scenario through QA Lab:
1515

1616
```bash
17-
pnpm openclaw qa suite --scenario channel-message-flows
17+
OPENCLAW_BUILD_PRIVATE_QA=1 node scripts/run-node.mjs qa suite \
18+
--provider-mode mock-openai \
19+
--scenario channel-message-flows \
20+
--channel-driver qa-channel
1821
```
1922

20-
Run the focused e2e test directly in a Codex worktree:
23+
Run the same YAML through the real Telegram plugin against Crabline's local
24+
provider server:
2125

2226
```bash
23-
node scripts/run-vitest.mjs extensions/telegram/src/channel-message-flows.qa.e2e.test.ts
27+
OPENCLAW_BUILD_PRIVATE_QA=1 node scripts/run-node.mjs qa suite \
28+
--provider-mode mock-openai \
29+
--scenario channel-message-flows \
30+
--channel-driver crabline \
31+
--channel telegram
2432
```
2533

2634
## References
2735

2836
- `qa/scenarios/channels/channel-message-flows.yaml`
29-
- `extensions/telegram/src/channel-message-flows.qa.e2e.test.ts`
30-
- `extensions/telegram/src/test-support/channel-message-flows.ts`
37+
- `extensions/qa-channel/src/inbound.ts`
38+
- `extensions/qa-lab/src/qa-transport.ts`
39+
- `extensions/qa-lab/src/crabline-transport.ts`
40+
- `extensions/telegram/src/draft-stream.ts`
3141

32-
The scenario covers `channels.streaming` as primary evidence and records
33-
secondary coverage for thread preservation, delivery ordering, and reasoning
34-
preview visibility.
42+
The scenario covers `channels.streaming` as primary evidence and
43+
`runtime.delivery` as secondary evidence.

.github/workflows/ci-build-artifacts-testbox.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ jobs:
156156
- name: Build dist on cache miss
157157
if: steps.dist-cache.outputs.cache-hit != 'true'
158158
env:
159-
NODE_OPTIONS: --max-old-space-size=8192
159+
NODE_OPTIONS: --max-old-space-size=12288
160160
run: pnpm build:ci-artifacts
161161

162162
- name: Build Control UI on cache miss

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,15 @@ Docs: https://docs.openclaw.ai
3636
- **Mobile and UI stability:** preserve iOS chat line breaks and final replies, improve Android pairing and TLS recovery, hide expired pairing cards, and keep workspace file rails scrollable. (#98304, #98117, #98366, #98439, #98483, #98049, #98646, #98611) Thanks @joshavant, @Jabato01, @ooiuuii, @wuqxuan, @645648406-max, and @zw-xysk.
3737
- **Codex and approval flows:** report ChatGPT authentication correctly, rename destructive approval mode to `ask`, classify dynamic goal and session tool results accurately, and derive terminal-idle timeouts from the explicit run deadline. (#91240, #98501, #98659, #96856, #85296) Thanks @849261680, @ukstem, @kevinslin, @yetval, @nxmxbbd, @alkor2000, and @vincentkoc.
3838
- **Configuration and plugin health:** surface unloadable channel plugins, preserve defaulted provider base URLs during patches, validate bundled plugin updates by manifest contract, and retain legacy ClawHub families where required. (#96397, #98396, #98010, #98249) Thanks @849261680, @momothemage, @weltmaister, @LiLan0125, @herove, and @Patrick-Erichsen.
39+
- **QQBot media delivery:** scope sandbox-generated media sends to the active session's workspace so `/workspace/...` and relative generated-file paths resolve safely across QQBot media tags, structured payloads, and streaming delivery. (#92872) Thanks @zhangguiping-xydt.
3940

4041
### Complete contribution record
4142

42-
This audited record covers the complete 66e676d29b92d040716376a75aca32bad655cfac..3e50f41dd6ea3446b5c98a2f19ec70982ac908e6 history: 211 merged PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
43+
This audited record covers the complete 66e676d29b92d040716376a75aca32bad655cfac..3e50f41dd6ea3446b5c98a2f19ec70982ac908e6 history: 212 merged PRs. The generation manifest also supplies direct commits as editorial input; the grouped notes above prioritize user impact.
4344

4445
#### Pull requests
4546

47+
- **PR #92872** fix(qqbot): allow scoped sandbox media sends. Thanks @zhangguiping-xydt.
4648
- **PR #96502** fix(moonshot): bound video description JSON response reads. Thanks @hugenshen and @cursoragent.
4749
- **PR #98249** Preserve legacy ClawHub family for selected plugins. Thanks @Patrick-Erichsen.
4850
- **PR #93767** fix(reasoning-tags): strip MiniMax `mm:` namespaced reasoning tags. Thanks @DrHack1.

0 commit comments

Comments
 (0)