Closed Bug 1706216 Opened 5 years ago Closed 5 years ago

Enable Remote Agent in Thunderbird

Categories

(Thunderbird :: Upstream Synchronization, task)

task

Tracking

(thunderbird_esr78 unaffected)

RESOLVED FIXED
90 Branch
Tracking Status
thunderbird_esr78 --- unaffected

People

(Reporter: darktrojan, Assigned: darktrojan)

References

Details

Attachments

(2 files)

Remote Agent will be required for upcoming changes to Marionette.

I want to add that when using the Remote Agent, which implies using the --remote-debugger-port argument, an additional HTTP server will run within Thunderbird. It's needed to accept client connections via HTTP that will immediately be upgraded to a WebSocket connection. To handle that we make use of httpd.js from /network/test/httpserver. As long as we have to support CDP this wont change.

Given that there is only a single Marionette test available I wonder if this is a temporary solution, or if you want to keep Marionette support for Thunderbird. I think that this would be important to know, also regarding our compatibility matrix and necessary work to keep Thunderbird support working.

If we are going with that solution we could make CDP an opt-in and still allow these parts of the code to be disabled by default via the --enable-cdp build time flag that would default to false for Thunderbird. This I would have to do at the same time while working on bug 1700910.

As such please let me know what's the preferred option for you before we actually get review on these patches.

Flags: needinfo?(mkmelin+mozilla)

How are Mochitests going to be affected by all of this?

Oh, right! That's a good point.

WebDriver BiDi will be an opt-in for WebDriver. That means that everything will have to continue to work as is by just using Marionette.

The build time flags on one side are needed so that we can share the common code between Marionette and Bidi under /remote. Parts of that will also be used by the CDP implementation. As such /remote is a better place to host all the modules. And that should be independent if --remote-debugger-port has been specified or not.

On the other side if no CDP and BiDi support is needed in Thunderbird (yet) we might not need the second patch on this bug. Not enabling the Remote Agent would still allow us to use the shared modules via Marionette, and keep the component + HTTP server off. But if that's done I'm not sure in how to get the command line argument not added. It would mean that it is a no-op, which also doesn't sound ideal.

Note that in the future the WebDriver BiDi implementation will replace Marionette, so that clients and consumers have to be updated. But that's not something for this year, but maybe next year for the first steps towards this direction.

I don't think there is much need to hang on to Marionette for Thunderbird.

Flags: needinfo?(mkmelin+mozilla)

(In reply to Magnus Melin [:mkmelin] from comment #6)

I don't think there is much need to hang on to Marionette for Thunderbird.

As Geoff pointed out you will need it for Mochitests so that the necessary extensions can be installed.

Nevertheless if there are no objections we will go ahead as planned. Thanks.

No longer blocks: 1700910
Pushed by geoff@darktrojan.net: https://hg.mozilla.org/integration/autoland/rev/57fa96d8d708 Enable Remote Agent in Thunderbird. r=whimboo,remote-protocol-reviewers,firefox-build-system-reviewers,glandium

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/5b578fe8dc96
Enable Remote Agent command-line flag in Thunderbird. r=mkmelin

Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED

Got a little bit out of sequence here. I'll let PulseBot do the honours when the m-c merge happens.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: --- → 90 Branch
Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: