Skip to content

Conversation

@Demonseed-jpg
Copy link

GHI (If applicable): n/a

Description:

Created a new feature to allow using a custom repository & branch as an update source, intending to be used by developers testing out code changes for their fork or branch using the same updater mechanism you have built.

  • New option value in 'Update source' called 'Custom', only appears if custom sources is enabled in the code
  • Updated description for 'Update source' to include a blurb for custom, only appears if custom sources is enabled in the code
  • Repo and branch are updated in the code to choose where to pull from

I understand that we wouldn't want general users to accidentally enable this and end up with a broken updater or worse, so this is only available by code changes after the repository has been forked.

I have created a new folder called docs to store wiki pages and wrote a guide for using this for developers to reference, you can also see more detail of how this works. I am pretty unfamiliar with this part, so I am not sure if the structure for this is correct.

I am pretty new to addon development, pushing code to Github, and pretty unfamiliar with your code. I'm by no means a professional at programming (just do it as a hobby), but I tried to add my code within the same design pattern you already had.

I apologize if anything was done incorrectly, let me know and I am happy to take a look!

Checklist:

  • [ x] I have based this PR against the develop branch

@pannal
Copy link
Owner

pannal commented Aug 8, 2025

Hmm, good idea and good effort, thanks!

I think it's very overcomplicated, though. It enables custom repositories for people who want to test development on the updater, which is nearly nobody.

The most straight forward and unintrusive implementation would be:

AddonSettings are outside of the addon itself (when you long press on the icon, settings) and are only meant for powerusers anyways. This would fit perfectly there.

Edit: Additionally, that would avoid having to set anything in the code to activate it

@pannal
Copy link
Owner

pannal commented Aug 8, 2025

Updated my answer with pointers

@pannal
Copy link
Owner

pannal commented Aug 8, 2025

Actually, this might need two settings:

  • InfoURL (path to the addon.xml)
  • DownloadURL (path to zip)

Alternatively, this could also be split up into UpdaterCustomBaseDLHost, UpdaterCustomBaseInfoHost (to allow for repositories not on github), CustomUpdaterBranch and CustomUpdaterRepo.

You've already implemented parts of that, the step towards a leaner solution should be small.

@Demonseed-jpg
Copy link
Author

The thought, and how I’ve used it, was once the settings I’ve implemented are changed to your own repo/branch, it just updates to your forked version if the addon the same way (pushing a version bump in addon.xml). This allowed me to update beyond the updater.

I like your method though better and will take a look at that! Good to hear you are okay with putting it in the settings outside the addon, and I really appreciate your pointers! 🙏

…x-for-kodi into custom-updater and updated updater to reflect changes
@Demonseed-jpg
Copy link
Author

Just wanted to follow up on this:
My HVAC system broke and it’s simply too much after being in my office all day from work without AC, but I plan to circle back to this once that’s fixed.

@pannal
Copy link
Owner

pannal commented Aug 14, 2025

No worries :)

We're in the 0.8.0-prerelease stage with a feature freeze, this'll get merged once I start development on 0.8.1, so not time sensitive.

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.

2 participants