| Files | Last commit | Last update |
|---|---|---|
Merge pull request #7211 from gaord/feat/wecom-steer-running-turn feat(bridges): steer a running WeCom turn instead of dropping the message | 2 days ago | |
fix(bridges): bound Runtime events and preserve interrupted turns [skip ci] CW-6943 / #6554 X01-09. All five bridges use the same byte-bounded SSE reader. Handle LF, CRLF, CR, split UTF-8 and multiline data. Reject oversized, malformed or truncated frames and check thread identity and sequence before saving cursors or acting on approvals. A transport end preserves the observed turn. Feishu and WeCom retire only the matching completed turn, including when a newer one arrived during final delivery. Bound Runtime JSON and errors while preserving legacy empty and plain-text handling. Reproduced zero events on CRLF, an accepted oversized frame and silent truncated EOF in the former reader. 168 existing channel/core checks passed, with one Windows-only skip. DingTalk syntax passed. 70,000 coalesced frames, adversarial framing, 11 response-bound cases and ten restart/readback channel cases passed. The frozen macOS Engine produced thread.started over authenticated loopback SSE and an observer with the wrong thread failed closed. No real channel credentials, delivery or inference used. | 7 days ago | |
fix(bridges): bound Runtime events and preserve interrupted turns [skip ci] CW-6943 / #6554 X01-09. All five bridges use the same byte-bounded SSE reader. Handle LF, CRLF, CR, split UTF-8 and multiline data. Reject oversized, malformed or truncated frames and check thread identity and sequence before saving cursors or acting on approvals. A transport end preserves the observed turn. Feishu and WeCom retire only the matching completed turn, including when a newer one arrived during final delivery. Bound Runtime JSON and errors while preserving legacy empty and plain-text handling. Reproduced zero events on CRLF, an accepted oversized frame and silent truncated EOF in the former reader. 168 existing channel/core checks passed, with one Windows-only skip. DingTalk syntax passed. 70,000 coalesced frames, adversarial framing, 11 response-bound cases and ten restart/readback channel cases passed. The frozen macOS Engine produced thread.started over authenticated loopback SSE and an observer with the wrong thread failed closed. No real channel credentials, delivery or inference used. | 7 days ago | |
fix(bridges): bound Runtime events and preserve interrupted turns [skip ci] CW-6943 / #6554 X01-09. All five bridges use the same byte-bounded SSE reader. Handle LF, CRLF, CR, split UTF-8 and multiline data. Reject oversized, malformed or truncated frames and check thread identity and sequence before saving cursors or acting on approvals. A transport end preserves the observed turn. Feishu and WeCom retire only the matching completed turn, including when a newer one arrived during final delivery. Bound Runtime JSON and errors while preserving legacy empty and plain-text handling. Reproduced zero events on CRLF, an accepted oversized frame and silent truncated EOF in the former reader. 168 existing channel/core checks passed, with one Windows-only skip. DingTalk syntax passed. 70,000 coalesced frames, adversarial framing, 11 response-bound cases and ten restart/readback channel cases passed. The frozen macOS Engine produced thread.started over authenticated loopback SSE and an observer with the wrong thread failed closed. No real channel credentials, delivery or inference used. | 7 days ago | |
docs: point every link at the codewhale-hq organization Hunter moved the Codewhale repositories to github.com/codewhale-hq on 2026-10-05. Rewrite Hmbown/<moved repo> slugs to codewhale-hq/<repo> in docs, READMEs (all 19), website, CHANGELOGs, workflows, issue templates, Cargo/npm/VS Code/nix/winget metadata, install and updater code, the bundled first-party marketplace catalog and their tests: 1,795 references in 434 files, plus four escaped regex literals. Docker images publish to ghcr.io/codewhale-hq/codewhale from the next release. Old URLs keep working through GitHub's transfer redirects (verified live: API releases/latest, HTML releases/latest, release asset downloads, codeload tarballs, git clone), so released clients keep updating. Left unchanged on purpose: Hmbown/codewhale-cu-plugin (not moved yet; its shipped updater refuses redirects), Hmbown/deepseek-skills, cwc and other repos that did not move; package identities (winget Hmbown.CodeWhale, NSIS publisher); vendor/codewhale-ratatui (frozen reviewed package); and the extension-host GitHub adapter with tools/github/report.rs and their parity fixture, which need a bundle rebuild and move together in a follow-up. README translation stamps updated to the new README.md hash. Validation: npm test (wrapper 101/0, SDK 19/0, extension host 398 passed / 0 failed / 7 skipped, web 763/0) and npm run check:web exit 0 (one pre-existing facts-lib.mjs lint warning). cargo check --workspace --tests --all-features --locked: exit 0. cargo test -p codewhale-cli -p codewhale-release -p codewhale-protocol and the touched codewhale-tui modules (client, cloud_dispatch, commands, dispatch_runner, llm_client::mock, oauth, operate, plugins::marketplace, remote_control, remote_setup, tools::mcp_registry, tools::web::fetch, working_set, tui::ui::tests): all ok, 0 failed. check-readme-translations (18 in sync), readme locales, TUI locale parity, product vocabulary, web locales, contributor credit, plugin claims, release-workflows.test.js and check-versions all pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: CodeWhale Bot <bot@codewhale.net> | 1 month ago | |
fix(bridges): rotate WeCom stream replies before the 10-minute expiry WeCom stops accepting updates to a stream message after ~10 minutes and answers errcode 846608. A turn that streams for longer lost every remaining update, so the phone never saw the final result. Wrap the replyStream calls in a helper that finalizes and reopens the stream near the cap and reopens once when an update is rejected. Conflicts with the merged #7211/#7212 and the harvested #7208 (same exports and tests in lib.mjs and lib.test.mjs) were resolved by keeping every side; node --check passes on both sources and npm test in integrations/wecom-bridge passes 22 of 22. Harvested from PR #7210 by @gaord Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> | 2 days ago | |
docs, scripts and CI: follow the host move; document stdio/websocket controls and usage statistics Updates moved-file paths in the CI path filters, scripts, vitest config and editor/bridge sources; documents the Runtime API stdio/websocket controls and usage statistics (en and zh_hans); adds the usage-statistics and cache-call-receipts features to features.toml with regenerated web data; updates coarse-split design docs and crate maps, split scripts, the blocking-calls budget and release smoke scripts. Verification: whole-tree evidence only, not per group. A native21 build of the full dirty tree completed (patch sha ea25c782...), and an unsealed nextest rerun of all 389 selected existing checks passed 389/389 on it. The earlier sealed native20 run failed 369/20 before fixes and was not re-sealed. No CI run. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> | 5 days ago |
| Files | Last commit | Last update |
|---|---|---|
| 2 days ago | ||
| 7 days ago | ||
| 7 days ago | ||
| 7 days ago | ||
| 1 month ago | ||
| 2 days ago | ||
| 5 days ago |