32 milestone congratulations!

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
User avatar
MoonWalker
Apollo supporter
Apollo supporter
Posts: 30
Joined: 2020-10-13, 15:38

32 milestone congratulations!

Unread post by MoonWalker » 2023-01-25, 01:03

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:

BenFenner
Lunatic
Lunatic
Posts: 437
Joined: 2015-06-01, 12:52
Location: US Southeast

Re: 32 milestone congratulations!

Unread post by BenFenner » 2023-01-25, 01:43

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?

User avatar
Kris_88
Lunatic
Lunatic
Posts: 427
Joined: 2021-01-26, 11:18

Re: 32 milestone congratulations!

Unread post by Kris_88 » 2023-01-25, 03:13

I would also like to congratulate.
It's a big step forward.

User avatar
noellarkin
Apollo supporter
Apollo supporter
Posts: 35
Joined: 2021-07-27, 04:20

Re: 32 milestone congratulations!

Unread post by noellarkin » 2023-01-25, 03:58

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

damjang
Moon lover
Moon lover
Posts: 80
Joined: 2012-01-14, 11:22

Re: 32 milestone congratulations!

Unread post by damjang » 2023-01-25, 23:23

Yes!!! Really thank you :clap: to all for the great work!

Falna
Lunatic
Lunatic
Posts: 489
Joined: 2015-08-23, 17:56
Location: UK / France

Re: 32 milestone congratulations!

Unread post by Falna » 2023-01-26, 00:02

I've also already noticed the difference too. Thanks to all involved!

Forked extensions :
● Add-ons Inspector ● Auto Text Link ● Copy As Plain Text ● Copy Hyperlink Text ● FireFTP button replacement ● gSearch Bar ● Navigation Bar Enhancer ● New Tab Links ● Number Tabs ● Print Preview Button and Keyboard Shortcut 2 ● Scrollbar Search Marker ● Simple Marker ● Tabs To Portfolio ● Update Alert ● Web Developer's Toolbox ● Zap Anything

Hint: If you expect a reply to your PM, allow replies...

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 33323
Joined: 2011-08-28, 17:27
Location: Tranås, SE
Contact:

Re: 32 milestone congratulations!

Unread post by Moonchild » 2023-01-26, 01:02

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.
"The best revenge is to not be like the person who wronged you." -- Marcus Aurelius
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb

BenFenner
Lunatic
Lunatic
Posts: 437
Joined: 2015-06-01, 12:52
Location: US Southeast

Re: 32 milestone congratulations!

Unread post by BenFenner » 2023-01-26, 01:15

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...

linuxrocks123
Hobby Astronomer
Hobby Astronomer
Posts: 25
Joined: 2015-12-14, 07:57
Location: Moon Base Alpha

Re: 32 milestone congratulations!

Unread post by linuxrocks123 » 2023-01-26, 01:45

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!

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 33323
Joined: 2011-08-28, 17:27
Location: Tranås, SE
Contact:

Re: 32 milestone congratulations!

Unread post by Moonchild » 2023-01-26, 10:03

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!
"The best revenge is to not be like the person who wronged you." -- Marcus Aurelius
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb

User avatar
sidology
Apollo supporter
Apollo supporter
Posts: 48
Joined: 2021-12-04, 22:07

Re: 32 milestone congratulations!

Unread post by sidology » 2023-01-26, 22:05

Impressive release. Thank you to everyone involved.

User avatar
andyprough
Lunatic
Lunatic
Posts: 418
Joined: 2020-05-31, 04:33

Re: 32 milestone congratulations!

Unread post by andyprough » 2023-01-26, 22:51

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...

BenFenner
Lunatic
Lunatic
Posts: 437
Joined: 2015-06-01, 12:52
Location: US Southeast

Re: 32 milestone congratulations!

Unread post by BenFenner » 2023-01-27, 15:18

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:

User avatar
UCyborg
Fanatic
Fanatic
Posts: 134
Joined: 2019-01-10, 09:37

Re: 32 milestone congratulations!

Unread post by UCyborg » 2023-01-30, 11:00

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!

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 33323
Joined: 2011-08-28, 17:27
Location: Tranås, SE
Contact:

Re: 32 milestone congratulations!

Unread post by Moonchild » 2023-01-30, 11:24

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.
"The best revenge is to not be like the person who wronged you." -- Marcus Aurelius
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb

User avatar
UCyborg
Fanatic
Fanatic
Posts: 134
Joined: 2019-01-10, 09:37

Re: 32 milestone congratulations!

Unread post by UCyborg » 2023-01-30, 13:43

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.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 33323
Joined: 2011-08-28, 17:27
Location: Tranås, SE
Contact:

Re: 32 milestone congratulations!

Unread post by Moonchild » 2023-01-30, 14:57

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
"The best revenge is to not be like the person who wronged you." -- Marcus Aurelius
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb

User avatar
UCyborg
Fanatic
Fanatic
Posts: 134
Joined: 2019-01-10, 09:37

Re: 32 milestone congratulations!

Unread post by UCyborg » 2023-01-31, 09:56

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/.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 33323
Joined: 2011-08-28, 17:27
Location: Tranås, SE
Contact:

Re: 32 milestone congratulations!

Unread post by Moonchild » 2023-01-31, 10:15

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.
"The best revenge is to not be like the person who wronged you." -- Marcus Aurelius
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb

BenFenner
Lunatic
Lunatic
Posts: 437
Joined: 2015-06-01, 12:52
Location: US Southeast

Re: 32 milestone congratulations!

Unread post by BenFenner » 2023-01-31, 14:16

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

Post Reply