diff --git a/packages/cli/src/ui/components/HistoryItemDisplay.test.tsx b/packages/cli/src/ui/components/HistoryItemDisplay.test.tsx
index 33b2caee6c..3cc6e06a9f 100644
--- a/packages/cli/src/ui/components/HistoryItemDisplay.test.tsx
+++ b/packages/cli/src/ui/components/HistoryItemDisplay.test.tsx
@@ -5,6 +5,7 @@
*/
import { describe, it, expect, vi } from 'vitest';
+import stripAnsi from 'strip-ansi';
import { HistoryItemDisplay } from './HistoryItemDisplay.js';
import { type HistoryItem } from '../types.js';
import { MessageType } from '../types.js';
@@ -306,11 +307,11 @@ describe('', () => {
);
await waitUntilReady();
- expect(lastFrame()).toContain(' Thinking...');
- expect(lastFrame()).toContain('Thinking');
+ const output = stripAnsi(lastFrame());
+ expect(output).toContain(' Thinking...');
+ expect(output).toContain('Thinking');
unmount();
});
-
it('does not render thinking item when disabled', async () => {
const item: HistoryItem = {
...baseItem,
diff --git a/packages/cli/src/ui/components/__snapshots__/HistoryItemDisplay.test.tsx.snap b/packages/cli/src/ui/components/__snapshots__/HistoryItemDisplay.test.tsx.snap
index 7881f1e30c..6841294eda 100644
--- a/packages/cli/src/ui/components/__snapshots__/HistoryItemDisplay.test.tsx.snap
+++ b/packages/cli/src/ui/components/__snapshots__/HistoryItemDisplay.test.tsx.snap
@@ -389,8 +389,8 @@ exports[` > renders InfoMessage for "info" type with multi
`;
exports[` > thinking items > renders thinking item when enabled 1`] = `
-" │
- │ Thinking
- │ test
+" │
+ │ Thinking
+ │ test
"
`;
diff --git a/packages/cli/src/ui/components/messages/ThinkingMessage.tsx b/packages/cli/src/ui/components/messages/ThinkingMessage.tsx
index 595f898ffa..3cdc3e5bbf 100644
--- a/packages/cli/src/ui/components/messages/ThinkingMessage.tsx
+++ b/packages/cli/src/ui/components/messages/ThinkingMessage.tsx
@@ -19,7 +19,7 @@ interface ThinkingMessageProps {
}
const THINKING_LEFT_PADDING = 1;
-const VERTICAL_LINE_WIDTH = 2;
+const VERTICAL_LINE_WIDTH = 1;
function splitGraphemes(value: string): string[] {
if (typeof Intl !== 'undefined' && 'Segmenter' in Intl) {
@@ -148,7 +148,7 @@ export const ThinkingMessage: React.FC = ({
const verticalLine = (
- │
+ │
);
diff --git a/packages/cli/src/ui/components/messages/__snapshots__/ThinkingMessage.test.tsx.snap b/packages/cli/src/ui/components/messages/__snapshots__/ThinkingMessage.test.tsx.snap
index a3415109ba..0651018957 100644
--- a/packages/cli/src/ui/components/messages/__snapshots__/ThinkingMessage.test.tsx.snap
+++ b/packages/cli/src/ui/components/messages/__snapshots__/ThinkingMessage.test.tsx.snap
@@ -1,8 +1,8 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`ThinkingMessage > normalizes escaped newline tokens 1`] = `
-" │
- │ Matching the Blocks
- │ Some more text
+" │
+ │ Matching the Blocks
+ │ Some more text
"
`;
diff --git a/packages/cli/src/ui/utils/textUtils.test.ts b/packages/cli/src/ui/utils/textUtils.test.ts
index 4927486d43..b06fa62f5e 100644
--- a/packages/cli/src/ui/utils/textUtils.test.ts
+++ b/packages/cli/src/ui/utils/textUtils.test.ts
@@ -48,12 +48,14 @@ describe('textUtils', () => {
it('should handle unicode characters that crash string-width', () => {
// U+0602 caused string-width to crash (see #16418)
const char = '';
- expect(getCachedStringWidth(char)).toBe(1);
+ expect(() => getCachedStringWidth(char)).not.toThrow();
+ expect(typeof getCachedStringWidth(char)).toBe('number');
});
it('should handle unicode characters that crash string-width with ANSI codes', () => {
const charWithAnsi = '\u001b[31m' + '' + '\u001b[0m';
- expect(getCachedStringWidth(charWithAnsi)).toBe(1);
+ expect(() => getCachedStringWidth(charWithAnsi)).not.toThrow();
+ expect(typeof getCachedStringWidth(charWithAnsi)).toBe('number');
});
});
diff --git a/packages/vscode-ide-companion/NOTICES.txt b/packages/vscode-ide-companion/NOTICES.txt
index 5337fb3ef6..83e1d959cc 100644
--- a/packages/vscode-ide-companion/NOTICES.txt
+++ b/packages/vscode-ide-companion/NOTICES.txt
@@ -2131,9 +2131,30 @@ THE SOFTWARE.
============================================================
path-to-regexp@6.3.0
-(No repository found)
+(https://github.com/pillarjs/path-to-regexp.git)
+
+The MIT License (MIT)
+
+Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
-License text not found.
============================================================
send@1.2.1