Skip to content

[Feature request] Expose a bidirectionally synced database to user storage #1112

@whispersnyc

Description

@whispersnyc

Checklist (Your issue will be automatically closed if you delete this part)

  • I make sure that there are no existing issues - open or closed - which I could contribute my information to.
  • I believe this feature request will benefit more than 10% of users, not just myself.

** Description
This feature request is in pursuit of a synced open-source Youtube client like #793 but in a much more approachable way for you guys.

Since the above is probably a pretty time-consuming feature set to implement, a (potentially) easier stepping stone could be using a database file that is accessible by the user in storage that is synced with bidirectionally, likely manually (like pulling down to refresh in a playlist). I'm not sure how often search history and subscriptions are pulled from the DB right now but if its done every time a relevant screen is shown, that be perfect.

Why? If you were to implement this, less experienced devs, like myself, could leverage a Syncthing-ed DB on a PC to easily write a synced PipePipe client, for example. And for Android-to-Android, it'd work as-is. Lastly, this would be pretty useful just for backup purposes too.

And regardless, I assume the minute details involved in keeping the interface synced with an externally editable local database is the most important step to getting 'syncing' working like the Issue above which is why I consider this an effective stepping stone.

I know conflict resolution via Syncthing or any other P2P setup without an always-available node would probably be weird unless there were a way to compare two database files within the app but that'd probably be more work than its worth.

Please consider my proposal. I'd be willing to dump the workweeks required for a functional PC client and have already started unpublished experiments. And thanks for all your work, this app is PEAK.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions