JustOff / github-wc-polyfill

Ensure that all GitHub and GitLab scripts required for UXP and SeaMonkey are loaded correctly
https://justoff.github.io
Mozilla Public License 2.0
103 stars 19 forks source link

Pale Moon is abandoning its own GUID | milestone 30 rollout cancelled #59

Closed SeaHOH closed 2 years ago

SeaHOH commented 2 years ago

New: https://github.com/JustOff/github-wc-polyfill/issues/59#issuecomment-1074528765


the newly released Pale Moon 30.x throws an error when trying to install the extension, likely a simple versioning issue?

Works with Moon Tester Tools, so that must be it

As if having to constantly deal with GitHub/GitLab breaking this extension every other day or two 😠 wasn't enough, now MCP, reshuffling the deck of cards, are tossing more obstacles in the way of this extension 😞 ...

https://www.palemoon.org/releasenotes.shtml

Pale Moon is abandoning its own GUID (globally-unique identifier) and adopting Firefox's GUID instead

So, this isn't simply "a versioning issue", as PM30 now has the same GUID as Fx30/Fx52 etc., Basilisk 52.9.2022.01.27 and Serpent 52.9.0... Meaning that this code block

      <Description>
      <em:id>{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}</em:id>
      <em:minVersion>28.14.0</em:minVersion>
      <em:maxVersion>29.*</em:maxVersion>
      </Description>

inside install.rdf is no longer relevant for PM >= 30.0.0 (but remains so for PM 28.14 - 29.4.4 and, with modification, for New Moon 28); instead, PM30 must be accommodated, somehow (?), inside the Basilisk code block below:

      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>52.9.2020.10.05</em:minVersion>
        <em:maxVersion>52.9.2022.*</em:maxVersion>
      </Description>

E.g., setting a minVersion of 30.0.0 will allow for installation in PM30 (but also allows installation in Firefox 30.0-52.9.0 , should one attempt that) ...

In addition, our platform code has been changed to a more streamlined version over the past months and UXP is no longer used (or maintained) by us in this milestone. UXP has been released to the community for maintenance and coordination to continue building on where desired. Instead, we are now building on the Goanna Runtime Environmentβ„’ (or GRE for short)

GRE platform (revamped UXP, tailored for PM30+) - private-sourced, as is PM itself currently - means that future PM versions will diverge significantly over time from UXP browsers, what will the future bring to them (NM28/Basilisk/Serpent) as far as this crucial extension is concerned? Continued or dropped support?

Most notable user-facing/implementation changes:

  • Implemented queueMicroTask() for web compatibility.

Currently this extension polyfills that for ALL supported platforms/applications, PM30 should probably be exempt from that, as natively supported (?) ...

For add-on developers:

  • Pale Moon now internally identifies with the Firefox GUID.
  • blahblahblah...

So, do everyone now see how the waters have been mudded?

cutting out support for unmaintainable components and target platforms

I'd hate it if extension support (unofficial as it might be πŸ˜‰ ) is lost for Serpent 52, and I'm not the only one using it around here (and in dire need of this superb extension) ...

Oliver Hardy addressing Stan Laurel: "Well, here's another nice mess you've gotten me into!" πŸ˜„

Originally posted by @Vangelis66 in https://github.com/JustOff/github-wc-polyfill/issues/45#issuecomment-1071997963

micwoj92 commented 2 years ago

@Vangelis66 It's no longer private source (and it never really was, the repo was private, but they were releasing source tarballs, there are other projects that do that, keepass for example) https://repo.palemoon.org/MoonchildProductions/Pale-Moon https://repo.palemoon.org/MoonchildProductions/GRE

uyar commented 2 years ago

Well, here's another entitled extension user/developer who thinks that the browser should revolve around their extension.

AroKol78 commented 2 years ago

now PM30 users have to hack add-ons :laughing::laughing::laughing: e.g. uBo legacy --> GUID Firefox --> 45.0 - 56.0 , GUID Pale Moon --> 28.0.0 - 29.*

SlySven commented 2 years ago

As I was directed to in #45 to use this add-on with PM 30 you have to hack the acceptable version numbers in install.rdf in the github-wc-polyfil-1.2.17.xpi (which is an archive file type BTW) order for that version to accept it:

     <em:targetApplication>
       <Description>
         <em:id>{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}</em:id>
         <em:minVersion>28.14.0</em:minVersion>
-        <em:maxVersion>29.*</em:maxVersion>
+        <em:maxVersion>30.*</em:maxVersion>
       </Description>
     </em:targetApplication>

