cloudstream icon indicating copy to clipboard operation
cloudstream copied to clipboard

Remote sync

Open CranberrySoup opened this issue 2 years ago • 13 comments

Continuation of https://github.com/recloudstream/cloudstream/pull/442

  • [X] Viewbindings
  • [X] Add Pcloud
  • [X] Add sync button
  • [X] Add google drive profile info
  • [ ] Improve scheduler
  • [ ] Improve prompt and documentation (separate PR required)
  • [x] Refactoring API
  • [ ] ???

CranberrySoup avatar Sep 22 '23 12:09 CranberrySoup

So hyped for this feature.

Jerico3241 avatar Sep 22 '23 20:09 Jerico3241

@CranberrySoup only the Google Drive supported? is there any possibility for other cloud services to be included?

bachig26 avatar Sep 22 '23 22:09 bachig26

Some of the documentation for this is wrong if it is the first time using google cloud console. You need to create OAuth consent screen in order to create the credentials and some of the names of links the documentation says appears to either be inaccurate or just outdated. You also have to add "Test users" who can use it to the OAuth consent screen if it is not submitted for application approval in production as well, which probably would be.

Luna712 avatar Sep 22 '23 23:09 Luna712

Screenshot_20230922_171952_CloudStream Debug It should also probably be able to pull name by default (and allow to be charged to a custom name) and profile icon (and allow the icons like local accounts to be used if desired) from authenticated Google account rather than named like this and an empty icon. Additionally it should probably be the OAuth setup separately from account login, that way multiple google accounts can be synced using the same Auth application so it only has to be done once. Finally, the client secret field should probably be a password-type field to hide its value as that should not usually be public for security purposes. That is just my thoughts and opinions on it, maybe not all necessary or good ideas.

Luna712 avatar Sep 22 '23 23:09 Luna712

For anyone wondering whats happening: this is not dead, there is just some massive changes going on :+1:

CranberrySoup avatar Oct 28 '23 22:10 CranberrySoup

This is now functional, but requires testing and better documentation.

CranberrySoup avatar Oct 31 '23 21:10 CranberrySoup

This works pretty good now, the one thing I would suggest still is maybe some sort of prefill select to reuse keys from one Google Cloud Project when adding another account, chances are one Google Cloud Project can be used for all accounts using sync with.

Luna712 avatar Nov 01 '23 19:11 Luna712

Also I wonder if we could hook Google accounts into the local account system to use Google accounts to save data to them, and have name/picture etc in account select for example, and show profile picture instead of the default account icon also. Could work for some data account provider, but is not needed for this PR I don't think, just a thought for later.

Luna712 avatar Nov 01 '23 19:11 Luna712

After testing, I have found that if a file has been downloaded on a phone, and then is synced to a computer (or some other device), resume from the home menu doesn't work. Idk if this is a known issue, but I think its to do with this block of code located in

app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchHelper.kt

if (card.isFromDownload) { handleDownloadClick( DownloadClickEvent( DOWNLOAD_ACTION_PLAY_FILE, VideoDownloadHelper.DownloadEpisodeCached( card.name, card.posterUrl, card.episode ?: 0, card.season, id, card.parentId ?: return, null, null, System.currentTimeMillis() ) ) ) } } else { loadSearchResult(card, START_ACTION_LOAD_EP, id)

Idk kotlin, or much about how cloudstream functions, but there might be a way to try catch this?

TNTwise avatar Nov 30 '23 00:11 TNTwise

@CranberrySoup this dead?

KillerDogeEmpire avatar Feb 18 '24 07:02 KillerDogeEmpire

Any updates on this?

Luna712 avatar Mar 04 '24 22:03 Luna712

Hey. Just wondering how's it going with that PR? Any updates?

Fruehwirth avatar Mar 11 '24 18:03 Fruehwirth