Skip to content

Conversation

antonlacon
Copy link
Contributor

This builds on #301. Its commits are included here. @flubshi you're the only user I know of who may create their own custom releases.json instead of using custom to fill in the LE testing one if you wish to test this.

This adds a ReleaseChannel toggle that switches the releases.json it uses from looking at releases.libreelec.tv to test.libreelec.tv to a user defined custom URL ("stable", "testing", and "custom" respectively).

This does some menu element hiding/revealing based on which release channel is being used (ex: autoupdates only apply to the stable channel). It also refreshes the releases.json it checks for version and available builds when the release channel changes. This can be a noticeable delay if on slow wifi between changing the release channel and the menu reloading.

Other interface changes are locale updates and deleting the custom channel 2 and 3 (custom channel 1 becomes the value used for the custom release channel).

Autoupdate is disabled (stats shared, but it halts the check after submission) if not on the stable release. Screenshots follow:

Default (stable channel, autoupdates on):

screenshot00000

Stable channel, autoupdates off:

screenshot00001

Testing channel:

screenshot00002

Custom channel (URL would be shown if entered):

screenshot00003

Draft until others look at the strings before squashing and 301 goes in.

@chewitt
Copy link
Member

chewitt commented Jun 27, 2023

I'd ask that Automatic Updates sits underneath Available Versions so there's a logical progression between Channel > Release > Versions .. before we get to the update features that apply them. Otherwise (from a GUI perspective as I should never be allowed to review Python code) .. looks fab :)

@antonlacon
Copy link
Contributor Author

I tried it and I found having the automatic update toggle expanding options above it, instead of below it, to be odd.

I see the progression as "Will the system manage the updates? y/n" and then giving the user what their choices are when answering n.

@flubshi
Copy link
Contributor

flubshi commented Jun 29, 2023

I have used my custom URL when there was no official releases.json for testing. Since there was an official releases.json for testing, I switched to this URL channel.

But it would be nice to keep this feature, in case some "testing forks", like for instance Montellese "Media importing" would like to make use of it.

@antonlacon antonlacon force-pushed the update-selector branch 2 times, most recently from 67d2827 to 4ddc8c0 Compare November 13, 2023 19:59
@antonlacon antonlacon force-pushed the update-selector branch 2 times, most recently from 53d75ab to 1311d6d Compare November 19, 2023 03:19
General review and cleanup of issues pointed out by pylint:

unexpected indent
could use f-strings
not inializing variables in init
redefining builtins
too broad exceptions
unneeded elses after returns
unneeded parantheses
== instead of is in evaluating True/False
unused function parameters
unused imports

Signed-off-by: Ian Leonard <[email protected]>
Addon will require Python >=3.9

Signed-off-by: Ian Leonard <[email protected]>
The release channel entry serves as a releases.json selector.

stable: use releases.libreelec.tv/releases.json (stable builds)
testing: use test.libreelec.tv/releases.json (nightly builds)
custom: use a user designated URL for releases.json

The 'custom' setting replaces the Show Custom Channels toggle.

Adds a set_release_channel() function to refresh available build channels.

Signed-off-by: Ian Leonard <[email protected]>
Signed-off-by: Ian Leonard <[email protected]>
Signed-off-by: Ian Leonard <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants