Jump to content

My Browser Builds (Part 3)


Recommended Posts

On 7/30/2022 at 12:37 AM, roytam1 said:

New build of Serpent/UXP for XP!

Test binary:
Win32 https://o.rthost.win/basilisk/basilisk52-g4.8.win32-git-20220730-3219d2d-uxp-a8454ac78-xpmod.7z

 

Official UXP changes picked since my last build:
- Issue #1805 - Improve stack size limits for all targets. (5ed7e7d56)
- Issue #1805 - Follow-up: provide for Linux builds using rlimit and min/max. (3571cc8de)
- Issue #1805 - Follow-up: Include the same headers for Solaris as well to future-proof gcc versions. (065e8bc77)
- Issue #1964 - Update libtremor. (34d0e86b6)
- Issue #1967 - Remove mozprotocol handler (moz://a easter egg). (584cfbd80)
- Issue #1967 - Remove moz://a from mochitest (1694b1b76)

- Issue #1962 - Update libtheora. (be2516a09)
- Issue #1962 - Follow-up: Fix build issues on Windows. (2a1f9e3ef)
- Issue #1962 - Follow-up: Fix 32-bit build and remove unused clang-cl codepath. (dca7d2ff6)
- Issue #1971 - Part 1: Update build system for ICU 63.2 upgrade. (8df84683b)
- Issue #1971 - Part 2: Update ICU source to 63.2. (1e6921438)

- Issue #1971 - Part 3: Update unicharutil perl scripts for Unicode 11 upgrade. (9a4a62c8c)
- Issue #1971 - Part 4: Generated files for Unicode 11.0. (196f95dbf)
- Issue #1971 - Part 5: Update Spidermonkey for Unicode 11. (c090dd7ce)
- Issue #1969 - Implement Intl.RelativeTimeFormat. (3e6cbc6af)
- Issue #1975 - Implement Origin header CSRF mitigation. (faa778ec9)
- bump version for ICU update (5212cbebd)

- [DOM] Add extra check for performance API Next Hop protocol (bf5894586)
- [NSS] protect SFTKSlot needLogin with slotLock. (b9084ea29)
- [NSS] Avoid potential data race on primary password change. (a77cf423c)
- [NSS] Fix uninitialized value in cert_ComputeCertType. (10fdf0e1c)
- Issue #1312 - Fix potential crashes in MailNews. (e3aa3c296)

No official Pale-Moon changes picked since my last build.

No official Basilisk changes picked since my last build.

