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

I hope your burnout detector is still running very well. If you take time off, do it with a feeling of great accomplishment please!

I am impressed by the work you’re doing besides your daily work. (and very glad you are writing about it)

7 Likes

I have one tiny suggestion for the blog. Always thought it was problem with esr78, but even on desktop some lines don’t fit in the code blocks (or maybe they do in 4k?), I would suggest changing pre’s white-space to ‘break-spaces’ in bokeh.css, seems to preserve the rest of formatting while also wrapping the super long ones (at least on desktop, not sure how to test on phone). Thanks a ton for the daily read!

3 Likes

Thanks for suggesting this @throwaway69, it’s a nice idea. I try to break lines at 80 characters in all the preformatted blocks, but that’s still way too wide on smaller displays.

After making this change I’m a bit concerned that things may look a bit messy, but let’s see how it goes.

3 Likes

Thank you so much for this work flypig :slight_smile:

1 Like

Yeah, I might’ve not thought that through, in portrait this could extend all code blocks by quite a bit if it ends up applying to each row (or most)… I’ll try to find a way to test some options on-device
Edit: maybe keeping the previous option as was and just adding: overflow-x: auto, overflow-y: hidden; will do the trick, this generates scrollbar for boxes that have long lines without extending them unnecessarily

3 Likes

@flypig Congratulations! I’ll celebrate with you today!
please think about if there is anything we can help you with on the next stages :slight_smile:

8 Likes

To illustrate the process:

(created with bing&dall-e with “A pig with wings dressed as a doctor fixing the limb of a gecko with a bandage on a surgery table. Comic style”)
… Did i specify pig without legs…?

31 Likes

One heart is not enugh!

:heart: :orange_heart: :yellow_heart: :green_heart: :blue_heart: :purple_heart:

I hope the mascot inspires @flypig to even higher and loftier achievements!

4 Likes

Oh wow, I agree with @ohnonot, this deserves waaay more than just the one heart I’m allowed to give! I think I’m going to have to print this out to put on my wall :grin: Thank you @thigg, this is so great!

As for the offer to help, Stage 2 has some parallel pieces so I’m going to put some issues up on the sailfish-browser git repo this week. It would be wonderful if others are able to get involved with them.

22 Likes

I jumped out of my chair from excitement when I saw you got the browser to run and load pages! Keep up the good work, I love reading through your daily posts (but make sure you don’t overdo it please!)

6 Likes

While the shorthand to enable C++17 doesn’t seem to work, you can still use QMAKE_CXXFLAGS += -std=c++17.

3 Likes

And I love the feedback; thank you! I appreciate the advice too, which I really buy into. It’s just been small steps every day, no pressure, keeping it manageable.

Is this in relation to the moc being unhappy about non-nested namespaces from C++17? Does using QMAKE_CXXFLAGS += -std=c++17 work around (fix) this particular issue? Either way you make a good point (if I’m understanding correctly) that most C++17 code seems to be just fine.

1 Like

Yes. Sorry for mobile-initiated brevity.
Well, i just trusted and agreed with your judgement in it looking like C++17-related. No further digging was done. (And this works for me to ebable it).

1 Like

You could also try to hide this header from moc by something like

#ifndef Q_MOC_RUN
#include <mozilla/modern stuff>
#endif

https://doc.qt.io/qt-5/moc.html

This could save you one patch against gecko

3 Likes

I just read the day five-oh of the gecko blog. Congratulations for reaching one more milestone for the project - and a big one! (As as developer, I recently managed to finally push some parts of my project to production, so I know the amount of excitement first hand!)

But now it’s late Friday, so let’s just enjoy the weekend! :grin:

2 Likes

I find myself hoping for some build instructions (or at least an outline thereof) so i can try to take a stab at some of the issues. Blind chickens, enough eyeballs and all that.

So i’m guessing it goes something like this:

  • Set a sfdk task and build some dependency packages
  • VooDoo
  • Just build it™
1 Like

Wow time really does fly. I haven’t posted in this topic before, but I have been following the updates. Thank you @flypig for taking on this massive task. It’s great to see you finally getting past all of the compiler errors and getting something running! Let’s hope there will be a beta to try soon :smiley:

I think the goal has been (as of diary entry 52) to get all the tickets in github cleaned up, set up a milestone and get the obs builds running. That way the systematic approach is also one that documents in the tag / task queue: Issues · sailfishos/sailfish-browser · GitHub milestones: esr91 Milestone · GitHub

I think once obs is there, it becomes a lot less guessing. Or one just carefully reads all 52 blog entries :slight_smile:

1 Like

True… OBS for the dependencies should be helpful - and eventually we’ll want it for everything.
But i don’t see it as a substitute for building Gecko itself locally while developing.

True, if I wasn’t such a coward I’d distill the last 52 diary entries to a neat how-to including the rust tool chain. Or, I’ll go drink bleach to see if it cures disease :slight_smile: