Dear Marti

Firstly, thank you for running and developing this site. I just have one small issue about the site's metadata check that I think needs to be fixed.

A few days ago, I updated my userscript for the first time since 2020 and I found that the site now blocks @grant GM.download and gives error 400 "@grant with value of GM.download is not valid or supported". The update would not go through unless I remove this grant from my metadata block. My userscript always had @grant GM.download since 2019 and the site was okay with it back then.

Right now, @grant GM_download is accepted, and other dot notation grants like @grant GM.setValue are also accepted, but @grant GM.download is not. While GM.download is not explicitly listed in any official documentation, at least Violentmonkey and Opera Tampermonkey require such GM.* dot notation grants. I am speaking from actual experience, because my users reported broken Violentmonkey and Opera support after I incorrectly removed GM.* grants. I have added back other GM.* grants and mostly fixed this problem, but @grant GM.download is still blocked and the function cannot be used in the code on affected platforms. I think it is incorrect for the site to block it and it should be re-allowed.

Thanks in advance.

Re: @Mayriad:

Let's start with what .user.js engine supports this... i.e. We need verified public syntax documentation.

GM nor TM, and VM seems to document it:

So until it's full publicly documented/supported then we can make a decision on that on Development.

OUJS Admin

Re: @Marti:

Thank you for the quick response. I realised after I made my post that maybe it would have been more convenient for you had I made an issue on GitHub instead, so apologies if this is less convenient.

Regarding the public documentation, I already checked all three sources above beforehand, and that is why I am aware it is not explicitly listed in any official documentation. I am puzzled by the absence of GM.download when it is required in practice. I think the userscript scene is moving quite slowly, so I have no idea when it will be documented.

Still, you are much more knowledgeable than me and you are the dev, so I respect your decision. It is hopefully only hurting a very small group of my users anyway.

Re: @Mayriad:

Here's a relevant response from derjanb that we've been going off of (and the rest of the topic). There are more instances elsewhere on his issue tracker but the overall perceived responses is that TM, and their users, doesn't really like the asynchronous GM 4.x API all that much. If derjanb were to clearly indicate support for this in his documentation then we can add it... until it's more official our hands are tied. It is a very easy addition on our end but their end requires wording/supporting it outright instead of "shadowing" GM 4.x. The only reason we support some of the extended GM objects is because VM has it outright listed here and of course GM proper.

I think the userscript scene is moving quite slowly, so I have no idea when it will be documented.

Go bug 'em on a new documentation type issue. You might want to reference the response over there so we can all get a little clearer picture on what TM's intentions are as of late.

OUJS Admin

Re: @Marti:

Yeah, I figured I can only ask the engine developers or documentation maintainers. It seems some background reading is needed first, so I will leave it for later. Thanks for the quick and informative responses again. I think that is all I need to know.