Page 1 of 2

32 milestone congratulations!

Posted: 2023-01-25, 01:03
by MoonWalker
After update to 32 version, it is very pleasant to find that many sites crashed by incompatibility issues are working again in Pale Moon.

Thank you very much to everyone who keeps PL alive and kicking and going further. :clap:

Re: 32 milestone congratulations!

Posted: 2023-01-25, 01:43
by BenFenner
I'd also like to express my appreciation for all of the work that went into this PM 32 milestone.
No doubt this is a huge step in keeping things working well around here. :thumbup:

I'm curious, was the major version number updated just because of all this cool/good stuff? Or are there breaking changes for some aspect of the system that caused the major version bump?

Re: 32 milestone congratulations!

Posted: 2023-01-25, 03:13
by Kris_88
I would also like to congratulate.
It's a big step forward.

Re: 32 milestone congratulations!

Posted: 2023-01-25, 03:58
by noellarkin
YES!
So many of those sites that I had given up on because of RegExp capture issues are working again!
Thank you, MoonChild, Martok, Job Bautista and FranklinDM and everyone else who made this happen. I'm really going to enjoy uninstalling Chromium today lol

Re: 32 milestone congratulations!

Posted: 2023-01-25, 23:23
by damjang
Yes!!! Really thank you :clap: to all for the great work!

Re: 32 milestone congratulations!

Posted: 2023-01-26, 00:02
by Falna
I've also already noticed the difference too. Thanks to all involved!

Re: 32 milestone congratulations!

Posted: 2023-01-26, 01:02
by Moonchild
BenFenner wrote:
2023-01-25, 01:43
I'm curious, was the major version number updated just because of all this cool/good stuff? Or are there breaking changes for some aspect of the system that caused the major version bump?
The major version bump was because this was a milestone in the most direct meaning of the word. Trying to get Google Regex extensions into the browser has been a long struggle and we've tried several different approaches which all had to be binned, so finally getting it to work with massive web compatibility improvements as a result was a milestone achievement. That by itself would already have warranted it. Combine it with the other major feature improvements mentioned in the release notes and there was no way I could not make this a milestone release with the appropriate major version number bump.
There were no major breaking changes in the platform this time around, but... that's not a requirement for a milestone.

Re: 32 milestone congratulations!

Posted: 2023-01-26, 01:15
by BenFenner
Moonchild wrote:
2023-01-26, 01:02
There were no major breaking changes in the platform this time around, but... that's not a requirement for a milestone.
Understood.

So if I'm a theme developer (for example) or anyone else who targets Pale Moon with an extension or similar, it there any way to avoid the busy work associated with a milestone release regarding major version number bumps that won't be expected to break anything? Should I not be targeting any major version number at all to avoid this? Is there some way to avoid the churn? I assume you're following me here...

Re: 32 milestone congratulations!

Posted: 2023-01-26, 01:45
by linuxrocks123
A BIG THANK YOU from me to Moonchild and the rest of the Pale Moon development team! Discord works again. SLACK works again. The improvements to web compatibility with this release are truly awesome.

As far as I can tell, the only remaining websites I frequent which still don't work correctly are spectrum.net and fidelity.com. These remaining failures are both due to the JavaScript import keyword. I'm crossing my fingers that perhaps that issue may be crossed off of the todo list soon :)

This is an amazing release and I truly appreciate the dedication that went into it. For me as a Pale Moon user, it's been dark days recently, but the light at the end of the tunnel just got a whole heck of a lot brighter with this release. Thank you so much!

Re: 32 milestone congratulations!

Posted: 2023-01-26, 10:03
by Moonchild
Off-topic:
BenFenner wrote:
2023-01-26, 01:15
I assume you're following me here...
Yes I already fully understood this was going to be a complaint about themes and strict compat extensions becoming incompatible, based on your recent posts on the forum, and that I would somehow have to "defend" my decision to make a new milestone in light of that, instead of making it a regular update.

In short: no, there is no way to avoid the "churn" unless you claim to have a crystal ball, knowing way in advance that the next milestone will not have breaking changes. If you can be that clairvoyant, then you can set the compatibility scope (min/maxVersion) accordingly, but you'll likely run into resistance from the addons team doing so for obvious reasons of milestones breaking upon update if there is no compatibility that was claimed ahead of time.

Now, just let it be, thanks.
That aside, I appreciate the thanks and vote of support from everyone. I'm grateful myself that we're finally seeming to be entering more of a time where there is the intended collaborative effort for development and literally everyone involved deserves to be equally praised. You guys/gals rock!

Re: 32 milestone congratulations!

Posted: 2023-01-26, 22:05
by sidology
Impressive release. Thank you to everyone involved.

Re: 32 milestone congratulations!

Posted: 2023-01-26, 22:51
by andyprough
I'm running Pale Moon and Librewolf side-by-side today and it's hard for me to tell the difference, except that Pale Moon works on a few more sites that Librewolf won't load because of the wonky way that Librewolf deals with OCSP.

Linkedin even works correctly, which is weird, Linkedin has had broken functions on Pale Moon for a couple of years if I recall. And I can comment on odysee.com videos, if I want to waste my time arguing with 19-year-old incels on odysee.

This is interesting...

Re: 32 milestone congratulations!

