Skip to content

Add the new audio player and offline downloads - #403

Closed
manjotkaur27 wants to merge 2 commits into
devfrom
feature/audio-player
Closed

manjotkaur27 wants to merge 2 commits into
devfrom
feature/audio-player

Conversation

@manjotkaur27

Copy link
Copy Markdown
Collaborator

Audio

  • Floating player (full bar, pill and circle) with drag, preview with countdown, track switching and sync-scroll that follows the sung line, including inside merged paragraphs (.pline spans from the database)
  • Track catalog comes from the backend (users.khalis.net/audios) and is cached for offline use; bundled lyrics and hardcoded track URLs removed
  • Hardened player setup; the screen stays awake while audio plays; audio pauses when the app loses focus; playback recovery retries until audio resumes and never resumes in the background
  • Reader from the newer design: themed scrollbar, bars shown on open, nav-bar surface, foldable top layout

Downloads

  • Download button per track, an app-wide download queue, Wi-Fi-only and auto-download settings, and a Manage Downloads screen
  • Background downloader (@kesha-antonov/react-native-background-downloader) with its patch, notification permission on Android 13+, the iOS background-session hook, and failures reported to Crashlytics
  • Downloads from the previous version are adopted, never deleted; partial files are downloaded again; cancel, stall, offline and Wi-Fi-only cases stop or restart transfers correctly
  • Downloaded tracks play from disk with their lyrics after a restart

Other

  • The audio player and Settings audio rows are on the design tokens
  • Spanish audio strings moved into the Spanish block

Audio
- Floating player (full bar, pill and circle) with drag, preview with
  countdown, track switching and sync-scroll that follows the sung line,
  including inside merged paragraphs (.pline spans from the database)
- Track catalog comes from the backend (users.khalis.net/audios) and is
  cached for offline use; bundled lyrics and hardcoded track URLs removed
- Hardened player setup; the screen stays awake while audio plays; audio
  pauses when the app loses focus; playback recovery retries until audio
  resumes and never resumes in the background
- Reader from the newer design: themed scrollbar, bars shown on open,
  nav-bar surface, foldable top layout

Downloads
- Download button per track, an app-wide download queue, Wi-Fi-only and
  auto-download settings, and a Manage Downloads screen
- Background downloader (@kesha-antonov/react-native-background-downloader)
  with its patch, notification permission on Android 13+, the iOS
  background-session hook, and failures reported to Crashlytics
- Downloads from the previous version are adopted, never deleted; partial
  files are downloaded again; cancel, stall, offline and Wi-Fi-only cases
  stop or restart transfers correctly
- Downloaded tracks play from disk with their lyrics after a restart

Other
- The audio player and Settings audio rows are on the design tokens
- Spanish audio strings moved into the Spanish block
- useAudioManifest: track lists and the download registry are always
  defined, so drop the fallbacks and guards on them
- AudioControlBar: sanitizePosition always returns a number, so drop the
  null checks on the saved position
- ManageDownloads: drop the partial null guard on the row item
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant