fix(web): localize the trajectory toolbar and simplify the download

Toolbar strings route through the locale dictionary's standard t seat (the
export button no longer mixes languages in the English golden), exportLog
passes the response blob straight to the browser save instead of copying it
three times, the client id sanitizer rejects dot segments like the host one,
and the fixture stub comment no longer misattributes the 404.
This commit is contained in:
_Kerman
2026-08-10 19:50:20 +08:00
parent beb1d0601f
commit 53d9810461
9 changed files with 130 additions and 54 deletions

View File

@@ -2834,9 +2834,9 @@ function createFixtureWorld(options: FixtureOptions): FixtureWorld {
})
return Promise.resolve({ accepted: true })
},
// The host-only streaming download has no in-memory counterpart: fixture
// mode answers 404 so the export button's error bar explains the gap
// instead of hanging.
// Satisfies the ApiProxy contract type only: the browser export button
// fetches GET /api/session.export directly (window.fetch), so this stub is
// never reached through the fixture's dispatch.
downloads: {
sessionLog: () => Promise.resolve(new Response('fixture mode does not serve session export', { status: 404 })),
},