Jump to content

My Browser Builds (Part 3)


Recommended Posts


On 6/5/2022 at 12:58 PM, RamonUn said:

The latest Serpent build is close to equivalent to the latest Basilisk in term of feature support.

This isn't an accurate assessment by now even ;), because official Basilisk has become an abandonware by upstream... :angry:
The last publicly released Windows binary was a 64-bit ONLY compile, with appVersion=52.9.2022.01.27 and BuildID=20220127135138 ; the platform submodule that was used to compile it was GRE (Goanna Runtime Environment, now dropped by Moonchild), not even UXP, and the GRE version back then (Jan 27th 2022) was 4.8.3
So, latest Serpent 52 is far more "rich" in Web Compatibility features :thumbup compared to the last Basilisk build of more than 4 months ago (not to mention some other Serpent-specific features that make it more "valuable" in my eyes, e.g. WebEx & Container Tab support)...

On 6/5/2022 at 3:00 PM, RamonUn said:

here for people that are interested:

https://github.com/RamonUnch/palefill/releases

Thanks! :) If it was up to me, in
https://github.com/RamonUnch/palefill/commit/a82544e
I would've have also changed "Platform51Up" (two occurrences inside "main.js") to "Platform485Up",
because (and call me pedantic :) ) :
1. UXP by Roytam is currently at v4.8.5,
2. 4.8.5 can't be >= 5.1.0 (i.e. 51Up :whistle:)

I installed your fork in my St52 copy, then I explored its options (inside the Add-ons Manager); the "Dump platform information" button had me perplexed for a while :dubbio:... By clicking that button, I was expecting a "Save File" prompt, to save on disk a "text-type" file (e.g. *.log, *.info, etc) with the dumped info, however none was showing up... The extension's documentation (original and fork) wasn't helpful in that respect, either... 
After fooling around for a bit, I discovered that the "platform information" is actually being printed, in JSON format, inside the browser's Browser Console (CTRL+SHIFT+J), which isn't self-intuitive... :angry:
@UCyborg, being a contributor to the upstream project, do you think you could come up with code that would implement my suggestion (clicking the "Dump platform information" button will offer to save on disk a "PlatformInfo.json" text file - current behaviour [BC] could be retained) ?

Link to comment
Share on other sites

On 5/27/2022 at 11:14 AM, UCyborg said:

someone else already wrote a similar user script -
https://greasyfork.org/en/scripts/40897-old-reddit-please.

FWIW, I'm using myself another (more recent) variant,
https://greasyfork.org/en/scripts/377047-old-reddit-redirect
along with

// ==UserScript==
// @name     Old Reddit Favicon
// @include  https://old.reddit.com/*
// @icon     https://i.imgur.com/veJX9o5.png
// @grant    none
// ==/UserScript==
(function () {
  var link = document.querySelector('link[rel*=\'icon\']') || document.createElement('link');
  link.type = 'image/x-icon';
  link.rel = 'shortcut icon';
  link.href = 'https://i.imgur.com/veJX9o5.png';
  document.getElementsByTagName('head') [0].appendChild(link);
}) ();

that also resurrects the "old" Reddit favicon... :)

Edited by VistaLover
Link to comment
Share on other sites

@VistaLover
Well I use new Reddit now with palefill extension with a script patch I came up on my own. I find new Reddit easier on the eyes on desktop, though I prefer i.reddit.com on mobile.

Edited by UCyborg
Link to comment
Share on other sites

7 hours ago, VistaLover said:

After fooling around for a bit, I discovered that the "platform information" is actually being printed, in JSON format, inside the browser's Browser Console (CTRL+SHIFT+J), which isn't self-intuitive... :angry:

I had the same problem, took me a while to figure it out.

Link to comment
Share on other sites

8 hours ago, VistaLover said:

Thanks! :) If it was up to me, in
https://github.com/RamonUnch/palefill/commit/a82544e
I would've have also changed "Platform51Up" (two occurrences inside "main.js") to "Platform485Up",
because (and call me pedantic :) ) :
1. UXP by Roytam is currently at v4.8.5,
2. 4.8.5 can't be >= 5.1.0 (i.e. 51Up :whistle:)

I was planning to disablle version checking, I instead auto-detect features:

https://github.com/RamonUnch/palefill/pull/2/files

Link to comment
Share on other sites

On 6/5/2022 at 5:00 PM, roytam1 said:

you may check BuildID to see if certain feature is available or not.

queueMicrotask: since 20220325000000

optchain: since 20220505000000

nullish coalescing: since 20220523000000

To auto-detect queueMicrotask , I used the following code in the palefill code:

this.hasqueueMicrotask = typeof queueMicrotask === 'function';

https://github.com/RamonUnch/palefill/commit/32c411ded85804ea9bb1dcbaf121fda9321dec2d#diff-7934bf411fea192ad8cd69e0a12911648a2842cb0f2409a8fb67b41b7069d757R558

However, even with the latest New Moon build I get the 'false' result.

I think I am doing something wrong but when I tried this code in the try javascript web application, I get true.

Is there any way to detect the availability of queueMicrotask  without having to create a Worker object and without relying on versioning.

Sorry if my question is dumb but I have zero knowledge in JavaScript.

Edited by RamonUn
Link to comment
Share on other sites

1 hour ago, RamonUn said:

To auto-detect queueMicrotask , I used the following code in the palefill code:

this.hasqueueMicrotask = typeof queueMicrotask === 'function';

https://github.com/RamonUnch/palefill/commit/32c411ded85804ea9bb1dcbaf121fda9321dec2d#diff-7934bf411fea192ad8cd69e0a12911648a2842cb0f2409a8fb67b41b7069d757R558

However, even with the latest New Moon build I get the 'false' result.

I think I am doing something wrong but when I tried this code in the try javascript web application, I get true.

Is there any way to detect the availability of queueMicrotask  without having to create a Worker object and without relying on versioning.

Sorry if my question is dumb but I have zero knowledge in JavaScript.

you may test window.queueMicrotask (or any DOM object) instead. chrome scope does not include any method inside `window` object IIRC.

Edited by roytam1
Link to comment
Share on other sites

and you can check if browser supports OptionalChaining and NullishCoalescing in javascript:

const isOptionalChainingSupported = () => {
  try {
    eval('const foo = {}; foo?.bar');
  } catch(e) {
    return false;
  }

  return true;
}

const isNullishCoalescingSupported = () => {
  try {
    eval('const foo = null ?? "default string";');
  } catch(e) {
    return false;
  }

  return true;
}

copied and rewrote from https://stackoverflow.com/a/69935847

Link to comment
Share on other sites

1 hour ago, roytam1 said:

you may test window.queueMicrotask (or any DOM object) instead. chrome scope does not include any method inside `window` object IIRC.

Thanks a lot roy, for the Optional Chaining I am already using this trick and it works fine.

Link to comment
Share on other sites

On 5/27/2022 at 6:02 PM, XPerceniol said:

I could be wrong, but I think New Moon doesn't view pdfs, again, not sure.

For NM28, you need to install

https://addons.palemoon.org/addon/pdf-js-for-seamonkey/

For NM27, you need to install JustOff's

https://github.com/JustOff/moon-pdf-viewer/releases

(there was a v1.0.3 hosted in "addons.palemoon.org", but after the rift between MCP & JustOff and the removal of all of his extensions, it is currently AWOL :} ...

EDIT: The Web Archive has salvaged it! :)

https://web.archive.org/web/20200103222159/https://addons.palemoon.org/addon/moon-pdf-viewer/

https://web.archive.org/web/20200103222246/https://addons.palemoon.org/?component=download&id=MoonPDFViewer@Off.JustOff&version=1.0.3 )

Edited by VistaLover
Link to comment
Share on other sites

23 hours ago, VistaLover said:
On 6/5/2022 at 2:00 PM, RamonUn said:

here for people that are interested:

https://github.com/RamonUnch/palefill/releases

Thanks! :) If it was up to me, in
https://github.com/RamonUnch/palefill/commit/a82544e
I would've have also changed "Platform51Up" (two occurrences inside "main.js") to "Platform485Up",
because (and call me pedantic :) ) :
1. UXP by Roytam is currently at v4.8.5,
2. 4.8.5 can't be >= 5.1.0 (i.e. 51Up :whistle:)

Better checks were added yesterday I see. Current SeaMonkey's (not UXP) platform version is 60 something, so version check also wouldn't give the desired result in that browser.

You can make it more complicated (function supersededFixes) and a bit more correct (no assumptions).

23 hours ago, VistaLover said:

After fooling around for a bit, I discovered that the "platform information" is actually being printed, in JSON format, inside the browser's Browser Console (CTRL+SHIFT+J), which isn't self-intuitive... :angry:
@UCyborg, being a contributor to the upstream project, do you think you could come up with code that would implement my suggestion (clicking the "Dump platform information" button will offer to save on disk a "PlatformInfo.json" text file - current behaviour [BC] could be retained) ?

No idea, I learn as I go.

Link to comment
Share on other sites

1 hour ago, tpao12 said:

I go to personal Google Drive. The scrolling tab doesn't seem to work at all.

Such is life in the land of the unsupported. I use this style as a workaround (Stylem, userContent.css...):

@-moz-document domain("drive.google.com") {
  #drive_main_page {
    overflow: auto;
  }
}
Link to comment
Share on other sites

12 minutes ago, UCyborg said:

Such is life in the land of the unsupported. I use this style as a workaround (Stylem, userContent.css...):

@-moz-document domain("drive.google.com") {
  #drive_main_page {
    overflow: auto;
  }
}

Thank you for your code line. Now it works.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...