View Single Post
12/09/18, 07:02 AM   #10
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 1,578
Originally Posted by Drakanwulf View Post
My complaint is that processing these duplicate folders and their manifests only to dump their add-ons as duplicates wastes time and resources that could be better spent loading additional add-ons. If we could eliminate processing these duplicate folders, we would probably speed up starting the game, or "zoning", or anytime anything triggers an internal "/reloadui" event and we would probably reduce the possibility of add-on load failures or run-time errors as an additional bonus.
No. Processing the manifest only saves you a few milliseconds at best. The majority of the time during load is used up by running the actual code and saved variables (table creation is very expensive in Lua).

Originally Posted by Drakanwulf View Post
My irritation is that embedded folders often break loading my add-ons because their add-on developers "forgot" to maintain or replace an embedded add-on folder. I refer to this as an irritation only because I do it to myself all to often.
Embedded addons don't do that. They are simply not loaded by the game when they are outdated and a newer version is present anywhere in the addon folder. Only the old LibStub based libraries worked that way since LibStub cannot know beforehand which version will be the highest and has to execute every version it comes across. That's why we want to get rid of LibStub, but that has nothing to do with this topic.

Originally Posted by Drakanwulf View Post
And what happens when someone else modifies the AddOnVersion value in the manifest file of their copy of my add-on? Right! Suddenly, ESO refuses to load my add-on because "my" AddOnVersion number has become older than the ESO version. Since I have no access to the current ESO AddOnVersion value, I have to keep "guessing" at values until I find a randomly, larger number that works!

And what if some malicious, piece of work changes the AddOnVersion value in their manifest file to 2,147,483,647? There is no larger value that I can use to recover! Then what can I do? What would you do? Or what would ESO do should the same thing happen to one of our add-ons? Or to one of theirs, for that matter?
This is simply not something an author should need to worry about. When a user modifies their local copy, they loose their warranty and if another author distributes a modified version of your library, it's a reason to get it taken down since it is a violation of your license (and honestly, there are no cases I know of in 4+ years where this has become an issue with any of my or any other authors libraries)