servo / servo

Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine
https://servo.org
Mozilla Public License 2.0
27.84k stars 2.98k forks source link

Devtools console will break with Firefox 131 #33275

Open webbeef opened 2 weeks ago

webbeef commented 2 weeks ago

Describe the bug: Because of the changes in https://bugzilla.mozilla.org/show_bug.cgi?id=1912237 we'll have to update the messages we send for the devtools console API (and maybe others).

To Reproduce: Connect Servo to Firefox 131 (currently in Nighly). console.log() messages are not showing up any more.

cc @eerii in case you want to take a look :)

eerii commented 2 weeks ago

Thanks, I'll look into it! :)

sagudev commented 2 weeks ago

It's hard to target moving target. I suggest we target latest ESR Firefox release (like we do in mozjs for SM).

eerii commented 2 weeks ago

It's hard to target moving target. I suggest we target latest ESR Firefox release (like we do in mozjs for SM).

That sounds very reasonable

webbeef commented 2 weeks ago

I think tracking the current release version would be better - this is the one most people are using. The situation with mozjs is a bit different since it's an internal component.

eerii commented 1 week ago

On one hand, it is hard to track a moving target API so using ESR seems good in that way. However, if things start breaking in the stable version of the browser that people use, that would mean that they would have to download another entire browser just to use the tools. But because of packaging differences and preference some users might be using very different versions, so I may be leaning more towards ESR.

Do you have any insight into this @mrobinson @jdm?

sagudev commented 1 week ago

Just to be clear I am not against supporting newer firefox versions, if it does not break last ESR version (can we support both?).

BTW: I daily drive firefox beta.

mrobinson commented 1 week ago

Do you have any insight into this @mrobinson @jdm?

This is a really tricky question. Do you know if the DevTools protocols offers any kind of stability guarantees at all?

sagudev commented 1 week ago

Do you have any insight into this @mrobinson @jdm?

This is a really tricky question. Do you know if the DevTools protocols offers any kind of stability guarantees at all?

Per https://firefox-source-docs.mozilla.org/devtools/release.html#remove-backwards-compatibility-code:

we only support connecting to server 2 versions older than the client

sagudev commented 1 week ago

Although from my search there are many old stuff not yet removed: https://searchfox.org/mozilla-central/search?q=%40backward-compat&path=&case=false&regexp=false

eerii commented 1 week ago

Although from my search there are many old stuff not yet removed

Yes, I came across many old or deprecated things when I was working on it. I suppose the 2 versions is a lower bound but in reality it is usually longer.

webbeef commented 1 week ago

There's a page dedicated to backward compatibility and how they use annotations to remove obsolete code in specific versions:

https://firefox-source-docs.mozilla.org/devtools/backend/backward-compatibility.html#maintaining-backward-compatibility-code