-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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
[addons] rework repository updating #7874
Conversation
d6be0a7
to
61b8593
Compare
#empty strings from id 24148 to 24991 | ||
#empty strings from id 24148 to 24990 | ||
|
||
#: xbmc/filesystem/AddonsDirectory.cpp |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
I'm wondering if the error message needs to be an OK dialogue - IIRC other errors only trigger a kaitoast |
@da-anda Examples? Can change it, but using an OK dialog is at least consistent with browsing unavailable remote folders. The dialog is only shown when you try to enter an unavailable repository, it's not any background action that will steal focus or anything. |
5b27ae5
to
50950cd
Compare
@tamland thanks for adding the contextual note. Ignore my comment regarding the dialog OK - I mixed things up. Seems consistent as is. |
Needs xcode. And @Montellese for review? Didn't you poke in here recently? |
{ | ||
//Unbroken | ||
CLog::Log(LOGDEBUG, "CRepositoryUpdateJob[%s] addon '%s' unbroken '%s'", | ||
m_repo->ID().c_str(), addon->ID().c_str()); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Please pick mkortstiege@0716a87 for the xcode sync. |
I still need to review 31a3ea7 but that probably won't happen today. |
Spotted a few minors. Apart from that it's not easy to review but it looks ok. |
d316a9c
to
5d4ffc0
Compare
Ok, hopefully I covered everything. I also moved jenkins build this please |
5d4ffc0
to
96c9de6
Compare
jenkins build this please |
Failed on win32 due to int <--> enum conversions. |
Hm, I don't understand this error. I'm not converting from int to enum.. |
jenkins build this please |
1 similar comment
jenkins build this please |
@Montellese, @Paxxi @otherwindowsdevs Can you please have a look. win32 refuse to compile that enum. |
{ | ||
OK, | ||
NOT_MODIFIED, | ||
ERROR |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
notify updater every time the list of active repositories change
remove unnecessary waiting for updates to complete. properly ask for an update when repository data is invalid/never fetched, and show info dialog instead of silently failing
28d7e5b
to
37eeef6
Compare
lets see, jenkins build and merge |
jenkins build this please |
Good to go? |
@Montellese good to go? |
Haven't fully reviewed anymore after the fixes but it looks like my concerns have been addressed so yes. |
[addons] rework repository updating
There is some evidence that this PR causes bad effects when a non-responding repo is present. |
As wrote on slack, tamland@61121d7 is causing this. Due to this one it's not possible to install from .zip. |
This mainly changes the current global updating job to one per repository. Each repository can now be updated individually. For simplicity the auto updating still update all at the same time to "synchronize" the update times for the next update. This can be changed in the future, possibly adding more options for how/when to update.
It now actually schedule updates using a timer instead of continuously checking in the main loop, which removes a lot of unnecessary updating and workarounds.
Additionally, it decouples repository updating from addon updating and installing so that there is one way to install updates instead of two.
TODO:The progress dialog doesn't contain any useful info (nor progress) atm. This is natural consequence of making the updates concurrent. Should probably be changed to a infinite spinner or something.