Skip to content

KoreShelf v2.0.4 - The Database & Performance Update 🚀

Choose a tag to compare

@GabrieleTrovato01 GabrieleTrovato01 released this 14 Jun 16:24

Italiano

Un aggiornamento massiccio per le fondamenta di KoreShelf! Abbiamo riscritto completamente il motore di archiviazione e di ricerca per offrirti un'esperienza fulminea, stabile e a prova di bomba, anche con librerie sterminate.

✨ Le grandi novità

  • 🗄️ Nuovo Motore Database (SQLite): Addio al vecchio e fragile file books.json! KoreShelf ora è alimentato da better-sqlite3, un solido database relazionale in C++ locale. Questo garantisce letture e scritture istantanee, zero perdita di dati e prestazioni eccellenti anche con migliaia di libri.
  • Live Search Istantanea (Backend): La barra di ricerca è stata riprogettata. Ora interroga direttamente il database con un debounce di 150ms. Il risultato? Mentre scrivi, la telecamera 3D vola verso il libro cercato in modo fluido, chirurgico e senza sovraccaricare il browser.
  • 🛡️ Rilevamento Duplicati Intelligente: L'algoritmo anti-doppioni ora agisce in modo furbo: controlla le corrispondenze direttamente nel database usando i titoli "puliti", evitando che un EPUB con i metadati scritti male generi cloni sulla tua mensola.

🛠️ Miglioramenti "Sotto il Cofano" e Fix

  • Avvio Infallibile (Fix Crash): Risolto il bug che causava il crash dell'eseguibile al primo avvio su computer puliti a causa dell'ordine di creazione delle cartelle (Cannot open database).
  • Gestione Metadati Corrotti: Migliorata la logica di fallback per gli EPUB e i PDF senza titolo o autore validi. Ora il server estrae in modo intelligente i dati direttamente dal nome del file prima di interrogare le API di Google/Apple.
  • Stabilità Cross-Platform (ABI): Allineato l'intero processo di build a Node.js 18. Questo garantisce che i binari nativi (C++) di sharp e sqlite3 vengano impacchettati perfettamente senza conflitti di versione su Linux, Windows e macOS.
  • Docker Ready: Configurazione aggiornata per supportare il nuovo database tramite montaggio corretto dei volumi, assicurando la persistenza totale dei dati anche ricreando i container.

English

A massive update for the foundations of KoreShelf! We completely rewrote the storage and search engine to offer a lightning-fast, stable, and bulletproof experience, even with massive libraries.

✨ Major Features

  • 🗄️ New Database Engine (SQLite): Goodbye to the old and fragile books.json file! KoreShelf is now powered by better-sqlite3, a solid local C++ relational database. This guarantees instant reads and writes, zero data loss, and excellent performance even with thousands of books.
  • Instant Live Search (Backend): The search bar has been redesigned. It now queries the database directly with a 150ms debounce. The result? As you type, the 3D camera flies to the searched book smoothly, surgically, and without overloading your browser.
  • 🛡️ Smart Duplicate Detection: The anti-duplicate algorithm now acts intelligently: it checks for matches directly in the database using "clean" titles, preventing an EPUB with poorly formatted metadata from generating clones on your shelf.

🛠️ Under the Hood Improvements & Fixes

  • Fail-safe Startup (Crash Fix): Fixed a bug that caused the executable to crash on the first startup on clean machines due to the folder creation order (Cannot open database error).
  • Corrupted Metadata Handling: Improved the fallback logic for EPUBs and PDFs lacking valid titles or authors. The server now smartly extracts data directly from the filename before querying the Google/Apple APIs.
  • Cross-Platform Stability (ABI): Aligned the entire build process to Node.js 18. This ensures that the native binaries (C++) of sharp and sqlite3 are perfectly packaged without version conflicts on Linux, Windows, and macOS.
  • Docker Ready: Updated configuration to support the new database through correct volume mounting, ensuring total data persistence even when rebuilding containers.