mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 19:05:11 +00:00
Coalesce sequential status messages
Rapidly changing settings no longer spams the chat log with multiple status lines. fixes #365
This commit is contained in:
parent
ac6f5006a9
commit
a2afa490f1
3 changed files with 7 additions and 6 deletions
|
|
@ -199,6 +199,7 @@ Total color count increased from 46 to 50. See [docs/theme.md](docs/theme.md) fo
|
|||
|
||||
### Fixed
|
||||
|
||||
- **Status messages spam chat log**: Rapidly changing settings (e.g., thinking level via Shift+Tab) would add multiple status lines. Sequential status updates now coalesce into a single line. ([#365](https://github.com/badlogic/pi-mono/pull/365) by [@paulbettner](https://github.com/paulbettner))
|
||||
- **Toggling thinking blocks during streaming shows nothing**: Pressing Ctrl+T while streaming would hide the current message until streaming completed.
|
||||
- **Resuming session resets thinking level to off**: Initial model and thinking level were not saved to session file, causing `--resume`/`--continue` to default to `off`. ([#342](https://github.com/badlogic/pi-mono/issues/342) by [@aliou](https://github.com/aliou))
|
||||
- **Hook `tool_result` event ignores errors from custom tools**: The `tool_result` hook event was never emitted when tools threw errors, and always had `isError: false` for successful executions. Now emits the event with correct `isError` value in both success and error cases. ([#374](https://github.com/badlogic/pi-mono/issues/374) by [@nicobailon](https://github.com/nicobailon))
|
||||
|
|
|
|||
|
|
@ -92,8 +92,8 @@ export class InteractiveMode {
|
|||
private changelogMarkdown: string | undefined = undefined;
|
||||
|
||||
// Status line tracking (for mutating immediately-sequential status updates)
|
||||
private lastStatusSpacer: Spacer | null = null;
|
||||
private lastStatusText: Text | null = null;
|
||||
private lastStatusSpacer: Spacer | undefined = undefined;
|
||||
private lastStatusText: Text | undefined = undefined;
|
||||
|
||||
// Streaming message tracking
|
||||
private streamingComponent: AssistantMessageComponent | undefined = undefined;
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ describe("InteractiveMode.showStatus", () => {
|
|||
const fakeThis: any = {
|
||||
chatContainer: new Container(),
|
||||
ui: { requestRender: vi.fn() },
|
||||
lastStatusSpacer: null,
|
||||
lastStatusText: null,
|
||||
lastStatusSpacer: undefined,
|
||||
lastStatusText: undefined,
|
||||
};
|
||||
|
||||
(InteractiveMode as any).prototype.showStatus.call(fakeThis, "STATUS_ONE");
|
||||
|
|
@ -38,8 +38,8 @@ describe("InteractiveMode.showStatus", () => {
|
|||
const fakeThis: any = {
|
||||
chatContainer: new Container(),
|
||||
ui: { requestRender: vi.fn() },
|
||||
lastStatusSpacer: null,
|
||||
lastStatusText: null,
|
||||
lastStatusSpacer: undefined,
|
||||
lastStatusText: undefined,
|
||||
};
|
||||
|
||||
(InteractiveMode as any).prototype.showStatus.call(fakeThis, "STATUS_ONE");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue