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

v0.7.1 #36

Merged
merged 59 commits into from
Jun 19, 2024
Merged

v0.7.1 #36

merged 59 commits into from
Jun 19, 2024

Commits on May 1, 2023

  1. Debrid: Various updates to API and settings

    Debrid services can change their APIs at any time which negatively
    impacts user experiences on Ferrite.
    
    Add the following:
    - Ability for a user to add a manually generated API key only showing the
    last 4 characters for security purposes.
    - Make ephemeral auth sessions toggle-able. ASWebAuthenticationView does
    not automatically clear on toggle change.
    - Add the savedLinks endpoint for AllDebrid so users can access their
    downloads and magnets.
    - Add a links section to AD's cloud view.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed May 1, 2023
    Configuration menu
    Copy the full SHA
    cc550dd View commit details
    Browse the repository at this point in the history

Commits on May 2, 2023

  1. Premiumize: Fix API key usage

    PM has a different method to handle API keys compared to other services
    which takes the value as an authorization header.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed May 2, 2023
    Configuration menu
    Copy the full SHA
    b8978fd View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2023

  1. Scraping: Add new source methods

    Some sources can be unique and require some extra parsing. Add the
    ability to extract a magnet link instead of assuming that every
    source provides a properly formatted one.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    46e0687 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2023

  1. Premiumize: Fix DDL fetching and debrid IA handling

    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Aug 26, 2023
    Configuration menu
    Copy the full SHA
    13a40a2 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2023

  1. NavView: Switch to NavigationStack for iOS 17 and up

    iOS 17 fixes the issues that NavigationStack had with iOS 16. This
    means that futureproofing is fixed.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Aug 27, 2023
    Configuration menu
    Copy the full SHA
    2e74632 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2024

  1. Debrid: Begin using common protocols

    Unifying the debrid services under a protocol will help slim down
    on excess redundant code and allow for easy addition of new services
    in the future.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 2, 2024
    Configuration menu
    Copy the full SHA
    0fe1cbc View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2024

  1. Debrid: Add InstantAvailability and download to protocol

    Unify IA into a passable client side structure and add a common
    download method to the DebridSource protocol.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    37450ef View commit details
    Browse the repository at this point in the history
  2. Debrid: Add protocol for cloud handling

    Cloud downloads and torrents are now unified under their own
    protocol and models. Downloads and torrents are separated.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    9e306ef View commit details
    Browse the repository at this point in the history
  3. Debrid: Order API implementations

    Reorder everything and mark off where different functions are located.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    37ef642 View commit details
    Browse the repository at this point in the history
  4. Debrid: Add Premiumize to InstantAvailability

    Also add the requirement to the protocol.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    f902142 View commit details
    Browse the repository at this point in the history
  5. Debrid: Add source to all models

    Gives an ID of where the struct came from.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    c641fdf View commit details
    Browse the repository at this point in the history
  6. Tree: Format

    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    f9ecc74 View commit details
    Browse the repository at this point in the history
  7. Debrid: Remove per-API IA structures

    These aren't required since IA is a unified type. Only keep batch
    IA for RealDebrid since it helps clear up confusion when gathering
    InstantAvailability results.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    273403b View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2024

  1. Debrid: Add common functions for existing magnets/downloads

    This fixes cloud magnet fetching and also doesn't duplicate magnets
    inside the cloud service. Unrestricted links don't get duplicated,
    so no need to check against those.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    0caf8a8 View commit details
    Browse the repository at this point in the history
  2. Debrid: Fix RealDebrid download handling

    The torrent ID is no longer stored in the DebridManager.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    96a6722 View commit details
    Browse the repository at this point in the history
  3. Debrid: Migrate common arrays to their API classes

    Add convenience vars which makes the API classes the source of truth
    for any interaction.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    cf0c5a3 View commit details
    Browse the repository at this point in the history
  4. Debrid: Allow for UI updates

    Mark as an ObservableObject so the UI can see parameters that are
    being updated in the class.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    b80f890 View commit details
    Browse the repository at this point in the history
  5. Debrid: Migrate more components to the protocol

    Protocols can't be used in ObservedObjects. Observable in iOS 17
    and up solves this, but Ferrite targets iOS 16 and up, so add a
    type-erased StateObject which supports protocols.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    07731e7 View commit details
    Browse the repository at this point in the history
  6. Debrid: Remove ID storage

    Storing an ID reference is redundant. Store a class reference
    instead.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    9650e6d View commit details
    Browse the repository at this point in the history
  7. Debrid: Refactor IA and download functions

    Use the common protocol to handle these.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    0c36481 View commit details
    Browse the repository at this point in the history
  8. Debrid: Swap to common DebridError

    Removes the redundant error types.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    ec8455c View commit details
    Browse the repository at this point in the history
  9. Debrid: Fix cache alert

    Change the returned error to one that's unique to caching. Also
    make deleteTorrents optional to delete the first torrent if necessary
    since that's always being cached.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    91f1241 View commit details
    Browse the repository at this point in the history
  10. Debrid: Remove redundant logout functions

    Logout is now handled in the debrid class itself.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    40b323b View commit details
    Browse the repository at this point in the history
  11. Debrid: Remove separated download functions

    No longer needed due to the common type.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    02636e0 View commit details
    Browse the repository at this point in the history
  12. Debrid: Migrate preferred service setter

    PreferredService is now the debrid ID.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    59ac719 View commit details
    Browse the repository at this point in the history
  13. Debrid: Remove more redundant vars

    the IA vars are no longer needed since that's unified.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    44a90b7 View commit details
    Browse the repository at this point in the history
  14. Debrid: Unify cloud views

    Cloud torrents and downloads are unified with the new protocol.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    243a16e View commit details
    Browse the repository at this point in the history
  15. Debrid: Migrate auth to protocol

    Unify authentication to the new protocol. Also remove logout on
    invalid requests. This became annoying and didn't update the UI
    properly.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    973fbb4 View commit details
    Browse the repository at this point in the history
  16. Tree: Format

    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    6192ef1 View commit details
    Browse the repository at this point in the history
  17. Logging: Improve generic error message

    Point the user to settings logs rather than giving no extra information.
    It would be a good idea to give the type of error in the future.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    90f4434 View commit details
    Browse the repository at this point in the history
  18. Premiumize: Fix service-specific errors

    This parameter should be optional and errors if it isn't.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    796cc65 View commit details
    Browse the repository at this point in the history
  19. Debrid: Fix UI updates for IA

    Hook to the published variable to push updates.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    4ae1966 View commit details
    Browse the repository at this point in the history
  20. Actions: Update to latest

    Bump actions and macos build versions.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    afceea7 View commit details
    Browse the repository at this point in the history
  21. Plugins: Add request options to sources

    Adds HTTP method, headers, and a body string. Also use a common
    function to substitute params rather to allow for maintanence of a
    common dictionary.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    42e202b View commit details
    Browse the repository at this point in the history
  22. Sources: Add queryFirstLetter param

    Stopgap for index-based sources. For example, the keyword "John"
    will be converted to "j" for sources that use "/j/John".
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    d8107cb View commit details
    Browse the repository at this point in the history
  23. Extension: Remove Set warning

    This will be removed in the future anyway.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    3b771e5 View commit details
    Browse the repository at this point in the history
  24. Tree: Cleanup access levels

    Public should not be used in an app since it declares public to
    additional modules. However, an app is one module. Some structs/
    classes need to be left public to conform to CoreData's generation.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    ecdd019 View commit details
    Browse the repository at this point in the history
  25. Ferrite: Update project settings

    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    904b5a7 View commit details
    Browse the repository at this point in the history
  26. Revert "Extension: Remove Set warning"

    This reverts commit cf090cf.
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    24e39f9 View commit details
    Browse the repository at this point in the history
  27. Debrid: Reorder protocol

    Helps when auto-filling stubs for new classes.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    9b4f31d View commit details
    Browse the repository at this point in the history
  28. Debrid: Add alert if there's no web login option

    Indicates to the user that an API must be used to log into the debrid
    service.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    e1eca59 View commit details
    Browse the repository at this point in the history
  29. Debrid: Add split for download and unrestrict

    Some debrid services aren't "rich", which means that they don't
    broadcast whether an instantly available torrent is a batch or a
    single file. This results in all torrents either having the green
    badge or red badge based on what hash is given.
    
    However, batches need to intercept the download itself which requires
    the download function to be split into download and unrestrict. In
    between, there's room for the batch sheet to act.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    4beb953 View commit details
    Browse the repository at this point in the history
  30. Debrid: Add TorBox support

    TorBox is a service that handles magnet links under both a free
    and paid plan. Integrate support into Ferrite. Will add rich services
    once the instantAvailability endpoint returns a file list.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    d6d7311 View commit details
    Browse the repository at this point in the history
  31. Tree: Remove OffCloud references

    Was an experiment for later commits.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    e49e37a View commit details
    Browse the repository at this point in the history
  32. Tree: Format

    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    3ef041f View commit details
    Browse the repository at this point in the history
  33. Debrid: Fix cleanup of unrestrict and task

    The task can be set to nil after completion, and the unrestrict
    flag should also be set to nil when the batch sheet is dismissed.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    8f7fe94 View commit details
    Browse the repository at this point in the history
  34. Debrid: Add OffCloud support

    OffCloud is a debrid provider that allows for caching and playing
    media. Does not have rich debrid support.
    
    Also add a handler if functionality isn't implemented in the service.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    80e9665 View commit details
    Browse the repository at this point in the history
  35. Tree: Fix various bugs

    - AllDebrid: Don't throw an empty error if cloud downloads/torrents
    is empty
    - Fix history not saving with the proper URLs
    - Fix the HTMLParser looking at the incorrect term for seedLeech
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    5223c60 View commit details
    Browse the repository at this point in the history
  36. Update README and add media

    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    0d39fd4 View commit details
    Browse the repository at this point in the history
  37. Debrid: Add description field and cleanup

    Allow for overriding of the default description in the settings UI.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    c5a08cc View commit details
    Browse the repository at this point in the history
  38. Update README

    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    89367b7 View commit details
    Browse the repository at this point in the history
  39. Debrid: Make TorBox a rich service and fix cloud downloads

    TorBox can now show if there's a batch before loading a file.
    
    Cloud downloads should check the server in case there's a different
    method to fetch a download link.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    d0728e1 View commit details
    Browse the repository at this point in the history
  40. Update README

    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    d512d8b View commit details
    Browse the repository at this point in the history
  41. Debrid: Fix UI updates with auth

    If a debrid is authorized, a Published variable needs to be notified
    since SwiftUI can't read computed properties on the fly (they are
    getters). Therefore, it's better to maintain a single source of truth
    of which services are logged in.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    646c22c View commit details
    Browse the repository at this point in the history
  42. Treewide: Cleanup and rename

    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    078e48d View commit details
    Browse the repository at this point in the history
  43. Debrid: Clarify struct properties

    Doesn't make sense to use more descriptive IDs when the struct
    describes what the model is already.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    489da8e View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. Debrid: Fix OffCloud single files and cloud population

    Populate cloud lists when the app is launched to begin maintainence
    of a synced list. In addition, fix the errors when OffCloud tried
    fetching links for a single file. The explore endpoint only works
    when the file is a batch which is unknown until it's actually called.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    78f2aff View commit details
    Browse the repository at this point in the history
  2. Debrid: Use universal cached IDs

    Different services can send different statuses for if a file is
    cached or not. Therefore, make this scoped to the debrid service
    rather than expecting everything to state "downloaded".
    
    Also it feels pretty blank if the disclosure groups are gone when
    a cloud array is empty, so remove those checks.
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    70b628b View commit details
    Browse the repository at this point in the history
  3. Ferrite: Bump version

    v0.7.1
    
    Signed-off-by: kingbri <[email protected]>
    bdashore3 committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    dbf12c0 View commit details
    Browse the repository at this point in the history