This took some doing, but fixed the service removal thanks to ES6
Promises and a lot of detective work.
Also removed Auth0, and replaced it with a human-readable JSON
exporter/importer that works in the same way.
Just make the checkboxes uneditable until after the service is
actually created. I consider this a bad usability issue, but
am having trouble getting ExtJS to allow any access to the
necessary information while a service is being created.
commit.
NOTE: If you query window.setTimeout for timer granularity, or
EventTarget.prototype.addEventListener for passive listeners,
for a particular ap in the dev console and it says 'native code',
it's disabled.
The upstream build script was running a full npm install instead of
taking advantage of electron-builder. This should prevent unnecessary
package recalculation for both regular node packages and recompilation
of native dependencies.
rimraf was in normal dependencies, but without squirrel can live in
devDependencies instead.
This should decently speed up all forms of package building.
it and none of the apps should be using plugins.
If I'm wrong, let me know. Eg, I can call using Hangouts/GMail without
it.
Mobile webview support requires browser plugins to be disabled anyway.
We now default to passive event listeners on all services,
as well as 100ms minimum granularity on setTimeout.
This is because many of the web-wrapped services constantly fire
totally unnecessary repaint events as fast as they can,
as well as actively listening for mouse events which also cause
unnecessary reflow.
On my machine, this cuts the CPU usage by ~70% while not affecting
the usability of any services.
There's a user-toggle available there. There's not a per-service
option for the ServiceList because it shouldn't affect anything
except in truly abnormal cases. If there needs to be one, we can add
it.
Also go back to isolation between js_unread and custom_js as a result.
This counts as a FLAG DAY. js_unread NOT being used for badge updates
needs to be moved to custom_js.
If you don't want the host website to be able to access your
functions and variables, use block-scoped declarations such as 'let'
and 'const' instead of 'var'.
We've completely overhauled badge updates by introducing
a callable function which should cover the standard case.
We also allow separate custom JS and JS just for badge updates.
We also make the service editing box taller by default.
We fix the logging for injected stuff to actually remain accurate.
And replace each js_unread in each service with modernized version.
We allow for separate custom badge updates and custom JS to
avoid doing unnecessary title event hooking allow overrides in a
sensible order.
Also remove Yahoo messenger service, as it was shutdown earlier in
July.