This won't, of course, prevent you trying to install it into a old FireFox version (between 30.0 and 52.9) but that is the downside of MC's decision to go back to using the same Globally Unique IDentifier as FireFox {which sort of undoes the Globally Unique part of that number πŸ™„ )... Strangely this doesn't seem to have take place yet in my version of Pale Moon (Windows 30.0.0 64-bits).

I thought it would be necessary to hit the next section in that file (and down the minVersion there) which is:

    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>52.9.2020.10.05</em:minVersion>
        <em:maxVersion>52.9.2022.*</em:maxVersion>
      </Description>
    </em:targetApplication>

but that didn't work for me even after restarting Palemoon...

πŸ˜•

rofl0r commented 2 years ago

the decision to get rid of the palmoon guid was clearly a mistake - it breaks all addons specifically made/modded for palemoon and also those made for firefox - because they expect a version number higher than 30. palemoon isn't firefox, so trying to emulate it via GUID but then having plenty of other differences (like version number) just won't do it. the only reasonable way forward is supporting both GUID's just like 29.4.4 did and figuring out why chrome.manifest works currently only for one of them (as was reported by tobin as being the reason for why the dual GUID model wasn't kept). we can only hope @wolfbeast comes to the same conclusion and ships a 30.0.1 with the decision reverted, while we keep on using 29.4.4.

TiberiumFusion commented 2 years ago

The Pale Moon GUID is still supported at the moment for installation purposes. it's the reverse situation to what we had before though. Pale Moon's GUID is only checked for installation manifests, but internally it's all the Firefox GUID now.

https://forum.palemoon.org/viewtopic.php?f=46&t=28013#p225304 From Moonchild

Vangelis66 commented 2 years ago

TiberiumFusion is right; yesterday the PM forums were down for me (due to new drama that engulfed the PM dev team...), so was not able to research this further, but today I located an earlier Moonchild post:

https://forum.palemoon.org/viewtopic.php?f=46&t=27954

Initially and for a very short period of time, we will still allow the installation of Pale Moon exclusive-identifying extensions using the Pale Moon GUID to aid in the transition of extensions not on our addons site. Please do note that these may still not work properly because they do need adjustment if they were not targeting multiple applications (so they may install but not work).

The application version is and will be the application version. Since there is no longer a distinction between Pale Moon and Firefox in this respect, you will need the appropriate version range.

Effectively for the extensions we support, only our application versions matter. If people are still using Firefox 30, well.... 8-)

