mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 00:11:37 -06:00
fix(kobo): preserve koreader matching for converted downloads
Register the identity of delivered bytes so Kobo conversions and audio removal continue matching their source books in KOReader. Keep download registration recoverable without allowing database lock waits to stall it. Preserve manual corrections across cached device identities, make review semantics explicit, and keep cache invalidation bounded for large libraries. Add unit, database, lifecycle and scale regressions with one generated migration. Closes #1697
This commit is contained in:
@@ -920,6 +920,25 @@ export const E2E_SUITES = Object.freeze({
|
||||
...SHARED_DB_AND_HELPER_PATHS,
|
||||
],
|
||||
},
|
||||
"kobo-koreader-download": {
|
||||
id: "kobo-koreader-download",
|
||||
name: "Kobo KOReader Download Identity",
|
||||
timeout: 60,
|
||||
lane: "full",
|
||||
description: "Kobo delivered hashes, KOReader matching, cache recovery and access isolation",
|
||||
vitestTarget: "test/kobo-koreader-download.e2e-spec.ts",
|
||||
junitOutput: `${TEST_RESULTS_DIR}/kobo-koreader-download-e2e-junit.xml`,
|
||||
prepareDedicatedDatabase: true,
|
||||
useDedicatedDatabase: true,
|
||||
changedPaths: [
|
||||
"server/src/modules/kobo/**",
|
||||
"server/src/modules/koreader/**",
|
||||
"server/src/common/utils/file-hash.utils.ts",
|
||||
"server/test/kobo-koreader-download.e2e-spec.ts",
|
||||
"server/test/e2e/reader-state-isolation/**",
|
||||
...SHARED_DB_AND_HELPER_PATHS,
|
||||
],
|
||||
},
|
||||
"kobo-cover-identity": {
|
||||
id: "kobo-cover-identity",
|
||||
name: "Kobo Cover Identity",
|
||||
|
||||
Reference in New Issue
Block a user