Files
bookorbit/packages
neon 0fb7e46913 feat(book-dock): allow importing duplicates and same-path collisions
Add two per-file override flags to the Book Dock finalize flow:

- skipDuplicateCheck: bypasses ISBN/title+author duplicate detection for
  a specific file. In book_per_folder mode the file naturally lands in
  the same folder as the existing book, so createBookRecord auto-attaches
  it as a second format on the same record.

- targetFileName: lets the user rename the file at the destination to
  resolve a same-path collision. The extension is always appended from
  the file format; if the user includes the extension it is stripped
  first to avoid doubling. Setting targetFileName also implicitly skips
  the duplicate check. A directory-traversal guard rejects any name
  whose resolved path escapes the intended destination folder.

Frontend: results panel shows an "Import anyway" button for isDuplicate
rows and an inline rename input for file-exists-at-target rows. Both
retry calls forward defaultLibraryId/defaultFolderId so files that rely
on dialog-level defaults get the right destination. Concurrent double-
click is guarded. reimportingIds uses reactive(Set) so spinner and
disabled states update correctly.

Closes #213
2026-06-23 21:13:16 +00:00
..