Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jellyfin audiobook download #1208

Draft
wants to merge 45 commits into
base: develop
Choose a base branch
from

Conversation

lysanntranvouez
Copy link

Purpose

Adds a feature "Download from Jellyfin", similar to "Download from URL".

  • UI to log in to a jellyfin server
  • Lists all audiobooks found on the server (all "book" libraries, and all folders & audiobooks in those)
  • Selecting an audiobook starts the download process, hooking into the existing single file download

Related tasks

Approach

  • For the most part it doesn't touch existing features, only adds new views, view models & controllers
  • Only exception: Extracted single file download (by URL) into a separate service, so it is reused for the jellyfin download

Things to be aware of / Things to focus on

  • I haven't programmed Swift or iOS for 8(?) years. I have never done SwiftUI before.
  • I tried to stay similar to the existing patterns I spotted (presentation flows, use of MVVM), but I'm not super familiar with how things are done on iOS these days, so there's likely room for improvement.

Draft status

This is still very much a draft at this stage:

  • UX has varying amounts of quality
  • There is zero error handling
  • There are no unit tests

Other missing things before I consider this ready for merge:

  • Must have:
    • Option to remember login information + add option to sign out (forget login info) in settings (and probably the jellyfin download view itself?)
    • Document the added 3rd party libs
  • Should have:
    • A bit of a question - I think it would be good to have some kind of a page before the download, to see the size + a download button. So that the user initiates the download very intentionally. Or else, books and folders need to be distinguished better.
  • Nice to have:
    • Ability to queue several downloads

Super optional but nice to have:

  • Ability to download an entire folder and save the files into a folder with the same name

Screenshots

Simulator recording of an earlier version:
https://github.com/user-attachments/assets/1ad1fe56-5d6a-4314-93e8-583229090d4a

Lysann Tranvouez added 30 commits October 25, 2024 15:05
@lysanntranvouez lysanntranvouez changed the title Jellyfin download Jellyfin audiobook download Oct 29, 2024
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