github marcoand75/cpr-vcodex-steroids 1.5.0.2-dev2-cpr-vcodex-steroids

CPR-vCodex Steroids — Quick Fixes

⚡ Library Performance

  • 🚀 Instant open — incremental scan skips all e-ink refreshes and DFS counting pass. Library opens immediately when no books changed
  • 📊 Dynamic progress bar — ~10 updates total regardless of library size (230 books → every 23, 50 books → every 5)
  • 🔍 Binary search scan — O(log n) file matching via sorted array + std::lower_bound, zero extra RAM vs old hash map
  • 📁 No per-file I/O — file sizes read from directory entries, eliminating hundreds of Storage.open() calls

📖 Collections Fixes

  • 📑 Proper paginationcollectionBookCount() reads exact count from index, works correctly with 47+ books per collection
  • 🔄 Cover generation — works inside collections just like normal browsing mode
  • ↩️ Back navigation — collection books → collection list → library exit

🧭 Navigation

  • 🔄 First↔last page wraplastPage_ properly updated on every wrap-around transition
  • 📄 Page cache refresh — called on all page changes (Up/Down/Left/Right) for correct display
  • 🎯 Selector never empty — clamped to valid positions on incomplete last pages

🔧 Stability

  • Library always in sync — incremental LibraryIndex::scan() on every entry detects added/removed/modified books
  • 🛡️ Renders suppressed during scan — no unrelated Activity renders during walkDirs() processing pass
  • 🗑️ index rebuild skippedbuildIndices() only runs when books actually changed (added > 0 || removed > 0)

Don't miss a new cpr-vcodex-steroids release

NewReleases is sending notifications on new releases.