Merge branch 'master' into codex/frontend-error-dialogs

# Conflicts:
#	.hermes/shared-memory/decision-log.md
#	server-rs/crates/api-server/src/generated_asset_sheets.rs
This commit is contained in:
kdletters
2026-05-26 22:10:41 +08:00
175 changed files with 4760 additions and 465 deletions

View File

@@ -1305,7 +1305,7 @@ describe('PuzzleResultView', () => {
expect(screen.queryByPlaceholderText('参考图链接或资产ID')).toBeNull();
});
test('passes the selected image model when regenerating a level image', () => {
test('passes the selected image mode without exposing model names', () => {
const onExecuteAction = vi.fn();
render(
@@ -1319,9 +1319,12 @@ describe('PuzzleResultView', () => {
openPuzzleLevelsTab();
fireEvent.click(screen.getByText('雨夜猫街'));
const dialog = screen.getByRole('dialog', { name: '关卡详情' });
fireEvent.click(within(dialog).getByRole('button', { name: '图片模型' }));
fireEvent.click(
within(dialog).getByRole('menuitemradio', { name: 'gpt-image-2' }),
within(dialog).getByRole('button', { name: '图片生成模式' }),
);
expect(within(dialog).queryByText(/gpt|nanobanana|gemini/u)).toBeNull();
fireEvent.click(
within(dialog).getByRole('menuitemradio', { name: '标准模式' }),
);
fireEvent.click(
within(dialog).getByRole('button', { name: /重新生成画面/u }),