MozillaZine


pepper.com platforms don't work with seamonkey anymore

Discussion of bugs in Seamonkey
Kermit00
 
Posts: 6
Joined: January 6th, 2018, 6:24 am

Post Posted November 7th, 2020, 12:57 am

Since yesterday the pepper.com shopping deal platforms stops working with seamonkey (tested 2.53.4 + 2.53.5b1 Linux 64bit with fresh profile): A lot of elements are just grey rectangles and I cannot click accept-buttons in the cookie-dialog.
Other browsers (firefox, chromium, opera) works without problems on this plattform.
Last edited by Kermit00 on November 7th, 2020, 1:27 am, edited 1 time in total.

hardys
 
Posts: 189
Joined: August 7th, 2015, 9:15 am

Post Posted November 7th, 2020, 1:27 am

Seems to work with SM 2.53.6b1pre from WG9s on WIN10 64bit

http://www.wg9s.com/comm-253/

Kermit00
 
Posts: 6
Joined: January 6th, 2018, 6:24 am

Post Posted November 7th, 2020, 1:34 am

Linux 64 again don't work here: Did you test a national community like e.g. https://www.hotukdeals.com/

Kermit00
 
Posts: 6
Joined: January 6th, 2018, 6:24 am

Post Posted November 7th, 2020, 1:49 am

SM 2.57 from WG9s works, but a couple of my addons don't work there :(

hardys
 
Posts: 189
Joined: August 7th, 2015, 9:15 am

Post Posted November 7th, 2020, 4:53 am

I have tested the nl and german sites without problems.

Kermit00 wrote:Did you test a national community like e.g. https://www.hotukdeals.com/


This site also just works fine here with 2.53.6

n0spam
 
Posts: 4
Joined: November 7th, 2020, 7:56 am

Post Posted November 7th, 2020, 8:10 am

Yeah, looks like a SeaMonkey bug - it doesn't send cookies with requests for scripts of type "module", so the server returns 403, so the site breaks. Ironically, my old firefox 53 does send cookies and the server returns 200, but the browser doesn't understand the new syntax used in those scripts.
As a workaround, you can use a userscript that replaces scripts of type "module" with regular scripts. Something like this:
Code: Select all
https://pastebin.com/G3cqS2fz


Source, in case pastebin goes down:
Code: Select all
// ==UserScript==
// @id             hotukdeals.com_fix_sm_module@z117::gmscripts
// @namespace      z117::gmscripts
// @name           hotukdeals.com_fix_sm_module
// @version        1.0
// @author         z117
// @description    HotUkDeals.com - fix loading of module scripts in SeaMonkey.
// @include        *://www.hotukdeals.com/
// @include        *://*.hotukdeals.com/
// @include        *://www.hotukdeals.com/*
// @include        *://*.hotukdeals.com/*
// @run-at         document-start
// ==/UserScript==


+function()
{

function nl_to_arr(nl)
{
   if ( ! nl) { return []; }
   return nl instanceof Array ? nl : [].concat.apply([], nl);
}

new MutationObserver(function(mutations, observer){
   observer.disconnect();
   try {
      mutations.forEach(function(m){
         if (m.type !== "childList") { return; }
         nl_to_arr(m.addedNodes).forEach(function(n){
            if ( ! n || n.nodeType !== 1 /*ELEMENT_NODE*/) { return; }
            if (n.nodeName.toLowerCase() !== "script") { return; }
            if ( ! n.src || n.type !== "module") { return; }
            var elm = document.createElement("script");
            elm.type = "text/javascript";
            elm.src = n.src;
            (document.head || document.body || document.documentElement).appendChild(elm);
         });
      });
   } finally {
      observer.observe(document, {childList: true, subtree: true});
   }
}).observe(document, {childList: true, subtree: true});

}();

Kermit00
 
Posts: 6
Joined: January 6th, 2018, 6:24 am

Post Posted November 8th, 2020, 12:06 am

Thanks for the workaround! Indeed, with the userscript activated I'm able to accept the cookie-dialog. But the missing elemtens/functions on the sites (grey rectangles) stay. So there seems to be more bugs/incompatibilities. :(

frg
 
Posts: 1035
Joined: December 15th, 2015, 1:20 pm

Post Posted November 8th, 2020, 4:29 am

www.hotukdeals.com needs dom.moduleScripts.enabled/set to true but this still has a few problems. Might even crash on some sites. It is on my short list but even the short list is a bit long :)

n0spam
 
Posts: 4
Joined: November 7th, 2020, 7:56 am

Post Posted November 8th, 2020, 4:42 am

Right, that workaround was for 2.53.2 which I didn't notice I was using at the time. Sorry for that. With 2.53.4 it's a bit different (and messy) story. It does send cookies for modules, so it gets those scripts just fine, but it also loads legacy versions of those module scripts, and this gets in the way later and you end up with a mix of old and new code calling each other, which doesn't go well (i get "ReferenceError: jQuery is not defined" in the console). So to make this work in 2.53.4, you also need to block scripts coming from "hotukdeals.com/assets/js/legacy/". You'll need an adblocker for this because this can't be done with a userscript. And if you want to use another site from their network, e.g. promodescuentos.com, you'll need to repeat all the steps for it, i.e. add 4 @include entries to the userscript and block scripts coming from "promodescuentos.com/assets/js/legacy/". Honestly, at this point I'd rather use a different browser version.

Also, I screwed up a bit with the @include directives in the userscript. They should go like this:
Code: Select all
// @include        *://hotukdeals.com/
// @include        *://*.hotukdeals.com/
// @include        *://hotukdeals.com/*
// @include        *://*.hotukdeals.com/*

n0spam
 
Posts: 4
Joined: November 7th, 2020, 7:56 am

Post Posted November 8th, 2020, 5:07 am

frg wrote:http://www.hotukdeals.com needs dom.moduleScripts.enabled/set to true but this still has a few problems. Might even crash on some sites. It is on my short list but even the short list is a bit long :)

If you ever get around to this, here's something to sort out.
Enabled (set to true): loads the files (obviously), doesn't send cookies, and gets 403 because they use captcha: https://imgur.com/a/XQ9bIRj
Disabled (set to false): still loads the files, and sends cookies: https://imgur.com/a/OtJf5oD

Kermit00
 
Posts: 6
Joined: January 6th, 2018, 6:24 am

Post Posted November 8th, 2020, 5:35 am

Sorry, now I productivly changed to 2.53.6, but the userscript don't work anymore (also corrected the @include directives). I'm using Greasemonkey to mess up with userscripts.
But thanks for the tipp with "dom.moduleScripts.enabled"! With that workaround everything seems to work again! All jquery errors disappeared.

n0spam
 
Posts: 4
Joined: November 7th, 2020, 7:56 am

Post Posted November 8th, 2020, 6:20 am

Well, since their legacy scripts seem to work just fine and only missing jquery, a simpler "solution" is to just load it and leave everything else alone. So here's a shorter version of the userscript that just loads jquery: https://pastebin.com/pMsDh9Yy

Code: Select all
// ==UserScript==
// @id             hotukdeals.com_fix_sm_module@z117::gmscripts
// @namespace      z117::gmscripts
// @name           HotUkDeals.com - fix loading of jquery in SeaMonkey.
// @version        1.0
// @author         z117
// @description   
// @include        *://hotukdeals.com/
// @include        *://*.hotukdeals.com/
// @include        *://hotukdeals.com/*
// @include        *://*.hotukdeals.com/*
// @run-at         document-start
// ==/UserScript==


+function()
{

new MutationObserver(function(mutations, observer){
   var ins = document.head || document.body || document.documentElement;
   if ( ! ins) { return; }
   observer.disconnect();
   var elm = document.createElement("script");
   elm.type = "text/javascript";
   elm.src = "/assets/js/jquery.js";
   ins.appendChild(elm);
}).observe(document, {childList: true, subtree: true});

}();


As for the userscript not working in 2.53.6, I have no idea, sorry. :) Maybe Greasemonkey uses a different matching algorithm for @includes (I'm using Scriptish) so the script doesn't get called at all. We could try to make it work, but only if *you* want to, but I think at this point it's not really necessary because it seems like you're already good with 2.53.6.

Kermit00
 
Posts: 6
Joined: January 6th, 2018, 6:24 am

Post Posted November 8th, 2020, 8:32 am

Thanks for your efforts! There are some other sites especially more and more forums, that are incompatible with seamonkey too (and dom.moduleScripts.enabled don't solve the problems): I can scroll endless down, but just empty page and no more text/replies are shown. I suppose it is caused by advertising.
I think it's not a good idea to do workarounds for every site with userscripts. I hope that these issues will be fixed in future releases. I also contacted pepper.com, because google online translations also don't work on the communities anymore.

Return to SeaMonkey Bugs


Who is online

Users browsing this forum: No registered users and 0 guests