Posted: 2023-01-27, 15:18
by BenFenner
Off-topic:
Moonchild wrote:
2023-01-26, 10:03
Yes I already fully understood this was going to be a complaint about themes and strict compat extensions becoming incompatible, based on your recent posts on the forum, and that I would somehow have to "defend" my decision to make a new milestone in light of that, instead of making it a regular update.
No defense needed. I knew you'd take it this way, but I had no clue how to word it otherwise for you to not feel defensive.
It's your project, and you seem to be aware you'd be creating churn and did it anyway. As long as you are aware of the factors at play, me disagreeing with the decision is moot. Giving more weight to other factors is your prerogative. I made the post just in case you were forgetting these factors, to bring them to your attention if they were not. It seems they were, so again, no defense needed.

Also, of course if you have a suggestion for developers of themes and strict-compat extensions for these situations, I'm sure that information would be welcome. But maybe there is not much they can do, as you said..

HelpScout introduced look-back RegEx across their entire site a few weeks back, ruining the use of their site for me. I told them yesterday they could close my support ticket, as it's all working again. Thank you again to the individuals involved here that made this happen. It is a happy day. :thumbup:

Re: 32 milestone congratulations!

Posted: 2023-01-30, 11:00
by UCyborg
noellarkin wrote:
2023-01-25, 03:58
I'm really going to enjoy uninstalling Chromium today lol
Not so fast!

I have 2 apps at my workplace, one has been using similar syntax for almost a year, if not more. The following code is from workplace's Nextcloud instance (most recent breakage), updated to 25.0.3:

Code: Select all

class Lc {
	bus;
	constructor(t) {
		"function" == typeof t.getVersion && Rc()(t.getVersion())
			? kc()(t.getVersion()) !== kc()(this.getVersion()) && Nc.warn("Proxying an event bus of version " + t.getVersion() + " with " + this.getVersion())
			: Nc.warn("Proxying an event bus with an unknown or invalid version"),
			(this.bus = t);
	}
	getVersion() {
		return "3.0.2";
	}
	subscribe(t, e) {
		this.bus.subscribe(t, e);
	}
	unsubscribe(t, e) {
		this.bus.unsubscribe(t, e);
	}
	emit(t, e) {
		this.bus.emit(t, e);
	}
}
I found 4 files with incompatible syntax, I ran the code snippets through Babel and added rules to Palefill extension to do search and replace of incompatible code, but can't figure out how to fix CSS to make scrolling work. It's practically the same issue as Google Drive without CSS fixes.

Apparently the source code is here, though I didn't spot the exact files in the tree.

Other than that, happy about seeing progress, a big thank you for all involved, don't know how you manage it, I did some small bits of coding in the past and it's nerve-racking!

Re: 32 milestone congratulations!

Posted: 2023-01-30, 11:24
by Moonchild
As long as large groups of devs keep piling on more and more onto the already obscene JS specs, there will continue to be interop issues. It's just the way it is, especially if those devs have free reign to implement anything they want and specs are written to describe them afterward.

The code you posted tries to use class properties, a C++-ism they're writing into JS.
It is actually unnecessary to do what they do because they try to define "bus;" as such, but already have a constructor and are setting "this.bus" in it which makes actually for a double definition of the property. Just setting it in the constructor is compatible with UXP and Chrome. the only reason for properties to be defined "bare" is so you don't need a constructor method... if you have both then it's redundant.

Re: 32 milestone congratulations!

Posted: 2023-01-30, 13:43
by UCyborg
As, so this one is quite banal. If you don't mind just one more question, how would you rewrite this one (results in "bad method definition" error)?

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static

Does this example complicate things further?

Code: Select all

class FruitTypes {
    constructor(name) {
        this.name = name;
    }

    static Berry = new FruitTypes("Berry");
    static Melon = new FruitTypes("Melon");
    static Apple = new FruitTypes("Apple");
}
Wondering if Babel always complicates the code more than it would have to be or maybe it can be fine-tuned.

Re: 32 milestone congratulations!

Posted: 2023-01-30, 14:57
by Moonchild
That code looks wrong, anyway. Calling instantiation of class objects inside of the class itself...?
UCyborg wrote:
2023-01-30, 13:43
how would you rewrite this one
The clue is in the article itself you linked to:
Public static features are declared using the static keyword. They are added to the class constructor at the time of class evaluation using the [[DefineOwnProperty]] semantic (which is essentially Object.defineProperty()). They are accessed again from the class constructor.
https://developer.mozilla.org/en-US/doc ... neProperty

Re: 32 milestone congratulations!

Posted: 2023-01-31, 09:56
by UCyborg
I see...yeah, Babel also essentially converted those to calls to Object.defineProperty.

I wonder if more attention was paid to compatibility with Pale Moon if it was listed on sites such as https://caniuse.com/.

Re: 32 milestone congratulations!

Posted: 2023-01-31, 10:15
by Moonchild
UCyborg wrote:
2023-01-31, 09:56
I wonder if more attention was paid to compatibility with Pale Moon if it was listed on sites such as https://caniuse.com/.
It would help a lot for web developers, but that would require them to acknowledge Pale Moon as an actual engine fork. And for some reason nobody in the "popular" segment wants that.

Re: 32 milestone congratulations!

Posted: 2023-01-31, 14:16
by BenFenner
UCyborg wrote:
2023-01-31, 09:56
I wonder if more attention was paid to compatibility with Pale Moon if it was listed on sites such as https://caniuse.com/.
Make a stink in their GitHub.

https://github.com/Fyrd/caniuse/issues/2129
https://github.com/Fyrd/caniuse/issues/6439