feat(koreader): add bookmark sync and exchange support

Add two-way bookmark sync support between KOReader plugin and server. Include migration 0056 for bookmark sync columns, server endpoints and services for bookmark exchange, and KOReader plugin bookmark management with comprehensive unit and E2E tests.
This commit is contained in:
neon
2026-07-28 04:34:46 +00:00
parent e0ca660f2e
commit dbb10b5c2f
47 changed files with 18917 additions and 106 deletions
+19
View File
@@ -438,6 +438,25 @@ export const E2E_SUITES = Object.freeze({
...SHARED_DB_AND_HELPER_PATHS,
],
},
"koreader-bookmark-exchange": {
id: "koreader-bookmark-exchange",
name: "KOReader Bookmark Exchange",
timeout: 45,
lane: "full",
description: "KOReader two-way bookmark (dogear) exchange suite",
vitestTarget: "test/koreader-bookmark-exchange.e2e-spec.ts",
junitOutput: `${TEST_RESULTS_DIR}/koreader-bookmark-exchange-e2e-junit.xml`,
prepareDedicatedDatabase: true,
useDedicatedDatabase: true,
changedPaths: [
"server/src/modules/bookmark/**",
"server/src/modules/koreader/**",
"server/src/modules/position-converter/**",
"server/test/koreader-bookmark-exchange.e2e-spec.ts",
"server/test/e2e/reader-state-isolation/**",
...SHARED_DB_AND_HELPER_PATHS,
],
},
"koreader-bulk-manifest": {
id: "koreader-bulk-manifest",
name: "KOReader Bulk Manifest Scale",