fix(gui): merge adaptations to master's apiproxy defaults and deleted test hook

The origin/master merge introduced a required workspaceRoot on
ApiProxyDefaults and deleted the ui-conversation test hook.ts helper.
Add workspaceRoot to the new todo-projection api-proxy test and bind
the todo-panel spec's selector hook via bindSnapshotSelector directly,
matching the sibling specs.
This commit is contained in:
Chinesezjc
2026-07-26 04:30:58 +08:00
parent 012b712820
commit 99805b6340
2 changed files with 3 additions and 3 deletions

View File

@@ -6,7 +6,7 @@
*/
import { act, cleanup, fireEvent, render, screen } from '@testing-library/react'
import { afterEach, describe, expect, it, vi } from 'vitest'
import { hookOf } from './hook.ts'
import { bindSnapshotSelector } from '@deepseek-ai/dsh-client-web-react'
import { createSnapshotStore } from '@deepseek-ai/dsh-client-runtime/client'
import type { TodoItem, ToolResultNode } from '@deepseek-ai/dsh-client-runtime/client'
import type { UseSession } from '@deepseek-ai/dsh-client-ui-slots'
@@ -19,7 +19,7 @@ afterEach(cleanup)
function sessionWith(todos: readonly TodoItem[]) {
const store = createSnapshotStore<{ todos: readonly TodoItem[] }>({ todos })
return { store, useSession: hookOf(store) as unknown as UseSession }
return { store, useSession: bindSnapshotSelector(store) as unknown as UseSession }
}
const LIST: TodoItem[] = [

View File

@@ -156,7 +156,7 @@ describe('mux live view computation', () => {
it('tail page carries the full-log todo projection; older pages and todo-less sessions omit it', async () => {
const { ctx } = await harness()
const api = createApiProxy(ctx, { provider: 'p', model: 'm', cwd: '/tmp' })
const api = createApiProxy(ctx, { provider: 'p', model: 'm', cwd: '/tmp', workspaceRoot: '/tmp' })
const session = ctx.sessions.create()
ctx.agents.register({ id: session.id, session, status: 'idle', ctx } as Agent)
// Superseded write early in the log, latest write later; enough messages to page.