My changes since my last build:
- ICU: replace windows related source files with those from mypal68 (ICU 64.2) (3a65ef9ca)
- [Basilisk] remove mozProtocolHandler from package (a8454ac78)
- skipped `Issue #1966 - Remove support for Firefox Marketplace "apps"' for now as upstream doesn't clean-up remnants completely

Update Notice:
- You may delete file named icudt58l.dat inside program folder when updating from old releases.

* Notice: From now on, UXP rev will point to `custom` branch of my UXP repo instead of MCP UXP repo, while "official UXP changes" shows only `tracking` branch changes.

Installed last night and have been using all day and this is quite an improvement as I see you @roytam1 worked hard.

I find:

Version     52.9.0 (32-bit)
Build ID     20220730023424

... to be the best so far and it feels like I'm on a different browser altogether. Very Nice; indeed!

Thank you :)

Edited by XPerceniol
Link to comment
Share on other sites


Serpent v52.9.0 (2022-08-05) (32-bit)

I'm not sure how significant this is but when I go into the Add-ons Manager options for Greasemonkey 3.17 it throws this error:

XML Parsing Error: undefined entity
Location: chrome://greasemonkey/content/options.xul
Line Number 13, Column 1:

<dialog
^

I don't see anything odd in options.xul and it works fine under the original FF52.

I also get a storage/default/moz-extension+++ folder created in the Serpent profile for the Greasemonkey extension. Again this doesn't happen under the original FF52. This is using identical profiles.

Ben.

Link to comment
Share on other sites

5 minutes ago, Ben Markson said:

Serpent v52.9.0 (2022-08-05) (32-bit)

I'm not sure how significant this is but when I go into the Add-ons Manager options for Greasemonkey 3.17 it throws this error:

XML Parsing Error: undefined entity
Location: chrome://greasemonkey/content/options.xul
Line Number 13, Column 1:

<dialog
^

I don't see anything odd in options.xul and it works fine under the original FF52.

I also get a storage/default/moz-extension+++ folder created in the Serpent profile for the Greasemonkey extension. Again this doesn't happen under the original FF52. This is using identical profiles.

Ben.

As far as I can see from your output, this is just a compatibility problem of the extension Greasemonkey due to an undefined entity in its options.xul. This file has to be edited to make it fully compatible again. The problematic entity is in line 13 and column 1. :)

  • Like 1
Link to comment
Share on other sites

34 minutes ago, Ben Markson said:

Serpent v52.9.0 (2022-08-05) (32-bit)

I'm not sure how significant this is but when I go into the Add-ons Manager options for Greasemonkey 3.17 it throws this error:
(snipped)
this doesn't happen under the original FF52. This is using identical profiles.

As I've written countless times in the past,

Serpent 52.9.0 != Firefox 52.9.x

As such, you should NEVER mix profiles between FxESR52 and St52/St55!

For UXP-based browsers (like St52), the UserScript Manager of choice is:

Greasemonkey for Pale Moon

Despite its name, it's also suitable for Serpent 52/55; first
1. Uninstall your very old GM (for Fx) v3.17 (its settings should be kept inside "about:config", already installed scripts should remain intact inside your St52 profile) - restart browser.
2. Install file "greasemonkey-3.31.4-pm_forkBranch.xpi" - restart browser.
3. Installed userscripts and GM settings should have been carried over to GMFPM-3.31.4

Another option for St52 if you only wish to modify web content is ViolentMonkey (a web-extension, NOT backwards-compatible with GM); latest v2.13.0.23b works fine in my copy of St52...

Edited by VistaLover
  • Like 4
Link to comment
Share on other sites

45 minutes ago, AstroSkipper said:

As far as I can see from your output, this is just a compatibility problem of the extension Greasemonkey due to an undefined entity in its options.xul. This file has to be edited to make it fully compatible again. The problematic entity is in line 13 and column 1. :)

I think that's a bit simplistic.

<dialog> ... </dialog> is a pretty fundamental XUL construct so I'm pretty sure that there's something happening beyond a compatibility problem with the dialog entity. I still use it in my own extensions. :D

Here is options.xul in all its glory!

<?xml version="1.0"?>

<!DOCTYPE prefwindow [
<!ENTITY % greasemonkeyDTD SYSTEM "chrome://greasemonkey/locale/greasemonkey.dtd">
<!ENTITY % preferencesDTD SYSTEM "chrome://browser/locale/preferences/preferences.dtd">
%greasemonkeyDTD;
%preferencesDTD;
]>

<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xml-stylesheet href="chrome://greasemonkey/skin/bindings.css" type="text/css"?>
<?xml-stylesheet href="chrome://greasemonkey/skin/options.css" type="text/css"?>
<dialog
  title="Greasemonkey - &prefWindow.titleWin;"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  buttons="accept,cancel"
  flex="1"

  id="greasemonkey-options-dialog"
  persist="screenX screenY"
  onload="GM_loadOptions()"
  ondialogaccept="GM_saveOptions()"
  ondialogcancel="close()"
>
<script type="application/x-javascript" src="chrome://greasemonkey/content/options.js" />

<dialogheader title="Greasemonkey" description="&prefWindow.titleWin;"/>

<vbox flex="1">
  <groupbox>
    <caption label="&prefWindow.titleWin;" />
    <checkbox id="secure-update" label="&RequireSecureUpdates;" />
    <checkbox id="submit-stats" label="&SubmitStats;" />
    <checkbox id="check-sync" label="&EnableFirefoxSync;" />
  </groupbox>

  <groupbox>
    <caption label="&options.editor;" />
    <hbox>
      <button oncommand="GM_util.setEditor(1)" label="&options.defaultEditor;" flex="1"/>
      <button oncommand="GM_util.setEditor(0)" label="&options.browseForEditor;" flex="1"/>
    </hbox>
  </groupbox>

  <groupbox flex="2">
    <caption label="&options.globalExcludes;" />
    <cludes id="globalExcludes" flex="1" />
  </groupbox>

  <groupbox flex="1">
    <caption label="&options.newScript.template;" />
    <checkbox id="newScript-removeUnused" label="&options.newScript.removeUnused;" />
    <textbox id="newScript-template" multiline="true" rows="5" flex="1" wrap="off" />
  </groupbox>
</vbox>

</dialog>

Ben.

  • Like 1
Link to comment
Share on other sites

1 minute ago, Ben Markson said:

I think that's a bit simplistic.

<dialog> ... </dialog> is a pretty fundamental XUL construct so I'm pretty sure that there's something happening beyond a compatibility problem with the dialog entity. I still use it in my own extensions. :D

Here is options.xul in all its glory!

<?xml version="1.0"?>

<!DOCTYPE prefwindow [
<!ENTITY % greasemonkeyDTD SYSTEM "chrome://greasemonkey/locale/greasemonkey.dtd">
<!ENTITY % preferencesDTD SYSTEM "chrome://browser/locale/preferences/preferences.dtd">
%greasemonkeyDTD;
%preferencesDTD;
]>

<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xml-stylesheet href="chrome://greasemonkey/skin/bindings.css" type="text/css"?>
<?xml-stylesheet href="chrome://greasemonkey/skin/options.css" type="text/css"?>
<dialog
  title="Greasemonkey - &prefWindow.titleWin;"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  buttons="accept,cancel"
  flex="1"

  id="greasemonkey-options-dialog"
  persist="screenX screenY"
  onload="GM_loadOptions()"
  ondialogaccept="GM_saveOptions()"
  ondialogcancel="close()"
>
<script type="application/x-javascript" src="chrome://greasemonkey/content/options.js" />

<dialogheader title="Greasemonkey" description="&prefWindow.titleWin;"/>

<vbox flex="1">
  <groupbox>
    <caption label="&prefWindow.titleWin;" />
    <checkbox id="secure-update" label="&RequireSecureUpdates;" />
    <checkbox id="submit-stats" label="&SubmitStats;" />
    <checkbox id="check-sync" label="&EnableFirefoxSync;" />
  </groupbox>

  <groupbox>
    <caption label="&options.editor;" />
    <hbox>
      <button oncommand="GM_util.setEditor(1)" label="&options.defaultEditor;" flex="1"/>
      <button oncommand="GM_util.setEditor(0)" label="&options.browseForEditor;" flex="1"/>
    </hbox>
  </groupbox>

  <groupbox flex="2">
    <caption label="&options.globalExcludes;" />
    <cludes id="globalExcludes" flex="1" />
  </groupbox>

  <groupbox flex="1">
    <caption label="&options.newScript.template;" />
    <checkbox id="newScript-removeUnused" label="&options.newScript.removeUnused;" />
    <textbox id="newScript-template" multiline="true" rows="5" flex="1" wrap="off" />
  </groupbox>
</vbox>

</dialog>

Ben.

The answer is one post above coming from @VistaLover:yes:

  • Like 2
  • Upvote 2
Link to comment
Share on other sites

29 minutes ago, VistaLover said:

Serpent 52.9.0 != Firefox 52.9.x

As such, you should NEVER mix profiles between FxESR52 and St52/St55!

For UXP-based browsers (like St52), the UserScript Manager of choice is:

Greasemonkey for Pale Moon

I routinely refresh my Serpent52 profile (which I don't maintain) with my FF52 profile (which I do maintain) – hey, none of us are playing by the  'riles' here! I understand the risks. I have always avoided the Death-by-a-Thousand-Tweaks (some rational, some idealogical) rabbit hole that Pale Moon seems to represent.

I am also deeply suspicious of the newer incarnations of older extensions. There has been so much bad faith with how some extensions were abused (Stylish, for example) that I prefer the ones that were created in a more 'honest' time.

While I accept your premise it's all way too complicated already and I suspect some people still use FF52 for that very reason.

Ben.

Link to comment
Share on other sites

24 minutes ago, Ben Markson said:

I routinely refresh my Serpent52 profile (which I don't maintain) with my FF52 profile (which I do maintain)

To all other members reading this, PLEASE NEVER DO THAT! :thumbdown

24 minutes ago, Ben Markson said:

hey, none of us are playing by the  'riles' here!

Not playing by the "rules" makes you ineligible for help, at least as far as I'm concerned...

24 minutes ago, Ben Markson said:

I am also deeply suspicious of the newer incarnations of older extensions.

Nothing to be wary of GMFPM - its maintainer is/was a member of the MCP team of devs... I've been using it for years without the slightest issue... :thumbup

24 minutes ago, Ben Markson said:

it's all way too complicated

What is, in this case? I provided detailed, foolproof, instructions for the migration of GM 3.17 => GMFPM 3.31.4 (which is fully compatible with UXP browsers), but you're unwilling to even test it (you can always use a test St52 profile) ...

BTW, people still using FxESR52 in 2022, except for some marginal cases like Firefox Sync, should migrate ASAP to St52, not only for security reasons, but mainly for WebCompat ones... Nothing too complicated for a die-hard Windows XP(/Vista) user, trust me...

Edited by VistaLover
  • Like 5
Link to comment
Share on other sites

Just now, Ben Markson said:

...with my FF52 profile (which I do maintain) ..

Sadly, I've stopped maintaining my FF52 profile, I used it to compare with Serpent 52, mostly I would never trust FF from 2018 and Serpent fixed a lot of the security issues.

Edited by XPerceniol
  • Like 1
  • Upvote 3
Link to comment
Share on other sites

On 7/28/2022 at 10:21 AM, XPerceniol said:

The main application has not changed since..

Serpent 4.8.4.8147

2022 04 22 013422

Ah, now I see after the update.

This is now:

Serpent

File Version: 4.8.6.8243 (From 4.8.4.8147)

Build ID: 20220727014341

Again, very very nice to see this as I didn't expect it.

spacer.png

Link to comment
Share on other sites

2 hours ago, AstroSkipper said:

Spoken for me only, each browser I use has its own profile. I totally agree with @VistaLover, I never use one profile shared by different browsers. :)

Same here. And I keep that in mind for any browser, be it Firefox or Chromium or whatever based.

  • Like 2
  • Upvote 1
Link to comment
Share on other sites

5 hours ago, Ben Markson said:

Serpent v52.9.0 (2022-08-05) (32-bit)

I'm not sure how significant this is but when I go into the Add-ons Manager options for Greasemonkey 3.17 it throws this error:

XML Parsing Error: undefined entity
Location: chrome://greasemonkey/content/options.xul
Line Number 13, Column 1:

<dialog
^

While I wish I'd never started this, but to answer my own post, I think the reason for the error is that Mozilla...
 · removed <!ENTITY prefWindow.titleWin "Options"> from chrome://browser/locale/preferences/preferences.dtd"
 · added <!ENTITY preferencesCmd2.label "Options"> to chrome://browser/locale/browser.dtd

Presumably, at some point, the forks followed suit. A more interesting solution might have been to do the add but not the remove.

Who knows, this may help someone else.

Anyway, I guess that's it as I am now 'ineligible'. :o

Ben.
 

 

Link to comment
Share on other sites

5 hours ago, Ben Markson said:

I think the reason for the error is that Mozilla...
 · removed <!ENTITY prefWindow.titleWin "Options"> from chrome://browser/locale/preferences/preferences.dtd"
 · added <!ENTITY preferencesCmd2.label "Options"> to chrome://browser/locale/browser.dtd

Presumably, at some point, the forks followed suit.

Right :P :

https://github.com/janekptacijarabaci/greasemonkey/commit/60ded5b304d2fb616e61137e9209bb7993b55a9b

5 hours ago, Ben Markson said:

I guess that's it as I am now 'ineligible'. :o

Please, don't take it as a personal offence, as it was not meant that way... If you're an extension author yourself/quite savvy with browser code and the Javascript language, then I'm quite confident you'll find ways of getting out of whatever "predicament" you find yourself into by not "playing by the rules"... However, the layman user of Serpent 52 (under XP/Vista or, even, 7) will be much better off by doing "things" the recommended way; then it'd be more easy for a volunteer helper (like myself) to troubleshoot reported breakages and offer remedies, if/when possible...

I am also of an adventurous "nature", but this trait has sometimes necessitated a complete browser profile rebuilt from scratch, which, depending on the original profile, can last from many hours to even day(s) :(; I'd never myself promote "behaviour" that would end up in someone having to rebuild one's browser profile...

In the past, I was a Mozilla Nightly Tester (v22.0a1 to v53.0a1), Firefox Nightly was being released then once a day (currently twice daily), profile "breakages" were quite frequent between updates, so one was never to mix profiles even between Firefox Nightly versions...

While indeed Basilisk 52 (and, thus, Serpent 52) began its existence as an offspring of Mozilla Firefox 52.6.0 (this is an over-simplification; UXP-take 2 - the platform - began its life as a fork of Mozilla ESR 52.6.0 platform), the close affinity between them might have been a "thing" in early 2019, possibly for somewhat longer, but due to extensive work by upstream (MCP), the two platforms/applications have, by now, diverged so greatly, that their profiles are no longer interchangeable!

My 2c/2p (etc.):

Never mix profiles between browsers (obviously when they belong to the same "family"), or between different versions of the same browser (and Google/Mozilla have made it now impossible to successfully "downgrade" profiles, as profile migration is only ONE-WAY exclusive: from an older to a newer browser version).

UXP-based browsers (and forks) have kept support for old and unmaintained Firefox "legacy" extensions; where the UXP community has created UXP-specific versions of those, it is wise to move on to such an extension fork...
E.g., Stylem should be used as the de facto UserStyle manager over the Firefox-specific, old, Stylish v2.0.7/2.1.1...

Kindest regards :)

Edited by VistaLover
  • Like 1
  • Upvote 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   1 member



×
×
  • Create New...