mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 00:11:37 -06:00
feat(sync): three way (kobo, koreader and bookorbit) progress and annotation sync (#338)
Introduces a custom KOReader plugin to synchronize reading progress, stats, and annotations. Adds backend controllers, services, and database schema updates to ingest plugin data. Updates the frontend to display KOReader annotations alongside built-in reader highlights. Closes #337
This commit is contained in:
@@ -423,6 +423,64 @@ export const E2E_SUITES = Object.freeze({
|
||||
...SHARED_DB_AND_HELPER_PATHS,
|
||||
],
|
||||
},
|
||||
"koreader-annotation-exchange": {
|
||||
id: "koreader-annotation-exchange",
|
||||
name: "KOReader Annotation Exchange",
|
||||
timeout: 45,
|
||||
lane: "full",
|
||||
description: "KOReader annotation exchange suite",
|
||||
vitestTarget: "test/koreader-annotation-exchange.e2e-spec.ts",
|
||||
junitOutput: `${TEST_RESULTS_DIR}/koreader-annotation-exchange-e2e-junit.xml`,
|
||||
prepareDedicatedDatabase: true,
|
||||
useDedicatedDatabase: true,
|
||||
changedPaths: [
|
||||
"server/src/modules/annotation/**",
|
||||
"server/src/modules/koreader/**",
|
||||
"server/src/modules/position-converter/**",
|
||||
"server/test/koreader-annotation-exchange.e2e-spec.ts",
|
||||
"server/test/e2e/reader-state-isolation/**",
|
||||
...SHARED_DB_AND_HELPER_PATHS,
|
||||
],
|
||||
},
|
||||
"annotations-hub": {
|
||||
id: "annotations-hub",
|
||||
name: "Annotations Hub",
|
||||
timeout: 45,
|
||||
lane: "full",
|
||||
description: "Annotations hub suite",
|
||||
vitestTarget: "test/annotations-hub.e2e-spec.ts",
|
||||
junitOutput: `${TEST_RESULTS_DIR}/annotations-hub-e2e-junit.xml`,
|
||||
prepareDedicatedDatabase: true,
|
||||
useDedicatedDatabase: true,
|
||||
changedPaths: [
|
||||
"server/src/modules/annotation/**",
|
||||
"server/src/modules/position-converter/**",
|
||||
"server/test/annotations-hub.e2e-spec.ts",
|
||||
"server/test/e2e/reader-state-isolation/**",
|
||||
...SHARED_DB_AND_HELPER_PATHS,
|
||||
],
|
||||
},
|
||||
"kobo-annotation-sync": {
|
||||
id: "kobo-annotation-sync",
|
||||
name: "Kobo Annotation Sync",
|
||||
timeout: 60,
|
||||
lane: "full",
|
||||
description: "Kobo annotation three-way sync suite",
|
||||
vitestTarget: "test/kobo-annotation-sync.e2e-spec.ts",
|
||||
junitOutput: `${TEST_RESULTS_DIR}/kobo-annotation-sync-e2e-junit.xml`,
|
||||
prepareDedicatedDatabase: true,
|
||||
useDedicatedDatabase: true,
|
||||
changedPaths: [
|
||||
"server/src/modules/annotation/**",
|
||||
"server/src/modules/kobo/**",
|
||||
"server/src/modules/koreader/**",
|
||||
"server/src/modules/position-converter/**",
|
||||
"server/test/kobo-annotation-sync.e2e-spec.ts",
|
||||
"server/test/e2e/reader-state-isolation/**",
|
||||
"packages/types/src/kobo.ts",
|
||||
...SHARED_DB_AND_HELPER_PATHS,
|
||||
],
|
||||
},
|
||||
"users-admin-lifecycle": {
|
||||
id: "users-admin-lifecycle",
|
||||
name: "Users Admin Lifecycle",
|
||||
|
||||
Reference in New Issue
Block a user