feat(annotations): add book journal, starred highlights and colour names

Add per-book journal entries keyed by a client id, a star toggle that does not bump the annotation
version pushed to devices, a per-user colour legend, and an edit route so bookmark title and note
changes reach the server. All of it is additive and advertised through app-info features, so iOS
sends new fields only to servers that support them. Also sort annotations by numeric CFI steps
instead of comparing CFI strings.
This commit is contained in:
neon
2026-10-04 17:27:03 +00:00
parent 74d4a669df
commit ff880a470c
56 changed files with 25306 additions and 39 deletions
+22
View File
@@ -831,6 +831,28 @@ export const E2E_SUITES = Object.freeze({
...SHARED_DB_AND_HELPER_PATHS,
],
},
"book-notebook": {
id: "book-notebook",
name: "Book Notebook",
timeout: 45,
lane: "full",
description: "Book journal, annotation stars and reading order, bookmark edits and colour names suite",
vitestTarget: "test/book-notebook.e2e-spec.ts",
junitOutput: `${TEST_RESULTS_DIR}/book-notebook-e2e-junit.xml`,
prepareDedicatedDatabase: true,
useDedicatedDatabase: true,
changedPaths: [
"server/src/modules/book-journal/**",
"server/src/modules/annotation/**",
"server/src/modules/bookmark/**",
"server/src/modules/user-preferences/**",
"server/src/modules/app-info/**",
"server/test/book-notebook.e2e-spec.ts",
"server/test/e2e/reader-state-isolation/**",
...SHARED_DB_AND_HELPER_PATHS,
...SHARED_TYPES_PATHS,
],
},
"kobo-annotation-sync": {
id: "kobo-annotation-sync",
name: "Kobo Annotation Sync",