Flypig's gecko dev diary

Thanks all; I appreciate all your kind words. I felt lousy for a few days but I’m over the worst of it now. I hope you’re all having a virus-free winter!

15 Likes

Sigh, we had a two week ‘Covid grounds the whole family’ episode that has also just cleared this week. And it won’t stop raining!

3 Likes

Hi! I just read the following on the diary:

There’s a silver lining though, in the form of the kind words I received from Thigg, Valorsoguerriero97 , poetaster and (privately) throwaway69 via the Sailfish Forum. Thank you! It really helps motivate me to continue onwards. And it amazes me that you have the stamina to keep up with these posts!

So I want to say, @flypig, they are not the only ones, don’t underestimate how many people are thrilled by your work! :smiley: Even if I/we stay silent, I read all the posts (some of them diagonally though, those gdb outputs and stacktraces are sometimes too complex, especially on mobile :sweat_smile:), and I’m sure I’m not the only one!
It’s so impressive how you manage to make those big progresses on such a complex project and write this clean and detailed summary in parallel, all of that on your free time! :astonished:

Your work + the Jolla reborn announcement are really exciting, thank you for that!! :raised_hands:
We are eager to see the next steps, but don’t burn yourself, the journey is as pleasant as the end result :slightly_smiling_face:
Happy holidays! :christmas_tree:

19 Likes

All I can say is that I’m thrilled you continue to read. I know they don’t make the easiest of reading, which makes it all the more fulfilling to hear that you do!

Happy Holidays to you too :christmas_tree: :gift:

24 Likes

Hello @flypig, a merry Christmas to you. Also to all the other followers of your daily Pentagon.
I really like reading your stories in the morning. I wouldn’t know where to start with the different layers of code you’re diving into, but it reads like an adventure.
So on one hand: please keep them coming. And on the other: I’m wishing you to reach the final day of this work SOON!

7 Likes

Hello flypig,
I just read this morning’s post where you solved the pdf printing (hurray!) I remarked to my wife about the digging into this long, long list of threads: where to start?
After some more explanation she yells: “Who wants hidden browser tabs?”
And in fact, couldn’t these be misused at some point?
Kind regards, Rob

3 Likes

You have a very smart wife :smiley: I think she’s quite right that there are risks here. I’m fairly certain that at the moment the only way to create one of these hidden tabs is by setting the hidden flag deep inside the C++ code, and right now this only happens for windows with the isForPrinting flag set like this:

  const bool isForPrinting = aOpenWindowInfo->GetIsForPrinting();

  mChild->CreateWindow(parentID, reinterpret_cast<uintptr_t>
      (parentBrowsingContext.get()), aChromeFlags, isForPrinting,
      &createdID, aCancel);

That’s an internal flag that external JavaScript has no control over, so the only situation in which one will be created is for printing. But you (your wife) has raised a good point and I’ll dig a bit more into it in an upcoming post. I should check whether it’s really the case that nothing else can create these hidden windows. Thanks for the helpful input @rob_kouw!

10 Likes

Todays blog strikes home really close. My work produces such testing challenges at times and man do I feel your frustration, when it takes forever to find the culprit. It will show itself in the end, I’m sure of it!

4 Likes

Hi,
I am one of those who read your gecko dev diary. I have one idea on the blank page. For me this happens on amazon Germany’s product detail pages. The workaround which works on ESR78 is to unlock orientation (I always lock it to portrait) and flip the phone from portrait mode to landscape mode.

10 Likes

I can confirm having the same experience on Amazon.

5 Likes

Me too, Xperia 10iii on latest “vanilla” sfos (no patches or anything fancy).

1 Like

Reading your last post I was wondering if Firefox remote debugging could somehow get to work with sailfish-browser? Unfortunately my attempts (via about:config) failed so far. But maybe someone else knows some more tricks?

user_pref("devtools.chrome.enabled", true);
user_pref("devtools.debugger.remote-enabled", true);
user_pref("devtools.debugger.prompt-connection", false);

and then some sources claim you need to add --start-debugger-server and a port (this would obviously need to be implemented for sfos-browser…)

and finally you could connect using about:debugging from desktop to debug what’s happening on the phone.

9 Likes

Thanks for all of the super-useful feedback. I’ve commented on both the Amazon issue and remote debugging in the blog, although I’ve not yet done them justice, but will return to them. This is all really useful input.

10 Likes

Finally remembering to post thoughts i have accumulated after the last weeks of following the blog:
Have you tried with a wildly different User Agent override for DucDuckGo, like iPhone or something?
The hanging parallel compile - could that be related to some syscall that gets used in synchronization, but which is stubbed in sb2?

6 Likes

The syscall sounds like a very plausible reason; llvm is very picky w/r to them…the problem being that pinpointing the syscall will not be too straightforward…I had a similar issue back in the days when compiling llvm for the x86_64 target,
and finding the correct spot took alot of effort and tracing…perhaps the best would be to see if theres a test suite for sb2 to be run on the aarch64 arch and take it from there. Though I recall sb2 was not too easy to work with…shrughs

1 Like

@flypig can we get a build of the browser somewhere to collect sites that are not working? Maybe it helps to find other pages.

3 Likes

I wonder if Firefox ESR 91 and Firefox ESR 78 behave the same way with DuckDuckGo as Browser does…

2 Likes

Can’t wait to see this improved browser :smile: just hearing esr91 feels good

1 Like

I tried to run them a few weeks ago but failed.
Maybe the easiest thing would be to simply replace the binary…

someone already tried that?

1 Like

I think the suggestion of having a build that people can use to find problem sites is a great idea. Unfortunately it’s quite intrusive as there’s no way to install it alongside the default browser.

I can’t think of a cleaner way than replacing all of these packages:

sailfish-browser
sailfish-browser-settings
embedlite-components-qt5
qtmozembed-qt5
xulrunner-qt5

If anyone is up for giving it a go I could put together some instructions. But I absolutely wouldn’t recommend doing this on a daily device I’m afraid.

5 Likes