Open hyiltiz opened 2 years ago
Hey there. TBH I don't have a roadmap for FF. I would like to support it and don't even think its that much work but being on Chrome and Edge (+ Brave, Vivaldi etc) I have many more pressing enhancements. There's a document here: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities that talks about incompatibilities. On skimming it I don't see any showstoppers but in these cases you often don't know what you'll find until you try!
LMK if you give it a try!
I do wanna give it a try if you can point me to a "Makefile" that creates a binary I can try to import into Firefox. We can take it from there to see if there are dependencies, interface incompatibilities etc.
Hi Hörmet. There is no Makefile or similar in BrainTool. The process for submitting to the Chrome and Edge store is just to zip up the /extensions folder. During development you can 'Load Unpacked' to load a local extension from the file system. It seems like something similar can be done in FF, see the Installing section here. If you load a local version of /versions/0.9.8/extension you should be running the latest version of the extension in your browser talking to the braintool.org site to run the 0.9.8 topic manager code.
I tried it just now and the extension launches but it doesn't look like the content script (which runs inside the topic manager) is injected, or maybe it throws an error. The topic manager just hangs. I don't see errors in the extension itself and can't find how to open the content script in the debugger.
Hopefully this gets you out of the starting blocks. LMK if I can help further. BTW about 60 lines into background.js you'll see an array of 'Handlers' followed by the onMessage listener function. These pretty much define the contract that the background process needs to implement.
I'm trying to run it with Firefox
The first time I click the BrainTool icon, I get a startup message:
There are two parts to BrainTool:
- The Topic Manager where you manage your topics and control the browser.
- The Saver where you save pages into your topic tree.
The second time however it tries to connect to localhost:8000 and fails. Do I have to start a server before running the extension?
Also I get the following error, hopefully it's related to the previous issue:
[firefox/index.js][debug] Firefox stderr: JavaScript error: moz-extension://2b6d2f98-608f-4acd-ad09-5f89dec95a71/background.js, line 180: TypeError: chrome.windows.onBoundsChanged is undefined
The top level /app and /extension directories are where I do development, they assume localhost. If you run a version from under /versions it will connect to the corresponding version on braintool.org (which is just a redirect to the github repo). So to run the latest live version run from versions/0.9.9
I doubt the error is related. My guess is that FF does not support the windows.onboundsChanged event. I use it to remember the position of the Topic Manager window if its moved. it's not core functionality so you could probably comment it out.
Good luck!
On Sat, Apr 30, 2022 at 2:38 PM lytex @.***> wrote:
I'm trying to run it with Firefox
The first time I click the BrainTool icon, I get a startup message:
There are two parts to BrainTool:
- The Topic Manager where you manage your topics and control the browser.
- The Saver where you save pages into your topic tree.
The second time however it tries to connect to localhost:8000 and fails. Do I have to start a server before running the extension?
Also I get the following error, hopefully it's related to the previous issue:
[firefox/index.js][debug] Firefox stderr: JavaScript error: moz-extension://2b6d2f98-608f-4acd-ad09-5f89dec95a71/background.js, line 180: TypeError: chrome.windows.onBoundsChanged is undefined
— Reply to this email directly, view it on GitHub https://github.com/tconfrey/BrainTool/issues/16#issuecomment-1114034393, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJGK6O4DOITMW54ORVDGODVHV4ZRANCNFSM5NDZ24WA . You are receiving this because you commented.Message ID: @.***>
@tconfrey I'd also like to help out. I took a look around, but I don't see a project.json. How do you pull in external dependencies? Something like https://github.com/mozilla/webextension-polyfill would be perfect to help handle cross-browser compatibility, but I don't see a natural way to bring it in.
What are the necessary steps if someone is interested in porting it to Firefox? Now that Firefox addons are also using WebExtentions, maybe it is much less an effort (compared to the XUL era)?