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

Auto upgrade Newpipe #1531

Open
pranavg189 opened this Issue Jul 14, 2018 · 26 comments

Comments

Projects
None yet
10 participants
@pranavg189

pranavg189 commented Jul 14, 2018

It would be great if an Newpipe can auto update itself when a new version is released.

@pranavg189

This comment has been minimized.

Show comment
Hide comment
@pranavg189

pranavg189 Jul 14, 2018

I can volunteer writing code for this functionality If someone is able to given me pointers on how to get started on this.

pranavg189 commented Jul 14, 2018

I can volunteer writing code for this functionality If someone is able to given me pointers on how to get started on this.

@alfasi

This comment has been minimized.

Show comment
Hide comment
@alfasi

alfasi Jul 14, 2018

This truly seems like a feature F-droid should contain instead of each individual app.
At the most NewPipe should notify when a new version is available, but not take the responsibility of upgrading itself IMO.

alfasi commented Jul 14, 2018

This truly seems like a feature F-droid should contain instead of each individual app.
At the most NewPipe should notify when a new version is available, but not take the responsibility of upgrading itself IMO.

@Grammost

This comment has been minimized.

Show comment
Hide comment
@Grammost

Grammost Jul 14, 2018

Contributor

F-Droid is already able to auto-update your apps, when you flash the OTA package.

Contributor

Grammost commented Jul 14, 2018

F-Droid is already able to auto-update your apps, when you flash the OTA package.

@pranavg189

This comment has been minimized.

Show comment
Hide comment
@pranavg189

pranavg189 Jul 16, 2018

I think atleast it should notify when a new version is available, because all users like me do not use F-Droid. F-Droid seems very slow to me. I can go ahead and implement this notify feature.

pranavg189 commented Jul 16, 2018

I think atleast it should notify when a new version is available, because all users like me do not use F-Droid. F-Droid seems very slow to me. I can go ahead and implement this notify feature.

@Grammost

This comment has been minimized.

Show comment
Hide comment
@Grammost

Grammost Jul 16, 2018

Contributor

Alright then, just make it optional. Here's a similiar issue you might want to look at beforehand: #1520

Contributor

Grammost commented Jul 16, 2018

Alright then, just make it optional. Here's a similiar issue you might want to look at beforehand: #1520

@theScrabi

This comment has been minimized.

Show comment
Hide comment
@theScrabi
Member

theScrabi commented Jul 17, 2018

@crkellen

This comment has been minimized.

Show comment
Hide comment
@crkellen

crkellen Jul 17, 2018

To remedy this issue, I have a tab open on my phone's browser to the releases page, which I check semi-regularly.

It would be amazing if I could just get updates through the app. I also don't like F-droid due to it taking weeks or more sometimes to update an app.

crkellen commented Jul 17, 2018

To remedy this issue, I have a tab open on my phone's browser to the releases page, which I check semi-regularly.

It would be amazing if I could just get updates through the app. I also don't like F-droid due to it taking weeks or more sometimes to update an app.

@krtkush

This comment has been minimized.

Show comment
Hide comment
@krtkush

krtkush Jul 18, 2018

Contributor

I'm working on this as mentioned in #1520. Should have a working version by the end of next weekend.

Contributor

krtkush commented Jul 18, 2018

I'm working on this as mentioned in #1520. Should have a working version by the end of next weekend.

@stonerl

This comment has been minimized.

Show comment
Hide comment
@stonerl

stonerl Jul 26, 2018

Some of you apparently don't know how F-Droid works. All versions of Newpipe where available within 24 hours after release. If a maintainer doesn't properly tag releases, F-Droid can't properly provide the latest versions of an app.

Back on topic. The release notifications should be opt-in and/or only available in the version available from the GitHub-Downloadpage and not the one from F-Droid IMHO.

stonerl commented Jul 26, 2018

Some of you apparently don't know how F-Droid works. All versions of Newpipe where available within 24 hours after release. If a maintainer doesn't properly tag releases, F-Droid can't properly provide the latest versions of an app.

Back on topic. The release notifications should be opt-in and/or only available in the version available from the GitHub-Downloadpage and not the one from F-Droid IMHO.

@stonerl

This comment has been minimized.

Show comment
Hide comment
@stonerl

stonerl Jul 27, 2018

Btw. GitHub provides a newsfeef for releases. For Newpipe you just have to add this URL to the RSS-Reader of you liking:

https://github.com/TeamNewPipe/NewPipe/releases.atom

stonerl commented Jul 27, 2018

Btw. GitHub provides a newsfeef for releases. For Newpipe you just have to add this URL to the RSS-Reader of you liking:

https://github.com/TeamNewPipe/NewPipe/releases.atom

@krtkush

This comment has been minimized.

Show comment
Hide comment
@krtkush

krtkush Jul 27, 2018

Contributor

The release notifications should be opt-in..

Agreed.

As decided in #1520, we'll integrate the https://newpipe.schabi.org/api/data.json API. This will provide the option to download the github or F-droid apk. The RSS option is good but having an option to download from within the app will be convenient.

