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

[Feature Request]: Ability to choose directory where the data is located #299

Closed
3 tasks done
JustVldKsh opened this issue Feb 27, 2024 · 10 comments
Closed
3 tasks done

Comments

@JustVldKsh
Copy link

Guidelines

  • I have searched the issue tracker for open and closed issues that are similar to the feature request I want to file, without success.
  • I have searched the documentation for information that matches the description of the feature request I want to file, without success.
  • This issue contains only one feature request.

Problem Description

Expands on #152 and commit that implemented it because of Android limitations on newer versions

On devices running Android 11 and newer (currently running non-rooted Android 13) it is not possible to access files located in /storage/emulated/0/Android/ directories via normal means (that aren't SAF workarounds or ADB or USB access) thus it is not possible to sync the data via something like Syncthing (or in my case Syncthing-fork) app, which doesn't use any of the methods mentioned

Proposed Solution

Add ability to choose where the app stores data files (if possible and most importantly reasonable, since it isn't really a problem for at least root users)

Alternatives Considered

  • Necrobumped [Feature Request] Shizuku Root Support Catfriend1/syncthing-android#978 (comment) and later will possibly create a new issue in case it goes unnoticed (since it was closed because of the person asking Shizuku API support (basically API for on-device ADB interactions) for syncing Downloads directory, which doesn't require either ADB or even root)
  • Looking for file syncing alternatives that allow syncing Android/ directories (not sure if those exist at the moment)
  • Learning Android development and trying to do either of these myself (will take quite a while)
  • Manually copying Freetube data between instances (inconvenient)
  • Waiting until I'm able to unlock, flash and root my device (manufacturer-caused roadblocks I am going to wait through either way)

Issue Labels

improvement to existing feature, new optional setting, support for external software

Additional Information

"To protect your privacy, choose another folder" prompt in Android/ and data missing
Screenshot_2024-02-27-13-26-23-072_com google android documentsui

@MarmadileManteater
Copy link
Owner

I wasn't aware that it was hidden usually. CalyxOS must do something to make them visible by default.

I think it makes perfect sense to add a setting like that.

@MarmadileManteater
Copy link
Owner

In the latest nightly, there should now be the option to select the directory where data is stored (and to reset it back to default).

image
image
image

@JustVldKsh
Copy link
Author

JustVldKsh commented Mar 5, 2024

Just installed and it seems to work properly, gonna switch to FreeTube later

Thank you so much, should I close the issue since it is implemented or should it stay open until it lands in release?

@MarmadileManteater
Copy link
Owner

I typically keep it open until the release. I might eventually change that procedure, but for now, I'll leave this issue open. I'll officially close it when the next release (0.20.x?) is out.

@MarmadileManteater
Copy link
Owner

Also, as a note, if ur plans are to sync the files, freetubecordova nightly matches most closely to the upstream nightly. If u try to sync between 0.19.2 (release) and nightly cordova, u may run into issues with the playlists.db being formattted differently.

@JustVldKsh
Copy link
Author

Yeah, already noticed the lack of proper playlists support in the latest upstream release and got the nightly a few days ago

@Aterfax
Copy link

Aterfax commented Mar 20, 2024

Any chance we could also get this functionality within the Docker web app and not just the android app. Suspect a few people would like to be able to host this as a web app within their homelab with a persistent file storage backend. (aka stick it behind a secure proxy and use it as a full youtube replacement.)

MarmadileManteater added a commit that referenced this issue Apr 4, 2024
##### ~~Cordova~~ Android specific changes:

- Switched away from Cordova [#101](#101 (comment))
  - Added ability to stream videos **locally** *without* proxying through invidious [#5](#5) 🥂
  - Added ability to seek in the media controls notification
  - Fixed videos stopping or stuttering when the app enters the background [#10](#10)
  - Fixed YT links not opening in app [#264](#264)
- Added ability to change where profiles/settings/playlists/history.db are located on the filesystem [#299](#299)
- Fullscreen videos now take up the entire screen instead of sharing real estate with the system UI

This release includes all of the changes from upstream release [0.20.0](https://github.com/FreeTubeApp/FreeTube/releases/tag/v0.20.0-beta).

  ...

  **Full Changelog**: 0.19.2.110...0.20.0.111
MarmadileManteater added a commit that referenced this issue Apr 4, 2024
##### ~~Cordova~~ Android specific changes:

- Switched away from Cordova [#101](#101 (comment))
  - Added ability to stream videos **locally** *without* proxying through invidious [#5](#5) 🥂
  - Added ability to seek in the media controls notification
  - Fixed videos stopping or stuttering when the app enters the background [#10](#10)
  - Fixed YT links not opening in app [#264](#264)
- Added ability to change where profiles/settings/playlists/history.db are located on the filesystem [#299](#299)
- Fullscreen videos now take up the entire screen instead of sharing real estate with the system UI

This release includes all of the changes from upstream release [0.20.0](https://github.com/FreeTubeApp/FreeTube/releases/tag/v0.20.0-beta).

  ...

  **Full Changelog**: 0.19.2.110...0.20.0.111
MarmadileManteater added a commit that referenced this issue Apr 4, 2024
##### ~~Cordova~~ Android specific changes:

- Switched away from Cordova [#101](#101 (comment))
  - Added ability to stream videos **locally** *without* proxying through invidious [#5](#5) 🥂
  - Added ability to seek in the media controls notification
  - Fixed videos stopping or stuttering when the app enters the background [#10](#10)
  - Fixed YT links not opening in app [#264](#264)
- Added ability to change where profiles/settings/playlists/history.db are located on the filesystem [#299](#299)
- Fullscreen videos now take up the entire screen instead of sharing real estate with the system UI

This release includes all of the changes from upstream release [0.20.0](https://github.com/FreeTubeApp/FreeTube/releases/tag/v0.20.0-beta).

  ...

  **Full Changelog**: 0.19.2.110...0.20.0.113
MarmadileManteater added a commit that referenced this issue Apr 4, 2024
##### ~~Cordova~~ Android specific changes:

- Switched away from Cordova [#101](#101 (comment))
  - Added ability to stream videos **locally** *without* proxying through invidious [#5](#5) 🥂
  - Added ability to seek in the media controls notification
  - Fixed videos stopping or stuttering when the app enters the background [#10](#10)
  - Fixed YT links not opening in app [#264](#264)
- Added ability to change where profiles/settings/playlists/history.db are located on the filesystem [#299](#299)
- Fullscreen videos now take up the entire screen instead of sharing real estate with the system UI

This release includes all of the changes from upstream release [0.20.0](https://github.com/FreeTubeApp/FreeTube/releases/tag/v0.20.0-beta).

  ...

  **Full Changelog**: 0.19.2.110...0.20.0.114
MarmadileManteater added a commit that referenced this issue Apr 4, 2024
##### ~~Cordova~~ Android specific changes:

- Switched away from Cordova [#101](#101 (comment))
  - Added ability to stream videos **locally** *without* proxying through invidious [#5](#5) 🥂
  - Added ability to seek in the media controls notification
  - Fixed videos stopping or stuttering when the app enters the background [#10](#10)
  - Fixed YT links not opening in app [#264](#264)
- Added ability to change where profiles/settings/playlists/history.db are located on the filesystem [#299](#299)
- Fullscreen videos now take up the entire screen instead of sharing real estate with the system UI

This release includes all of the changes from upstream release [0.20.0](https://github.com/FreeTubeApp/FreeTube/releases/tag/v0.20.0-beta).

  ...

  **Full Changelog**: 0.19.2.110...0.20.0.115
@MarmadileManteater
Copy link
Owner

This is now resolved by release 0.20.0.115.

@Aterfax
Copy link

Aterfax commented Apr 4, 2024

Did this release also let the PWA / docker choose the directory location via the "Data Settings", Settings drop down?

@MarmadileManteater
Copy link
Owner

MarmadileManteater commented Apr 4, 2024

Did this release also let the PWA / docker choose the directory location via the "Data Settings", Settings drop down?

No, sorry. The PWA still uses local storage. As it stands, the PWA is a bunch of static files. Adding the ability to store the data somewhere else would require a server bundled with the PWA assets. It is not undoable, but it would require a major overhaul. I have considered making a version of freetube which has a server component, unlike the current PWA. That version of freetube could potentially have all sorts of things that seemed impossible in the static files version of the PWA: local api, data storage on the filesystem, etc. However, it would also be a another set of integrations to maintain on the same scale as the android app whereas the current PWA primarily relies on code which is already maintained upstream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants