firebug / websocket-monitor

Not compatible with Firefox Quantum (57 and newer)
Other
147 stars 18 forks source link

Legacy extension #75

Open jonathanKingston opened 7 years ago

jonathanKingston commented 7 years ago

As this extension is currently using SDK code that will be blocked in 57, will this be workable after 57?

In #69 it was discussed if this would merge with devtools itself however I don't know if that will happen.

CamJN commented 7 years ago

Any word on this?

eliihen commented 7 years ago

To make the conversion to the WebExtension API happen, we need to rewrite the files in the lib directory. Not sure if we need to touch anything in the data directory, but a quick search seems like it is unaffected.

$ grep -rP 'require\("(?!react|\.|redux|reducers|firebug|reps)' lib/ data/
lib/wsm-actor.js:const { Cc, Ci, Cu } = require("chrome");
lib/wsm-actor.js:const Events = require("sdk/event/core");
lib/mqtt-parser.js:}).call(this,require("buffer").Buffer)
lib/mqtt-parser.js:}).call(this,require("buffer").Buffer)
lib/mqtt-parser.js:}).call(this,require("buffer").Buffer)
lib/mqtt-parser.js:}).call(this,require("buffer").Buffer)
lib/mqtt-parser.js:}).call(this,require("buffer").Buffer)
lib/mqtt-parser.js:}).call(this,require("buffer").Buffer)
lib/wsm-toolbox-overlay.js:const options = require("@loader/options");
lib/wsm-toolbox-overlay.js:const { Cu, Ci } = require("chrome");
lib/wsm-toolbox-overlay.js:const { Class } = require("sdk/core/heritage");
lib/wsm-netmonitor-overlay.js:const { Cu, Ci } = require("chrome");
lib/wsm-netmonitor-overlay.js:const { Class } = require("sdk/core/heritage");
lib/wsm-netmonitor-overlay.js:const { loadSheet, removeSheet } = require("sdk/stylesheet/utils");
lib/wsm-panel.js:const options = require("@loader/options");
lib/wsm-panel.js:const { Cc, Cu, Ci } = require("chrome");
lib/wsm-panel.js:const { Class } = require("sdk/core/heritage");
lib/wsm-panel.js:const { Tool } = require("dev/toolbox");
lib/wsm-panel.js:const { defer, resolve, all } = require("sdk/core/promise");
lib/wsm-panel.js:const { prefs }  = require("sdk/simple-prefs");
lib/index.js:let { main, Loader, override } = require("toolkit/loader");
lib/index.js:let options = require("@loader/options");
lib/index.js:let defaultGlobals = override(require("sdk/system/globals"), {
lib/index.js:   "sdk/addon/window": require("sdk/addon/window"),
eliihen commented 7 years ago

Whelp, firebug.sdk, the core dependency of the view layer doesn't work with WebExtensions. Nor can I really see how it could in any reasonable amount of time.

@janodvarko Guess that means websocket-monitor requires a complete ground-up rewrite. Agree?

eliihen commented 7 years ago

I inquired a bit about this, and it does require an extension to the WebExtension API in order to provide the WebSocket Monitor as a WebExtension: https://bugzilla.mozilla.org/show_bug.cgi?id=1373639#c6

Honza played around with this a few months ago, the repo is here: https://github.com/janodvarko/webext-websocket-monitor

rhessinger commented 7 years ago

Any update on this? The new version of Firefox Developer Edition 57+ will not allow this extension.

eliihen commented 7 years ago

Not that I know - @janodvarko has not yet reached out

janodvarko commented 7 years ago

@janodvarko Guess that means websocket-monitor requires a complete ground-up rewrite. Agree?

Yes, complete rewrite needed. I already started with a prototyping here: https://github.com/janodvarko/webext-websocket-monitor To see how to get the backend WS API.

I am planning to work on this more in Q4 2017

Honza

eliihen commented 7 years ago

@janodvarko I would love to help out with the rewrite! I tried to get the prototype running, but was unable to make it work, see https://github.com/janodvarko/webext-websocket-monitor/issues/2

janodvarko commented 7 years ago

Awesome, I'll get back to this ASAP and I'll keep you in the loop!

Honza

Croydon commented 7 years ago

Users are asking about his now since we are past the FF57 release. Any updates?

janodvarko commented 7 years ago

Sorry, no progress so far, might move to Q1 2018

But, the extension has priority and is being on top of our todo list!

Honza

XaviTorello commented 6 years ago

@janodvarko is there any planning to perform the refactor? I would contribute if possible

janodvarko commented 6 years ago

@janodvarko is there any planning to perform the refactor? I would contribute if possible

Excellent, I'll ping you as soon as the work starts on this (probably Q1/2018)

Honza

XaviTorello commented 6 years ago

Perfect, keep in touch about this

TriMoon commented 6 years ago

@janodvarko Sorry, no progress so far, might move to Q1 2018

Any update on the efforts is welcome 😜

luislobo commented 6 years ago

Hi, Is there anything we can do to contribute? Q1 is almost gone.. :alarm_clock:

janodvarko commented 6 years ago

Hi, yes sorry, this needs more time. But, I am already working on documentation (list of requirements) and I'll make sure this thread will be updated when the implementation starts!

Honza

luislobo commented 6 years ago

@janodvarko thank you!

leus commented 6 years ago

Are there any updates on this matter?

janodvarko commented 6 years ago

Update: According to the latest DevTools team planning - work on the rewrite should happen later this year (end of Q3) Honza