Open johnd0e opened 5 years ago
I propose a new manager that responsible for managing script.
[@namespace @name], @version, filepath
[@namespace @name]
combination.inbox
, selected-embedded-version
The manager could contains several embedded versions of IITC.
I propose something different: option to choose 'update channel', like in IITC-Button.
BTW, forgot to mention in description: we could work without storage permission.
Yeah, I think the important part is providing and switching the base set of plugins.
For the permission, maybe we should check if IITCm works well on android 10 since it add sandbox for old apps
maybe we should check if IITCm works well on android 10 since it add sandbox for old apps
I'm pretty sure it works well. Why is it important?
May be I should explain what I mean: currently storage is needed to use external plugins, because IITCm writes them to external storage. But it could write the to own internal storage instead, without additional permissions.
Is there somebody working on this because this is a huge painpoint for plugin updates had it happen now multiple times that plugins where broken because the update process didn't check the server response before overwriting
Currently IITCm plugins manager home-brew implementation does not handle plugins in proper way.
To follow docs plugins should be distinguished not by filename, but by pair
@namespace
+@name
.But as long as scripts are stored in filesystem, special handling needed for edge cases.
[@namespace @name]
should be treated as same script, so only 1st file should be loaded, and rest - ignored (with warning message).[@namespace @name]
- added plugin should be saved changing name (silently).@downloadURL
should be verified again. Update should be stopped if[@namespace @name]
do not match, or@version
is not same as stated inmeta.js
(previously loaded by@updateURL
). Ref: #210 (part 2) See update notes below. Also, related issue: #327[filename]
, but for[@namespace @name]
. Currently if we delete file of some enabled plugin - there will be excessive exceptions in console log.Note: Currently IITCm also uses
@id
metadata field. It is often misinterpreted as some unique id, but in fact it is used ONLY in one case: as filename, when plugin is extracted from email attachment. I'd suggest to drop it in favor of some more obvious fields, such as@downloadURL
Related issue: #63
Update notes There is no update algorithm described neither in GM, nor it TM docs.
The only officially source - GM primer here: https://www.greasespot.net/2012/02/automatic-script-updates-come-to.html
Unfortunately, it does not have all the details, and as result - real implementations may vary (see also https://stackoverflow.com/questions/38023717/why-is-usage-of-the-downloadurl-updateurl-keys-called-unusual-and-how-do-they)