github cporcellijr/abs-kosync-bridge v6.3.3
Release 6.3.3

3 days ago

Changelog

All notable changes to ABS-KoSync Enhanced will be documented in this file.


[6.3.3] - 2026-03-21

✨ Added

  • Library Suggestions Page

    • Scan unmatched titles
    • Review likely audiobook/ebook pairs
    • Queue approved matches in bulk
  • Booklore Audiobook Support

    • Use Booklore audiobooks as the audio side of a sync
    • Integrated into matching, batch processing, suggestions, Forge, and dashboard tracking
  • Flexible Linking Flows

    • Ebook-only links
    • Storyteller-only links
    • One-click Refresh Booklore Cache action in Settings
  • Enhanced Suggestions System

    • Background scanning with progress updates
    • Cached repeat scans
    • Full Refresh option for full-library rescans
  • Improved Source Visibility

    • Clearer source badges across:
      • Match
      • Batch Match
      • Suggestions
      • Dashboard
    • Enhanced audio-source detail display
  • Improved Storyteller Transcript Handling

    • More tolerant of real-world file layouts
    • Priority order:
      1. Storyteller timing
      2. SMIL
      3. Whisper fallback

🔧 Diagnostics & Controls

  • Test Connection Buttons

    • Added to all services:
      • ABS, KOSync, Storyteller, Booklore, CWA, Hardcover, Telegram
    • Performs live connectivity checks
    • Returns specific errors:
      • Wrong URL
      • Invalid credentials
      • DNS failure
      • Timeout
      • Disabled/unconfigured states
  • Instant Sync Toggle

    • New setting: INSTANT_SYNC_ENABLED
    • Enables/disables event-driven sync globally
    • When disabled:
      • Socket listener is off
      • Falls back to poll cycle
  • Instant Sync Tuning

    • New setting: ABS_SOCKET_DEBOUNCE_SECONDS (default: 30s)
    • Controls delay after playback events before sync
    • Lower = faster sync
    • Higher = less load during scrubbing
  • Per-Client Polling

    • Storyteller and Booklore can use custom poll intervals
    • Independent from global sync cycle
    • Only triggers sync on real position changes
  • Shared Write Suppression

    • Centralized via write_tracker module
    • Prevents feedback loops across:
      • ABS
      • KoSync
      • Storyteller
      • Booklore

📚 Storyteller Enhancements

  • Transcript Priority Source

    • New priority:
      1. Storyteller (forced alignment)
      2. SMIL
      3. Whisper
  • Optional Assets Directory

    • New setting: STORYTELLER_ASSETS_DIR
    • Path: {root}/assets/{title}/transcriptions
    • Optional and skipped if unset
  • Native Alignment Maps

    • Built directly from wordTimeline
    • Includes:
      • Chapter
      • Local UTF-16 character offsets
      • Local timestamps
      • Global timestamps
  • Direct Timestamp → EPUB Locator

    • For Storyteller-backed books
    • Converts audiobook timestamps directly to EPUB positions
    • Bypasses fuzzy text matching
  • Backfill Action

    • Bulk ingest/re-ingest transcripts
    • Rebuild native alignments for existing books
  • Forge Pipeline Integration

    • Transcript ingestion and alignment generation now built into Forge

⚡ Sync & Automation

  • Event-Driven Real-Time Sync

    • Uses ABS Socket.IO listener
    • Sync triggers:
      • Audiobook play/pause
      • KoSync PUT events
    • Syncs across:
      • KoSync
      • Storyteller
      • Booklore
      • Hardcover
    • Typical delay: ~30 seconds
    • Configurable via:
      • ABS_SOCKET_ENABLED
      • ABS_SOCKET_DEBOUNCE_SECONDS
  • Suggestion Discovery from Events

    • Unknown-book socket events now trigger automatic suggestion discovery

🖥️ Dashboard Improvements

  • Search

    • Instant client-side filtering
    • Search by title or author
    • No page reload required
  • Quick Actions

    • Sync Now → triggers immediate sync
    • Mark Complete → marks finished across all platforms
      • Optional mapping cleanup prompt
  • Version Badge Cleanup

    • Dev builds: Build dev-N
    • Releases: vX.Y.Z
    • Removed redundant prefixes

Don't miss a new abs-kosync-bridge release

NewReleases is sending notifications on new releases.