Open Thomas101 opened 6 years ago
Are you interested in feedback on the working/not working extensions?
Yeah of course! We're still extending our API support so I suspect there will be some failed calls etc in developer tools for the extension and on page. We're keen to plug the gaps where possible!
I'm trying to get Salesforce Inbox to work with Wavebox and running into some issues:
chrome.runtime.onInstalled.addListener
- chrome.runtime.onInstalled is not supported by Wavebox at this time. Adding listeners will have no effectchrome.webRequest.onBeforeRequest.addListener
- does not support the following options in Wavebox at this time. They will be ignoredchrome.webRequest.onBeforeSendHeaders.addListener
- does not support the following options in Wavebox at this time. They will be ignoredchrome.runtime.onConnectExternal.addListener
- Uncaught TypeError: Cannot read property 'addListener' of undefinedThe extension can be downloaded here or in Chrome Web Store
This extension uses the right sidebar in Gmail to display data in Salesforce related the the email you are currently looking at. is that a possibility?
Also, I have my personal email and my work email in wavebox, but only my work email uses Salesforce Inbox. Is there a way to enable an extension for only one Google account and not the other?
Any ideas?
Thanks!
@cachrisman I'll look to see if we can get some of those implemented and working
Successfuly got https://chrome.google.com/webstore/detail/play-midnight-for-google/ljmjmhjkcgfmfdhgplikncgndbdeckci?hl=en-US running with no issues.
The bigger issues come up around anything involving CSP. It seems like loading CRX files straight into Wavebox and sign off on permissions that way, a la Google Chrome, would be ideal. Editing the manifest for CSP items is a headache, even for powerusers - to say the least. I'll see if I can figure out a blanket "do whatever you want" template to add to my tried and true extensions I've used for years.
Unfortunately, without this kind of functionality or alternatively, relying on developer approved third party add ons I don't think I'll be able to commit to having Wavebox be a core pillar of my workflow.
Just to give you a quick update on these. The latest beta (3.10.4) has better support for window opening and the standard CSP configuration that Chrome has. @cbtlr that should mean you don't need the additional CSP config when loading extensions in.
I'll try and take a look at adding some of these and finding out what some of the missing api calls are in the next beta :). Thanks!
Thanks for the follow up Thomas, my trial ran out so I will not be able to put this through the paces but will keep a close eye on this functionality and will likely subscribe when it is up and running. Cheers.
We've added play midnight into the latest release. I think Salesforce fails at the moment as we're missing support for page actions. Scheduled that into the next release cycle
Hi ! Trying to sideload "Actions for Gmail". Extension appears in installed extensions as "Installed from unknown source", no error message, settings page opens but does nothing on Gmail page.
Hi @phileasb. The unknown source
is just a warning that appears because it's not one that Wavebox recognizes. It will still treat it in the same way though.
I suspect there's more info in the page console (accessible via View > Developer > Developer Tools) or background page console (if it uses the background page).
Hi @Thomas101. The problem comes from here, on line 6 :
version=1;
void 0==localStorage.version&&(localStorage.version=0);
localStorage.version<version&&(chrome.tabs.create({
url:chrome.extension.getURL("options.html")
}), localStorage.version=version);
chrome.extension.onRequest.addListener(function(a,b,e){
switch(a.name){
case "reload":reloadGmail()
}
});
chrome.extension.onMessage.addListener(function(a,b,e){
"loadOptions"==a.action&&e({
options:JSON.parse(localStorage.options)
})
});
function reloadGmail(){
chrome.windows.getAll({
populate:!0
},function(a){
for(var b=0,e=a.length;b<e;b++){
for(var d=a[b].tabs,f=null,c=0,g=d.length;c<g;c++)
d[c].url.match("mail.google.com")&&reloadTab(d[c],!0),
d[c].title.match("Actions for Gmail")&&(f=d[c]);
null!=f&&chrome.tabs.remove(f.id)
}
}
)}
function reloadTab(a,b){
chrome.tabs.update(a.id,{
url:a.url,selected:b
},null)
};
Console message :
@phileasb I've patched through a couple of the apis that actions for gmail uses. I managed to just about get it working, although requires a couple of restarts during the setup. We don't implement the chrome.windows.getAll()
call at the moment which means it fails to update open tabs when saving settings. But after a restart it seems to work. The changes will be out in 3.14.6 shortly, so might be worth giving another go then
It's wonderfull @Thomas101 ! You're awesome! I will try on next update.
Annnnnnnd... It Works ! (in 3.14.6) Thanks @Thomas101 for making this dream possible!
Is this issue considered fixed now? Seems like the last comments here apply that everything is good?
Sadly, Gmail seems to have changed it's deleting process in the old and new version (add-on used to work in both versions), making it specific and independent from the classic "check and delete" process that was mimicked by this add-on. So it no longer works. It was to be expected and confirms that Google will track everything that slowes the new version adoption. Even if the new version is not adapted and the "delete on mouse-over" sometime doesn't work... As usual... 😞
@Thomas101: has the
chrome.runtime.onInstalled.addListener(function() {
issue been resolved. I just tried to sideload an extension and this is the error i got...
@RedcoatAsher this hasn't been implemented yet. However, it's just a warning, it accepts the arguments passed in and just logs the failure silently. If the extension doesn't explicitly require this call to fire it should work okay.
Which extension are you trying to sideload? Do you know what it's trying to do with the onInstalled
event, (e.g. is it just showing a "Thanks for installing" window, or something more substantial?)
@Thomas101: The extension was a dark theme for Google Inbox. I am not sure of the other detail; will reply with that info sometime today/tomorrow.
If you're not seeing it work, it's worth checking the console in two places, depending on how the extension works, depends on where logs may come out
Inspect
I'm not quite following your instructions. Does this look correct? (last line) http://pics.pco.bz/2n3W1c3Y1t2E
@Thomas101 Thanks for getting chrome.runtime.onInstalled.addListener
, chrome.webRequest.onBeforeRequest.addListener
, and chrome.webRequest.onBeforeSendHeaders.addListener
implemented.
Any chance we can get chrome.runtime.onConnectExternal.addListener
implemented? The Salesforce Inbox extension I mentioned above needs that to work properly.
Since people have been asking Slack for 4 years for a Dark Theme or Night Mode, I thought I'd try to install Slack++ from the Chrome Store. Following the directions above, it loads! No more eye-searing migraine-inducing white screen in Slack!
It says "Installed from an unknown source", but it works!
@Thomas101 Just trying to figure if I could sideload a plugin and not getting very far. Wondered if you could confirm what Im doing wrong.
Trying to sideload Clickup https://chrome.google.com/webstore/detail/clickup-tasks-screenshots/pliibjocnfmkagafnbkfcimonlnlpghj?hl=en
Created a directory called
/home/tony/.local/share/wavebox/extensions/chrome/pliibjocnfmkagafnbkfcimonlnlpghj
Ive downloaded using the download tool, realised that the download file was in fact a zip with a renamed filetype) and so unzipped.
Looked in the manifest file and it says the version is 1.1.2 with no mention of a revision so ive tried unzipping into a directory called 1.1.2 and also 1.1.2_0 and because it mentioned a manifest_version as 2 Ive also tried 1.1.2_2 and thinking the last .2 might be the revision, have tried 1.1_2 and have gone into the manifest file and added the wavebox_extension_id at the top of the json
{
"wavebox_extension_id" : "pliibjocnfmkagafnbkfcimonlnlpghj",
"update_url": "https://clients2.google.com/service/update2/crx",
"manifest_version": 2,
"name": "__MSG_appName__",
"short_name": "__MSG_appName__",
"description": "__MSG_appDescription__",
"version": "1.1.2",
"icons": {
"16": "assets/icon-16.png",
"48": "assets/icon-48.png",
"128": "assets/icon-128.png"
},
....
and restarted wavebox, gone to the extension setup area and its not being listed. I understand it may well not work but with it not being listed I am assuming I am doing something wrong? TIA.
@tonybyng 1.1.2_0
should do it. Make the sure the extension is extracted in the correct location (i.e. not nested under a folder etc), the app will be trying to look for /home/tony/.local/share/wavebox/extensions/chrome/pliibjocnfmkagafnbkfcimonlnlpghj/1.1.2_0/manifest.json
. Once you've got that in there, you'll need to restart Wavebox for it to find it.
Even if the extension doesn't work it will still list it under the extensions so I'd expect it to be listed.
Thanks for the quick reply. Yep Ive got that path and Ive definitely closed down Wavebox because you get the "Starting Wavebox" splashscreen and I have no processes running with Wavebox mentioned but when I restart and go to the Extensions tab I see my 2 installed extensions of Markdown Here and LastPass and I see 10 available extensions, none of which refer to ClickUp :-(
@tonybyng the manifest specifies...
"background": {
"page": "index.html#/event-page",
"persistent": true
},
...but the #/event-page
hash on the background page isn't supported yet. This falls out a try-catch in the app which causes another exception and it halts the load.
I've patched the try-catch bug our side. You can try changing the page from index.html#/event-page
to index.html
which gets it to load in correctly, but the extension remains pretty unfunctional with our implementation of the api.
If I get a chance before the next release, I'll have a look to see if I can find out why it's not working properly
Hi. Thanks for that. Yep, got it appearing as an extension now but as you say, it does nothing but show a small white window with no content so obviously not going to work without some effort on your part I guess.
In my never-ending quest to make all things Dark Mode, I have successfully installed two Dark Mode chrome extensions that seem to work flawlessly.
Slack++ 1.2.15 (for Slack) Dark Reader 4.6.12-0 (for everything else)
Slack++ just runs in the background and does what it does best, but Dark Reader shows the Extension icon in the upper-right corner and is a per-page Dark Mode solution. You can click it and turn it on and off or adjust any of it's features on a per-tab basis.
Let the world know there's finally universal Dark Mode in Wavebox! ;)
@wishx thanks for trying those out and letting us know. I’ve added them into the store listing so you can install with one click as with the others. Dark Reader is available to all users as its open source, whereas Slack++ is only available on pro as its proprietary. When you get a chance can you drop wavebox support a quick email. Thanks!
@Thomas101 I just tried to install Enpass Password Manager 6.0.0.2-0 and it appears in the upper-right with the other extensions, but it doesn't work. It doesn't even display the name of the extension when rolled-over with the mouse. Also, when you try to make changes in the Options, the window pops up to change things, but they aren't persistent. Upon reopening the window again, the changes haven't been kept.
It's great that we have the LastPass extension, but Enpass would be nice to have as well.
Google Translator Lite 0.2.8-0 doesn't work either. It loads, but when you click on it, it doesn't fully load the extension. An inline translator almost seems like a necessity, especially when your company is in several other countries like the one I work for.
Thanks!
uBlock Origin 1.17.4 loads with Wavebox, but can't fully load or display settings (or load blacklists/whittelists) which ultimately makes it useless, but at least it's partially there, which is a step in the right direction.
I can't make PIA to work https://chrome.google.com/webstore/detail/jplnlifepflhkbkgonidnobkakhmpnmh
@Thomas101 I tried to sideload ZenHub but it throws CORS errors on every page: https://paste2.org/0W2IfVPI Is there anything I can do to help get it working?
I am sideloading the zoom.us scheduling plugin for google calendar. It requires logging into zoom.us. When the pop up for login shows up, it gets a network error. Seems like it is not allowed to contact outside of the current domain
Bitwarden - Free Password Manager 1.37.0-0 loads, but doesn't work. You have to log into the BitWarden account for it to retrieve your passwords and logins, but in Wavebox, it just "spins" meaning it's trying but can't get there.
BitWarden is Open Source, free and portable across all platforms, so it would be nice to be able to use it in Wavebox on all platforms, too!
Is it worth considering a page on Github with details of extensions that are successfully working etc?
Working: Category Tabs for Google Keep™17.2.2
Food for thought: it might be worth dedicating a release just to password manager add-ons. Make sure the top 5 work and release that as it's own update.
@Thomas101 It looks like the first problem to come up when running the Bitwarden extension is that it uses the chrome.idle
api. Is there any chance of exposing that API to extensions?
this.idle = chrome.idle || browser.idle;
In the meantime I submitted a PR to Bitwarden.
@wishx @lots0logs We're busy working on a new extension framework. Bitwarden and a bunch of the other password managers are some of the extensions we've got in for the first run and working to push this out to the beta channel over the next couple of months once we've covered all the edge cases :-) . I don't want to say too much, but here's a little teaser...
@Thomas101 Hoping that the new extensions changes will support clickup. Ive had to stop using wavebox for my gmail because incoming emails need to flagged into clickup and I was spending so much time opening up gmail externally to do things with clickup that I just now use it outside which defeats the object ;-(
please add the WebEx Content Sharing extension!
@tonybyng looks like all the extension rework is paying off - was able to load Clickup without much of an issue. Added to the beta list of extensions to go with the others :)
@Thomas101 you sir are a gentleman. Gimme gimme gimme ;-) More than happy to be a beta tester
I'll post when there's a beta available to try :)
@Thomas101 Any chance ZenHub will be included in the first round when this goes beta?
@lots0logs it will be in the first round :). We're working to get a preview version out to try over the next few weeks :-)
@Thomas101 Just thought I'd ask about clickup again to see if you are any closer and I see 3 weeks ago you were looking to get something in the next couple of weeks. Does this mean it might be imminent ?
@Thomas101 Just thought I'd ask about clickup again to see if you are any closer and I see 3 weeks ago you were looking to get something in the next couple of weeks. Does this mean it might be imminent ?
I know it seems like I said a couple of weeks last time, but we're aiming to have the first cut available in the next two weeks. We are pretty close now :)
We're working on adding some proper developer support for sideloading extensions and getting them working in Wavebox. In the meantime, if anyone is keen to get started, we're happy to help and start the discussion. I've added some basic instructions and docs to help anyone. To sideload your first extension...
Download the extension you want to install and extract it
Open the Wavebox data directory then
extensions
>chrome
Create the folder directory
<extension_id>
/<extension_version>_<revision>
(e.g.abc123/1.2.3_0
(Note these must match what is listed in the extension manifest)Copy the extension content into the folder. It should now look something like this...
Add
wavebox_extension_id
to the manifest.json file. This should be the same as the chrome extension id. E.g.Restart Wavebox
Wavebox also supports some additional fields for customizing the behaviour of extensions. These are documented in this markdown document... extensions.pdf