Contributor

krtkush commented Jul 27, 2018

The release notifications should be opt-in..

Agreed.

As decided in #1520, we'll integrate the https://newpipe.schabi.org/api/data.json API. This will provide the option to download the github or F-droid apk. The RSS option is good but having an option to download from within the app will be convenient.

@theScrabi

This comment has been minimized.

Show comment
Hide comment
@theScrabi

theScrabi Jul 27, 2018

Member

Can you decide which version to download based on the build type? So a version downloaded from github would redirect the user automatically to github while a version downloaded from fdroid would auomatically redirect the user there.

Member

theScrabi commented Jul 27, 2018

Can you decide which version to download based on the build type? So a version downloaded from github would redirect the user automatically to github while a version downloaded from fdroid would auomatically redirect the user there.

@krtkush

This comment has been minimized.

Show comment
Hide comment
@krtkush

krtkush Jul 27, 2018

Contributor

If the apks on F-Droid and Github are identical I don't think there is way to identify the source of download. Or are they different?

Contributor

krtkush commented Jul 27, 2018

If the apks on F-Droid and Github are identical I don't think there is way to identify the source of download. Or are they different?

@theScrabi

This comment has been minimized.

Show comment
Hide comment
@theScrabi

theScrabi Jul 27, 2018

Member

The signature differs. I don't know if that can be checked. If that does not help a flavour or a buildtype might.

Member

theScrabi commented Jul 27, 2018

The signature differs. I don't know if that can be checked. If that does not help a flavour or a buildtype might.

@stonerl

This comment has been minimized.

Show comment
Hide comment
@stonerl

stonerl Jul 27, 2018

F-Droid builds the apk from the source. Also the signing-key is different afaik. So F-Droid users should never be bothered with this, since they can't upgrade their F-Droid version with the one from GitHub. Furthermore does F-Droid handle the notification and upgrade process.

The entire notification and download of the apk should solely be available for users who decide to manually download the apk.

stonerl commented Jul 27, 2018

F-Droid builds the apk from the source. Also the signing-key is different afaik. So F-Droid users should never be bothered with this, since they can't upgrade their F-Droid version with the one from GitHub. Furthermore does F-Droid handle the notification and upgrade process.

The entire notification and download of the apk should solely be available for users who decide to manually download the apk.

@theScrabi

This comment has been minimized.

Show comment
Hide comment
@theScrabi

theScrabi Jul 27, 2018

Member

Furthermore does F-Droid handle the notification and upgrade process.

Kind of true, honestly I'd be bothered if two applications are actually notifying me. ... especially because I have privileged extension, and therefore don't even notice when my apps get updated.

So Maybe we should only add this on the github version. @krtkush what's your opinion.

Member

theScrabi commented Jul 27, 2018

Furthermore does F-Droid handle the notification and upgrade process.

Kind of true, honestly I'd be bothered if two applications are actually notifying me. ... especially because I have privileged extension, and therefore don't even notice when my apps get updated.

So Maybe we should only add this on the github version. @krtkush what's your opinion.

@krtkush

This comment has been minimized.

Show comment
Hide comment
@krtkush

krtkush Jul 27, 2018

Contributor

Notification only for github apk sounds good. I concur about the logic behind it.

Things we have decided on, yet -

  1. Version update notification option inside settings.
  2. Check the source of the apk (github or F-droid) - Will have to see this can be achieved. Proceed ahead only if apk is from github.
  3. Check for newer version of NewPipe.
  4. Show notification to download the new apk.

Some more suggestions -

  1. We can show a notification on a F-Droid version too if F-Droid is not installed on the device. We can check that by getting the installed app package list.
  2. A one time pop-up on the main activity to take the user to update notification opt-in under settings.
  3. A check for update screen accessible from settings. We can place the notification opt-in toggle here and maybe show a changelog too. Pretty much like LineageOS updates activity. For this we'll have to make some changes to https://newpipe.schabi.org/api/data.json

What do you guys think?

Contributor

krtkush commented Jul 27, 2018

Notification only for github apk sounds good. I concur about the logic behind it.

Things we have decided on, yet -

  1. Version update notification option inside settings.
  2. Check the source of the apk (github or F-droid) - Will have to see this can be achieved. Proceed ahead only if apk is from github.
  3. Check for newer version of NewPipe.
  4. Show notification to download the new apk.

Some more suggestions -

  1. We can show a notification on a F-Droid version too if F-Droid is not installed on the device. We can check that by getting the installed app package list.
  2. A one time pop-up on the main activity to take the user to update notification opt-in under settings.
  3. A check for update screen accessible from settings. We can place the notification opt-in toggle here and maybe show a changelog too. Pretty much like LineageOS updates activity. For this we'll have to make some changes to https://newpipe.schabi.org/api/data.json

What do you guys think?

@theScrabi

This comment has been minimized.

Show comment
Hide comment
@theScrabi

theScrabi Jul 27, 2018

