murdos / musicbrainz-userscripts

Collection of userscripts for MusicBrainz, by various authors
535 stars 89 forks source link

Bandcamp importer does not show up at all (Firefox 109.0, Violentmonkey + FireMonkey) #524

Open Viktini opened 1 year ago

Viktini commented 1 year ago

Title explains it. I've tested it on a bandcamp.com page, with Violentmonkey and FireMonkey with Firefox 109.0, and the Bandcamp importer doesn't show up. It's crossed out with a red line on Violentmonkey if it's used with joks' Show publish date userscript.

There's nothing in the F12 console that could be pointed towards the script.

kellnerd commented 1 year ago

Which version of Violentmonkey are you using? There was a bug in a recent version that broke many userscripts in Firefox, but this should be fixed with VM 2.13.7 and later. I'm currently using the latest beta 2.13.8.4 (should be equivalent to 2.13.9) and the Bandcamp importer appears for me.

Viktini commented 1 year ago

I'll try the VM beta now, thanks for letting me know!

kellnerd commented 1 year ago

Probably not needed, the (non-beta) 2.13.9 has already been released on AMO. Were you using an older version like 2.13.5? If not, you may have encountered a different issue. (I was just mentioning the beta because I can't confirm anything for the stable release at the moment.)

Viktini commented 1 year ago

Nope, latest version on both the release and the beta.

Byter09 commented 1 year ago

Can confirm. I don't see any button. Just installed a userscript for the first time using violentmonkey and there's no difference on the album page I'm testing with.

Versions:

Violentmonkey: 2.13.9
Firefox: 109.0

Album I tried it with: https://karlcasey.bandcamp.com/album/white-bat-xx

New to this, but if there's anything I can do to help out, let me know!

kellnerd commented 1 year ago

Strange, it still works for me with the same setup (well, VM 2.13.9.1 beta to be precise, but 2.13.8.4 also worked): image

If you're using Violentmonkey for the first time you probably haven't installed other scripts which are running on the same site so far. Which userscript count does the VM icon show for you? Or maybe you have another browser extension that interferes with VM? Try disabling them temporarily to see if that makes a difference. Otherwise I can't help much in such cases...

Byter09 commented 1 year ago

It shows 1. grafik

And I don't have any other addons that touch bandcamp or musicbrainz. Is there a log of some kind I can check to see what the script is doing? :o

kellnerd commented 1 year ago

It might be that the other addon looks totally unrelated, you won't know whether another addon is the culprit unless you try to disable it.

The script should log only one line in the browser console (Ctrl+Shift+K) if it was successful: [INFO] Parsed release: ...

Byter09 commented 1 year ago

Oh I didn't even think about checking the console. I get this:

[Violentmonkey][Import Bandcamp releases to MusicBrainz] SyntaxError: expected expression, got '<'
    Pe moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/sandbox/injected-web.js:1
    post moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/sandbox/injected-web.js:1
    ScriptData moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/sandbox/injected-web.js:1
    onHandle moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/sandbox/injected-web.js:1
    je moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/sandbox/injected-web.js:1
injected.js:1:813
    E moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    i moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    $t moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    Et moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    onHandle moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    Se moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    Pe moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/sandbox/injected-web.js:1
    post moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/sandbox/injected-web.js:1
    ScriptData moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/sandbox/injected-web.js:1
    onHandle moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/sandbox/injected-web.js:1
    je moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/sandbox/injected-web.js:1
    Ee moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    post moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    Tt moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    qe moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    qe moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    xt moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    <anonym> moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    <anonym> moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1
    <anonym> moz-extension://19f8f813-aaeb-4891-9140-14dc18a13fea/injected.js:1

:thinking:

kellnerd commented 1 year ago

Well, these error messages are not really helpful since they don't show the occurrence of the error in the script file but link to lines of VM code... The only meaningful part is SyntaxError: expected expression, got '<', so apparently there is a < in your version of the userscript where it doesn't belong... Try to reinstall it, I would say?

...or maybe this is not related to the script itself? Just as I tried to reproduce this message by inserting a random < into the userscript code, I've seen that VM now shows this buggy script with a strike-through name: image

Byter09 commented 1 year ago

I just went ahead and deactivated every single addon I have except for Violentmonkey. Same error. Am so confused what this could be. Should I try some other userscript addon? Recommendations?

Byter09 commented 1 year ago

Right. I tried Tampermonkey and it works... :face_exhaling:

Viktini commented 1 year ago

I managed to get something out of Firemonkey when using the script.

Firemonkey lets you run the script manually, and doing so gives me an error saying "jQuery is not defined". Not sure if this helps but I thought I'd mention it.

Viktini commented 1 year ago

I dunno what happened but it works now. I'll leave open since FireMonkey will still likely have problems, but it works just fine on Violentmonkey 2.13.11.

ethus3h commented 1 year ago

I'm having trouble with Violentmonkey 2.14.0 and Firefox 113.0.1, for what it's worth. It shows this error:

[Violentmonkey][Import Bandcamp releases to MusicBrainz] SyntaxError: unexpected token: ':'
    Ee moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/sandbox/injected-web.js:1
    post moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/sandbox/injected-web.js:1
    ScriptData moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/sandbox/injected-web.js:1
    onHandle moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/sandbox/injected-web.js:1
    Ie moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/sandbox/injected-web.js:1
[injected.js:1:794](moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js)
    S moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    i moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    Et moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    Dt moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    onHandle moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    je moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    Ee moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/sandbox/injected-web.js:1
    post moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/sandbox/injected-web.js:1
    ScriptData moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/sandbox/injected-web.js:1
    onHandle moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/sandbox/injected-web.js:1
    Ie moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/sandbox/injected-web.js:1
    De moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    post moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    St moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    We moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    We moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    $t moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    <anonymous> moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    <anonymous> moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
    <anonymous> moz-extension://eb11d796-3634-4953-a4da-0b0094669f34/injected.js:1
emiham commented 9 months ago

I get the same error as @ethus3h with Violentmonkey in both Firefox and Chrome, with no other extensions. Switching to Tampermonkey fixed it in Chrome at least, didn't try Firefox.

riley-martine commented 8 months ago

See linked bug ⬆️ . This can be worked around by setting full paths for the @require directives. (Add https://raw.github.com/murdos/musicbrainz-userscripts/master/ before lib/)

StaticRocket commented 8 months ago

The the Violentmonkey part of this can be ignored now. It wasn't a bug with the plugin, it was just that the plugin's relative import logic wasn't built to handle URL parameters.

The MusicBrainz Wiki download link for this script was using the URL parameter for raw content so things blew up when Violentmonkey dropped that internally for it's relative import logic.

The URLs to download this plugin were updated in the wiki so they do not create this issue anymore (and potentially Violentmonkey will be patched).

I tested the new URL scheme briefly with Firemonkey. It seems to be having issues with it's imports as well, but it's not quite the same problem. I'll leave debugging that as an exercise for the reader :)