Files
chevron7 dc491dd22e fix(audiobook): Phase B session model -- BookSession + session-first controls (audio remediation 2.1-2.3)
Audiobooks now play through a BookSession with a required, verified track
map: every surface (play, chapter tap, seek, ended-advance, restore) does
its book-time math through one tested translator, and a book can never be
marked finished without an affirmed last file -- killing the multi-file
progress-wipe (FE1). Chapter taps start the book at the chapter via
playAudiobookAt riding load(seekTo) instead of racing React state (FE6).
The controller gains a generation-checked load(seekTo) + isTransitioning
shim (D5): start offsets ride their own load and can never leak across
media switches (FE8), and progress saves are suppressed during transitions
(FE9). Errors on audiobooks/podcasts save progress before teardown (FE12).
Same-src loads in flight are no longer restarted (FE16). The unsafe
kima_was_playing foreground auto-resume is removed (FE5 partial; intent
routing completes in Phase D). Adds vitest with a 33-test BookSession
suite (test:unit).
2026-06-11 11:39:51 -05:00

15 lines
300 B
TypeScript

import { defineConfig } from "vitest/config";
import path from "path";
export default defineConfig({
test: {
environment: "node",
include: ["lib/__tests__/**/*.test.ts"],
},
resolve: {
alias: {
"@": path.resolve(__dirname, "."),
},
},
});