Member
  1. We can show a notification on a F-Droid version too if F-Droid is not installed on the device. We can check that by getting the installed app package list.

I would not do this. Since we needed aditional permissions.

  1. A one time pop-up on the main activity to take the user to update notification opt-in under settings.

I would make this opt in for github users anyway. No pupup needed.

Member

theScrabi commented Jul 27, 2018

  1. We can show a notification on a F-Droid version too if F-Droid is not installed on the device. We can check that by getting the installed app package list.

I would not do this. Since we needed aditional permissions.

  1. A one time pop-up on the main activity to take the user to update notification opt-in under settings.

I would make this opt in for github users anyway. No pupup needed.

@krtkush

This comment has been minimized.

Show comment
Hide comment
@krtkush

krtkush Jul 27, 2018

Contributor

I don't think we need any permission. Refer here.

However, it can be privacy issue for some; but then the code is open sourced.

It's a minor thing. We can drop it, though.

Contributor

krtkush commented Jul 27, 2018

I don't think we need any permission. Refer here.

However, it can be privacy issue for some; but then the code is open sourced.

It's a minor thing. We can drop it, though.

@krtkush

This comment has been minimized.

Show comment
Hide comment
@krtkush

krtkush Jul 27, 2018

Contributor

I would make this opt in for github users anyway. No pupup needed.

You mean make the user opted-in by default, right?

Contributor

krtkush commented Jul 27, 2018

I would make this opt in for github users anyway. No pupup needed.

You mean make the user opted-in by default, right?

@wb9688

This comment has been minimized.

Show comment
Hide comment
@wb9688

wb9688 Jul 27, 2018

Contributor
Contributor

wb9688 commented Jul 27, 2018

@pranavg189

This comment has been minimized.

Show comment
Hide comment
@pranavg189

pranavg189 commented Aug 7, 2018

@wb9688 Sounds Good.

@theScrabi

This comment has been minimized.

Show comment
Hide comment
@theScrabi

theScrabi Aug 7, 2018

Member

I'd make a different build flavor that contains the notification for a new
version.

+1

Member

theScrabi commented Aug 7, 2018

I'd make a different build flavor that contains the notification for a new
version.

+1

@krtkush

This comment has been minimized.

Show comment
Hide comment
@krtkush

krtkush Aug 12, 2018

Contributor

Update on the feature -

  1. The API has been integrated.
  2. Notification has been implemented too.
  3. Added two flavors : github and fdroid

What is left is a minor change in API as requested in #1520. Once that is done and I include those changes in the app we'll be ready for deployment.

Contributor

krtkush commented Aug 12, 2018

Update on the feature -

  1. The API has been integrated.
  2. Notification has been implemented too.
  3. Added two flavors : github and fdroid

What is left is a minor change in API as requested in #1520. Once that is done and I include those changes in the app we'll be ready for deployment.

This was referenced Aug 16, 2018

@TobiGr

This comment has been minimized.

Show comment
Hide comment
@TobiGr

TobiGr Aug 16, 2018

Member

@theScrabi from my comment on #1608 (review)

My biggest concern about these changes are the additional build flavors. When someone installs NewPipe from F-Droid, he/she will always be forced to use this source to update the application.
Additionally, with this new config every user needs to uninstall the current version of the app.
Not only for this reason, but also as update notifications can be disturbing from time to time, I suggest to add a setting which handles the update options:

  • Enable / Disable search for new updates
  • Preferred download mirror (applies when F-Droid and GitHub versions are the same, see below).

To identify whether the app is from F-Droid or GitHub we need to check the app's signature. A guide how this can be achieved can be found here.

IMHO we should come back to one release apk using F-Droid's reproducible builds feature.

Member

TobiGr commented Aug 16, 2018

@theScrabi from my comment on #1608 (review)

My biggest concern about these changes are the additional build flavors. When someone installs NewPipe from F-Droid, he/she will always be forced to use this source to update the application.
Additionally, with this new config every user needs to uninstall the current version of the app.
Not only for this reason, but also as update notifications can be disturbing from time to time, I suggest to add a setting which handles the update options:

  • Enable / Disable search for new updates
  • Preferred download mirror (applies when F-Droid and GitHub versions are the same, see below).

To identify whether the app is from F-Droid or GitHub we need to check the app's signature. A guide how this can be achieved can be found here.

IMHO we should come back to one release apk using F-Droid's reproducible builds feature.

@lionirdeadman

This comment has been minimized.

Show comment
Hide comment
@lionirdeadman

lionirdeadman Aug 17, 2018

I personally think we should stick F-droid's apks in the release tab and use this if the user doesn't have F-droid installed : https://gitlab.com/fdroid/update-channels/tree/master/appupdater#f-droid-update-detector

lionirdeadman commented Aug 17, 2018

I personally think we should stick F-droid's apks in the release tab and use this if the user doesn't have F-droid installed : https://gitlab.com/fdroid/update-channels/tree/master/appupdater#f-droid-update-detector

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