fix(ui-settings-account,ui-model-selection): align with updated primitives and catalog checks

This commit is contained in:
lsdsjy committed 2026-09-21 14:54:51 +08:00
1 parent 325e28bfa0
commit 7dc86578d8
3 files changed
+7 -11

No files matched your search

@@ -1,8 +1,5 @@
- textbox "描述你想要构建的内容, / 调用指令, @ 文件或对话" [disabled]
- button "添加文件或调用指令" [disabled]:
- img
- button "添加文件或调用指令" [disabled]
- button "访问模式,当前:工作区内修改" [disabled]: 工作区内修改
- button "请选择模型":
- text: 请选择模型
- img
- button "请选择模型"
- button "发送消息" [disabled]
@@ -71,8 +71,7 @@ async function bench(locale: 'zh' | 'en' = 'zh') {
let selected = defaultSelection
const calls = { models: 0, select: 0 }
const projections = new Map<SessionId, SnapshotStore<ModelSelectionProjection | undefined>>()
// Whether the Host reports an adapter for the current route; the composer
// block follows this, never catalog membership.
// Whether the Host advertises available models for the current route.
let routable = true
let selectionFailure: RemoteError<'session/writer-held'> | undefined
const sessionRemote = {
@@ -382,14 +381,14 @@ describe('ui-model-selection dual entry', () => {
await oldDirectory.load()
const replacement = b.mint('s1')
replacement.projection.set({ lastUsed: null,
next: { provider: routable ? 'deepseek-official' : 'missing', model: 'replacement' } })
next: { provider: routable ? 'deepseek-official' : 'missing', model: 'deepseek-v4-flash' } })
const directory = b.ctx.modelDirectories.directoryFor(sid('s1'))
try {
expect(directory.store.getSnapshot().routable).toBe(routable)
const expected = b.blockOf('s1')
await Promise.resolve().then(() => {
first.projection.set({ lastUsed: null,
next: { provider: routable ? 'missing' : 'deepseek-official', model: 'late-old' } })
next: { provider: routable ? 'missing' : 'deepseek-official', model: 'deepseek-v4-pro' } })
})
expect(oldDirectory.store.getSnapshot().routable).toBe(!routable)
expect(b.blockOf('s1')).toBe(expected)
@@ -1,6 +1,6 @@
/** Account sign-out confirmation with the current task impact. */
import { useState } from 'react'
import { Button, IconCloseOutline16, Modal } from '@deepseek-ai/dsh-client-ui-primitives'
import { Button, IconCloseOutlineRegular, Modal } from '@deepseek-ai/dsh-client-ui-primitives'
import type { AccountKey } from './locales.ts'
import css from './SignInDialog.module.css'
@@ -26,7 +26,7 @@ export function SignOutDialog({ running, signOut, close, t }: {
<div className={css.header}>
<h2 className={css.title}>{t('signOut')}</h2>
<button type="button" className={css.close} aria-label={t('close')} disabled={busy} onClick={dismiss}>
<IconCloseOutline16 size={14} />
<IconCloseOutlineRegular size={14} />
</button>
</div>
<p className={css.description}>{t(running ? 'signOutRunningDescription' : 'signOutDescription')}</p>