github pounat/absorb v1.2.1

latest releases: v1.8.65, v1.8.64, v1.8.63...
one month ago

Absorb v1.2.1 - Sync & Progress Fixes

Multi-Device Sync

  • Resume position now uses last-write-wins timestamp comparison between local and server
  • Playing a book on device A, pausing, then pressing play on device B correctly picks up the newer position
  • Server session created for downloaded books when online, enabling full sync during local playback

Absorbing Screen

  • Unified Sync/Stop & Sync button replaces the two separate buttons
    • No playback: Shows "Sync", pulls fresh progress from server
    • During playback: Shows "Stop & Sync", stops playback, syncs, refreshes
    • Offline: Shows "Stop", stops playback only

Progress Refresh

  • Sync and refresh now updates progress bars, chapter indicators, and percentages across all screens immediately
  • Home screen continue listening cards now reactively rebuild on progress changes
  • Refreshing on any tab updates the absorbing cards too since IndexedStack keeps all tabs live
  • Refresh flow: flush pending local, pull fresh server data, clear stale overrides, write server data to local, notify all listeners

Files Changed

  • lib/services/audio_player_service.dart - timestamp comparison in _playFromLocal and _playFromServer
  • lib/providers/library_provider.dart - refresh() override clearing, SharedPreferences writeback
  • lib/screens/absorbing_screen.dart - unified sync button, _pullRefresh
  • lib/widgets/book_card.dart - context.read changed to context.watch

Don't miss a new absorb release

NewReleases is sending notifications on new releases.