fix: reduce Feishu streaming card print_step to avoid duplicate rendering#33840
fix: reduce Feishu streaming card print_step to avoid duplicate rendering#33840aerelune wants to merge 1 commit intoopenclaw:mainfrom
Conversation
Greptile SummaryThis PR contains two independent but well-targeted fixes: (1) reduces the Feishu streaming card
Confidence Score: 5/5
Last reviewed commit: ce4a6cc |
…ge spam - Block narration: replace card content instead of append (users see latest status) - Final payloads: replace card content, let onIdle close (prevents multiple cards) - onPartialReply: replace streamText directly to avoid append duplication (openclaw#34108, openclaw#33751) - Reduce print_step to 1 to minimize client-side visual duplication (openclaw#33840) Co-Authored-By: Claude Opus 4.6 <[email protected]>
…ge spam - Block narration: replace card content instead of append (users see latest status) - Final payloads: replace card content, let onIdle close (prevents multiple cards) - onPartialReply: replace streamText directly to avoid append duplication (openclaw#34108, openclaw#33751) - Reduce print_step to 1 to minimize client-side visual duplication (openclaw#33840) Co-Authored-By: Claude Opus 4.6 <[email protected]>
ce4a6cc to
aafb790
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aafb7900ac
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| vi.mock("node:child_process", () => ({ | ||
| execFile: execFileMock, | ||
| })); | ||
| import { createExecFileError, mockExecFileUtf8, resetMockExecFileUtf8 } from "../test-utils/exec-file.js"; |
There was a problem hiding this comment.
Use a resolvable helper import in systemd test
src/daemon/systemd.test.ts now imports ../test-utils/exec-file.js, but there is no src/test-utils/exec-file.* module in the repo. In this state Vitest fails during module resolution before any assertions run, so the daemon systemd test file cannot execute at all in CI or local runs.
Useful? React with 👍 / 👎.
| import { beforeEach, describe, expect, it, vi } from "vitest"; | ||
|
|
||
| const execFileMock = vi.hoisted(() => vi.fn()); | ||
| import { describe, expect, it, vi } from "vitest"; |
There was a problem hiding this comment.
Import beforeEach from vitest in rewritten suite
This file calls beforeEach(...) but no longer imports it from vitest. Since vitest.config.ts does not enable global test APIs, evaluating this suite throws ReferenceError: beforeEach is not defined, so the test file still fails even after fixing the helper import.
Useful? React with 👍 / 👎.
Summary
Adjust Feishu streaming card config to send one-character increments (
print_step: 1) instead of two-character chunks. This avoids client-side visual duplication/appending artifacts observed during live card updates.Testing
Fixes #33751