Double down on hooks, remove app plugin in favour of individual hooks for individual capabilities#12879
Open
rtibbles wants to merge 7 commits intolearningequality:developfrom
Open
Double down on hooks, remove app plugin in favour of individual hooks for individual capabilities#12879rtibbles wants to merge 7 commits intolearningequality:developfrom
rtibbles wants to merge 7 commits intolearningequality:developfrom
Conversation
8da072b to
3d53ffa
Compare
Contributor
Build Artifacts
|
bjester
reviewed
Dec 17, 2024
Member
bjester
left a comment
There was a problem hiding this comment.
Just posting some review-in-progress comments
kolibri/plugins/learn/frontend/views/CurrentlyViewedResourceMetadata.vue
Show resolved
Hide resolved
kolibri/plugins/learn/frontend/views/CurrentlyViewedResourceMetadata.vue
Show resolved
Hide resolved
c1ec045 to
f7b44a9
Compare
Member
Author
|
Updated, rebased, and force pushed. |
eae5b1a to
43cef82
Compare
43cef82 to
ae1c0d0
Compare
ae1c0d0 to
d50be83
Compare
d50be83 to
3ffd807
Compare
bjester
approved these changes
Feb 18, 2026
Member
bjester
left a comment
There was a problem hiding this comment.
I see no red flags. Just one comment on the relocation of a file, which I can't recall the timeline of historical file organization changes in Kolibri and whether this predated it.
Member
There was a problem hiding this comment.
Is the relocation of this file still appropriate?
Member
Author
There was a problem hiding this comment.
I have rebased it since we moved the frontend code around, I think - but I still need to rebase this again, so I can double check!
Member
Author
There was a problem hiding this comment.
Yes, seems fine - just moving it out of kolibri-common because it's only used in learn.
Make the theme not break when no theme plugin is found.
Remove unneeded appCapabilities from kolibri/utils.
3ffd807 to
cbda866
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goals
Summary
References
Depends on #12874 to allow specifying an extra python path for the development plugin
Needed to support learningequality/kolibri-installer-android#197
Reviewer guidance
I feel like leaning into the hooks makes sense to have a single way to customize Kolibri - is there anything about this that makes this less obvious?
By separating out the specific functionality that is more 'app' versus 'device' oriented, it has made each implementation a little more bespoke - but it seems sensible to me that metered connection checking doesn't have to be exclusive to app mode - is the minor added fiddliness an issue?
With the addition of the server hooks, we could also turn ZeroConf integration into a plugin, which would allow us to turn it off slightly more elegantly - and in a swappable way so that on Android we can provide the multicast implementation via built in Android mechanisms. The other configuration that feels like could benefit from being pluggable is the restart hooks - should we push more into plugins/hooks rather than relying on options.py?