Conversation
Kodiai Review SummaryWhat ChangedNew addon submission for script.easymovie 1.0.0, a Kodi addon for movie selection and playback management. Reviewed: core logic, docs Strengths
ObservationsImpact[MAJOR] script.easymovie/resources/lib/data/storage.py (78-90): Race condition in file write operation [MAJOR] script.easymovie/resources/lib/ui/main.py (126-129): Command injection risk in executebuiltin call Verdict🔴 Address before merging -- 2 blocking issue(s) found Review Details
Files not fully reviewed (sorted by risk score)
|
There was a problem hiding this comment.
After discussing this with other team members, I would ask you to remove this functionality. Addons should be installed only via proper channels, that is, either from an online repo or from a .zip file using the respective Kodi UI functionality. "Drop in" installs are not allowed and not supported.
There was a problem hiding this comment.
I fully understand the security concerns of addons cloning themselves, the functionality here is the same as in EasyTV (and LazyTV as it predecessor).
If you really want me to remove it I'll have to think about it as I don't think I have any other way of offering the same functionality without it.
There was a problem hiding this comment.
Would it not be possible to add some profile feature? So it no longer needs cloning?
There was a problem hiding this comment.
@basrieter, Could you elaborate on this?
The power is that the clone of the addon uses it own settings so you can configure it like you want to, and it will work as an independent end point for a menu entry to launch it.
There was a problem hiding this comment.
It is what I assumed. But you could create "profiles" within your add-on, so you can run one instance of the add-on with multiple setting-profiles.
There was a problem hiding this comment.
Yeah, I understand.
It would not offer the same level of flexibility.
Please let me know the final judgement, and also what that means for EasyTV.
There was a problem hiding this comment.
How many instances would you need? What is the use case?
There was a problem hiding this comment.
For EasTV, I run currently 3 clones. 1 for season premières, 1 for show premières and on to continue watching in progress.
Easymovie riight now with 3 clones, 1 for familie night, 1 for horrors and 1 for action movies.
But have just started using EasyMovie so that might not be the final tally.
Also I don't know how users use it.
|
Hi @basrieter, @romanvm, Just circling back on this. To address the profiles suggestion and explain why cloning offers something a profile system can't fully replace: The core value of clones is independent entry points. Each clone is its own addon ID, which means:
A profile system would require either a selection step on every launch ("which profile?"), or a way to pass a profile parameter through skin shortcuts - which most skins don't support natively. It adds complexity for the user where clones keep it simple. Use cases in practice:
The number of clones is up to the user. Some might want one, some might want five. That flexibility is hard to replicate with profiles without making the UX worse. Regarding EasyTV: The clone mechanism in EasyMovie is identical to what EasyTV already uses in the official repo. If the decision is to disallow this pattern, I'd like to understand what that means for EasyTV as well, so I can plan accordingly for both addons. I'm happy to discuss alternative approaches, but I wanted to lay out why I believe clones are the cleanest solution from a user experience perspective. |
|
Let us discuss this internally and reach some conclusion. My personal opinion is split: On one side, you've presented a legit use case, on the other side, we strongly discourage "drop-in" addon installs as a principle because they are often used to create "fully loaded Kodi boxes" that have given us bad reputation. And we cannot guarantee that your cloning method will work in the future. |
|
I fully understand. |
|
I discussed this with the team and unfortunately we cannot allow this addnon cloning feature. In addition to the reasons explained above it also breaks addon auto-update mechanism, meaning that cloned addons, having their own addon IDs, wont' be auto-updated along with the primary addon. As for this feature being present in your other addon, It seems as an honest mistake from one our our reviewers. We are all unpaid volunteers who review addon submissions in their free time and things may fall through the cracks. As an alternative you can consider developing some kind of profile support as @basrieter suggested. Maybe existing Kodi profiles feature will do, but I never used it so I cannot tell you more. |
|
@romanvm Thank you for the clear answer. I understand the team's position and I respect that. One thing I do want to correct: the claim that cloned addons won't be auto-updated is not accurate. I specifically built an update mechanism to handle this. When the main EasyMovie addon gets updated through the repo, every clone detects the version mismatch on its next launch and triggers a mandatory update from the parent addon's files. The version check logic is in That said, if this is the final verdict, I'll need to think about how to proceed. The clone system is a core feature that I've invested significant time in, building it far more robust than what LazyTV ever had. A profile system, while possible, would not offer the same flexibility - profiles can't each have their own icon, name, or appear as independent entries in Kodi's addon list and skin shortcuts. Most likely I would stop releasing into the official repo and distribute through my own repository instead, so I can keep offering the full feature set to users. I'd also like to understand what this means for EasyTV, which has had the same clone functionality in the official repo for a while now. |
|
Unfortunately, this is the final verdict. I still think that you should be able to create profiles with their own icons within your add-on and then create links/favorites to those profiles to access the directly. The only think that might not work out of the box is putting it as seperate add-ons in a skin. We will discuss the LazyTV add-on internally and see how to proceed with that. Please don't misunderstand us: We do appreciate the effort that developers put into their contributions very much. And we hope to see you work out an alternative (such as profiles) that would allow us to accept this add-on into our repo. |
|
@basrieter Thank you for the clarification. I will wait with my decision until you have discussed internally what this means for EasyTV, as that will factor into how I proceed. |
New addon: EasyMovie v1.0.0
Addon ID: script.easymovie
Version: 1.0.0
What is EasyMovie?
EasyMovie simplifies movie night in Kodi. Instead of scrolling through hundreds of titles, a filter wizard asks a few quick questions — genre, age rating, runtime, year, score — then presents a curated random selection from the user's library.
Two ways to watch
Key features
Technical details
Links