fix(web): keep skill row pairing client-local
This commit is contained in:
@@ -168,12 +168,11 @@ function collapse(body: string, rooted: boolean, separator = '/'): string {
|
||||
* returns a generic fenced card for an execution error or a background
|
||||
* start, whose text and error styling the generic path preserves.
|
||||
*
|
||||
* Window truncation can drop the call event and its call-side view from a
|
||||
* settled result (see `ToolResultNode.callView` in dsh-client-runtime), leaving
|
||||
* a terminal result with no presentation call side even though the history
|
||||
* envelope preserves its name and arguments. That still renders: the command
|
||||
* falls back to the result view's replacement title, then to an empty command
|
||||
* (the prompt line draws bare), and the prompt shows no cwd.
|
||||
* Window truncation can drop the call head from a settled result (see
|
||||
* `ToolResultNode.call`/`callView` in dsh-client-runtime), leaving a terminal
|
||||
* result with no call side. That still renders: the command falls back to the
|
||||
* result view's replacement title, then to an empty command (the prompt line
|
||||
* draws bare), and the prompt shows no cwd.
|
||||
* @param block - RunningToolCall or ToolResultNode off the snapshot caches.
|
||||
* @param sessionCwd - the session workspace root, which resolves an omitted or
|
||||
* relative view cwd (see {@link resolveTerminalCwd}); absent leaves both unresolved.
|
||||
|
||||
@@ -285,12 +285,12 @@ describe('chat-flow derivation', () => {
|
||||
})
|
||||
|
||||
describe('ChatView', () => {
|
||||
it('an orphan tool result renders through the generic fallback', () => {
|
||||
it('a windowless tool result (call head truncated) renders with an empty tool name', () => {
|
||||
const h = makeHarness({
|
||||
nodes: [{ ...toolResult(3, 'w1'), call: null }],
|
||||
})
|
||||
const view = render(<h.ChatView {...h.props} />)
|
||||
// No durable call exists for this id, so the summary falls back to callId.
|
||||
// classifyTool('') → others; the summary slot falls back to the callId.
|
||||
expect(view.container.querySelector('[data-variant="others"]')).not.toBeNull()
|
||||
expect(view.getByText('w1')).toBeTruthy()
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user