Gecko esr91 work (former "Flypig's gecko dev diary")

Thanks for all the kind words and encouragement. I just want to emphasise how many people have helped with this; just over the last few days @mal, @direc85 and @Keto have been doing amazing work getting the build to pass across all platforms.

To try to answer your question @ohnonot, I’m afraid @attah is correct. This is one-off work that’s needed to incorporate upstream changes. Someone will have to go through the same process for ESR 102 and then ESR 115. You might ask why not go straight to ESR 115? That’s because the changes are cumulative, so received wisdom is that it’s more effective to step through each upgrade rather than try to take on a task that’s too big.

If we’re able to catch up with Firefox latest, there’s a possibility of changing approach to try to track upstream changes and maybe even upstream some changes that could make things easier for us. But ultimately it comes down to the fact that Firefox is a moving target that’s always being improved and updated, which in the context of the Web is a good thing.

I’d add that there are also other approaches to getting a browser working on Sailfish OS, but personally I like to think the effort is worth it for retaining not just the Gecko engine, but also the Sailfish look-and-feel.

12 Likes

I’m just frustrated by the lack of motivation for the question. With an answer already given; and no logical reason why any other uplift would be different, i do disagree about the validity.

Huh?
I’m sure everyone would be over the moon with joy if this was a one-time-only effort.

1 Like

Maybe, after the upgrade, it may be “easy” to follow each of Firefox’s update? Minor updates are always much simpler…

1 Like

Bumping the version “only” from one ESR to the next is easier for sure, compared to going straight to the newest ESR, but it is still a rather massive task - as flypig’s blog has revealed.

5 Likes

I think people miss the part that it is also helping future development, once you have esr99 working getting to 100 is much easier as half if not more of the hurdles are already conquered, so while it might seem bad to not aim for the moon it does actually help future developments (and having finally well documented process of even getting into compiling stage is totally underappreciated, looking at you camera2 api ‘development’ with people not even knowing where/how to start and a lot of hurrah going into the dust)
Edit: and that’s not aimed at anybody btw, just example where ‘wanting to help’ is just not enough as it also requires skill/knowledge and frustrated ‘i give up it’s all jolla’s fault’ is kind of a …, with docs where to even start we should be able to avoid that

2 Likes

You are right that there are areas of large investments to have the skill required. But the more people show how they work the greater chance someone can follow along.

(btw, I’m looking at camera viewport going to the screen through multiple layers of software and I’m like: voodoo!)

3 Likes

I’m not sure i follow. 99 isn’t and ESR version, and of course lifting one version will be easier than the 10+ in-between ESRs. Though somewhere there must be a trade-off where the pure mechanics take more time than can be gained from the simplicity doing a small uplift.

Beyond the documented process, i don’t see how one particular uplift helps future ones though.
It is a moving target, so it is not like it ever gets done.

But catching up fully could mean that you can put the mechanics of tracking in some CI system, and occasional contributors like myself could drop by and help with the minor conflicts.

2 Likes

That’s a month+(even weekends) manhours effort, and 99% will be useful in the next uplift to next esr, go ahead and compile the latest straight away not borrowing from this work, oh

Of course anyone would want to base an uplift to ESR 102 on this.
But that doesn’t make the work of moving from 91 to 102 any smaller, which it sounds like you(plural) are somehow implying or wishing for.

Reading this, i wondered if there is a way to get firefox running without embedlite? I guess there is just no usable ui for the phone except the android one?

Should be… though you still need to do the dependency part of the work.
And indeed you’d be left with no usable UI.

78->102 was reduced by a hugeton of manhours and compilation hours too, again noone is stopping you from porting latest and greatest straight away, you’ll maybe contribute to this effort by retracing the same path, v90 vs v100 is not a whole new compiler chain diff, so you can again take up your valiant effort in couple months and give up on it sharing nothing with community, a real wasted time

I have not disputed this even in the slightest.

I have never suggested this a better path in any way shape or form.

Please stop pinning things on me which i never said.

Then how exactly are you saving effort skipping porting intermediate esr releases? Why not jump at latest?

Let me just be clear that this too has nothing to do with what i said.

You are not saving time. Given an infinitely capable developer you are really wasting time.
But given actual humans, you have to limit the amount of changes you try to adapt to in one go to be able to pull it off.

Single versions is too much overhead; latest is a too big change… ESRs happen to exist at a decent pace/spacing.

All i am saying is:

Because, how could it?

So how does Firefox work with postmarketOS?

1 Like

Where is the trade-off, you’re suggsting 78->current will have negative trade-off, based on what???

Other compositors support modern wayland protocols. It’s just a mobile theme but otherwise stock firefox with GTK frontend. This might definitely be an alternative approach for sailfish as well. Only :tm: problem is that gecko is also used inside sailfish-email

2 Likes

And webview… 20 chars

gecko is also used inside sailfish-email

That reminds me @flypig, have you happened to test viewing an HTML email or opening a webview? I know, it is too early to think about those seriously, but on the other hand, it would be interesting to just try and see what happens - now that it actually is able to render content.

2 Likes