So, to correct what was stated in the opening post (that stuff is mine, but I can't edit it here πŸ˜‰ ), "for a very short period of time" it is just "a versioning issue" ... If the initial plan is stuck to, the PM GUID will be dropped for installation purposes in a future PM release, but for PM 30.0.0 & 30.0.1 what should work probably is:

    <em:targetApplication>
      <Description>
      <em:id>{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}</em:id>
      <em:minVersion>28.14.0</em:minVersion>
      <em:maxVersion>30.*</em:maxVersion>
      </Description>
    </em:targetApplication>

When that "very short period of time" expires, what best describes the status then will be:

    <!-- Pale Moon 28.14 - 30.0.x -->
    <em:targetApplication>
      <Description>
      <em:id>{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}</em:id>
      <em:minVersion>28.14.0</em:minVersion>
      <em:maxVersion>30.*</em:maxVersion>
      </Description>
    </em:targetApplication>

    <!-- Pale Moon 30.x.y and higher, Basilisk --> 
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>30.x.y</em:minVersion>
        <em:maxVersion>52.9.2022.*</em:maxVersion>
      </Description>
    </em:targetApplication>

(assumption PM GUID dropped somewhere inside the 30.*.* cycle... )

Nothing is yet cast in stone; Moonchild is even thinking of going back to the "status quo ante" in PM v29.1.1:

https://forum.palemoon.org/viewtopic.php?f=46&t=28013#p225310

However, it -is- an option to revert all this, instead, and go back to what we had prior to 29.2 -- BUT that would still not solve the problem that extensions still need to be maintained and updated.

Vangelis66 commented 2 years ago

@micwoj92

Many thanks for your warmly welcome and much appreciated correction! πŸ‘ I guess I was very tired (in the middle of the night, in my timezone) and/or plainly lazy 😊 the other day to actually check for the availability of (re-instated) public repositories tracking the development of the (new) platform, GRE, and browser, PM, as I was then still under the impression those repos being private (and, as you note, source tarballs only made public with each binary release...).

@rofl0r

Once (but only once) I thought it was prudent to actually "mention" Moonchild with his GitHub username (wolfbeast) concerning a released update of the Gitea software (it's used in MCP's development repos) that addressed a bug I deemed "important", only to be sort of reprimanded that the GH "mention" feature should only be used when absolutely necessary ... Just a FYI πŸ˜‰ . BTW, 30.0.1 is out, nothing is reverted GUID-wise, yet...

Best regards

TiberiumFusion commented 2 years ago

MC updated his forum post that was quoted by Vangelis66.

This one:

However, it -is- an option to revert all this, instead, and go back to what we had prior to 29.2 -- BUT that would still not solve the problem that extensions still need to be maintained and updated.

Edit:

... in fact, it might be the only option since it does look like I'll have to go back to phoebus as an add-ons site software, since phobos (what Tobin was working on for v30) was not complete, was very database heavy, AND we don't have the databases either. We'll have to work with the pieces that were left.

https://forum.palemoon.org/viewtopic.php?f=46&t=28013#p225310

SeaHOH commented 2 years ago

Personally, I prefer to just update the maxVersion of old GUID to 30.*, don't care of FF's GUID ( >= PM 30.1.0).

AroKol78 commented 2 years ago

https://forum.palemoon.org/viewtopic.php?f=46&t=28013#p225377

So, all in all I apologize for under/overshooting (depending on how you look at it) in the course correction and will work on having the GUID stuff reverted in the next development version. All of it, including the add-ons manager indication of PM/FF extension, etc.

https://github.com/JustOff/github-wc-polyfill/blob/082dfd7d85645e71c1e35973f2833c3fbaaf76a7/install.rdf#L20 https://github.com/JustOff/github-wc-polyfill/blob/082dfd7d85645e71c1e35973f2833c3fbaaf76a7/update.xml#L13 so you just need to raise the number from 29 to 30

(various addons use a GUID inside the code to distinguish whether it is PM/FF and use different code e.p. uBo-legacy,PermissionsPlus,...)

SeaHOH commented 2 years ago

So, he gave up this crazy idea.

TiberiumFusion commented 2 years ago

The latest news is that Moonchild has rolled back release 30, and now only 29.4.4 is available from the PM website (with a 29.4.5 update coming soon) while damage control is underway.

Pale Moon 30 rollout cancelled. Following severe issues with the unexpected exit of a core dev and considerable damage caused to our operations, the milestone 30 rollout has been cancelled.

From "Top news" at http://www.palemoon.org/

I'm now left with the difficult decisions to make to weigh short term fixes against big picture development. This will mean a rollback of the milestone and security update to 29.4 as I'm not confident this can be solved immediately on v30 in a satisfactory way.

I'm doing my best to find a proper resolution for this and have halted the rollout for v30 for the moment.

https://forum.palemoon.org/viewtopic.php?f=1&t=28044

After some unknown amount of time, release 30 will return with a 30.1 update.

v30.1 will have the Pale Moon GUID once again (like v29).

https://forum.palemoon.org/viewtopic.php?f=5&t=28047#p225457

I could not find any mention from Moonchild himself about a possible return to the dual-guid system, only speculation from other forum users.

tl;dr Only PM 29.4.4 is available for download, we have users on 29.4.4, we have users on 30.0.x, and 30.1 is coming at some point. Changes are needed in install.rdf to accomodate all of this.

SeaHOH commented 2 years ago

tl;dr Only PM 29.4.4 is available for download, we have users on 29.4.4, we have users on 30.0.x, and 30.1 is coming at some point. Changes are needed in install.rdf to accomodate all of this.

It will be released after NEW milestone 30 of PM.

TiberiumFusion commented 2 years ago

The dust has still not yet settled. Here is the latest on the ever-changing Pale Moon mess.

we'll also be abandoning the v30 major version number for future releases which will be v31 and up, when they are done

From Moonchild. https://forum.palemoon.org/viewtopic.php?f=62&t=28090

At this point I do recommend everyone on v30, problematic or not, to go back to v29.4.*

Moonchild again, same thread. https://forum.palemoon.org/viewtopic.php?f=62&t=28090#p225878 This is nice because MCP has released new PM versions 29.4.5 and 29.4.5.1, so this addon is currently compatible with the latest official PM version.

In summary, PM 30 is officially kaput and the next major release will be v31. It is presumed (but not officially stated as such) that the dual-guid system will be reinstated in v31.