| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We will build all packages except the frontend (where vite remains in
use) with esbuild.
For some reason, the @yarnpkg/esbuild-plugin-pnp doesn't allow esbuild
to load esm modules and we fall back to commonjs for dependencies.
Hence we had to switch back to node_modules (but still rely on yarn
hardlinking for a more efficient install).
|
|
|
|
| |
This reverts commit 5c38af061348ec604337280009775832edc66270.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This way the shared store will be able to stay connected even if vite
HMR replaces the renderer code.
|
| |
|
| |
|
| |
|
|
|
|
| |
Jest mocking keeps the electron interaction testable
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This reduces boilerplate and helps with config file robustness: if a
field is missing from the config file, it will be replaced with its
default value.
|
|
|
|
|
|
|
|
| |
* stores: reactive data structures to hold application state
* controllers: subscribe to store changes and call store actions in
response to external events from services
* services: integrate with the nodejs and electron environment (should
be mocked for unit testing)
|
|
|
|
|
|
|
|
| |
The architecture in the main process is split into 3 main parts:
* services: interfaces for services are injected into the stores through
the MainEnv interface (for testability)
* services/impl: electron-specific implementations of services
* stores: the actions of the stores can invoke (asynchronous) services
|
| |
|
|
|
|
|
| |
If we watch the containing directory, we can use inotify instead of stat
polling.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Since we don't plan to shim any APIs that must be present immediately
when the service loads, we might as well switch to asynchronous IPC for
fetching the script to inject into the main world.
|
|
|
|
| |
Disables some node flags in production and enables cookie encryption.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Inject CSS and main world scripts synchronously to avoid race conditions
with page loading.
Don't try to miming userAgentData for now, since it won't bypass
google's checks. However, simply omitting chrome from the user agent
does bypass them, at least for now.
|
|
|
|
| |
Not good enough for google, we'll need a different approach.
|
| |
|
| |
|
|
|
|
|
| |
Unfortunately, the reduced user-agent doesn't fool the google login
form, but at least reduces the amount of leaked information.
|
| |
|
|
|
|
|
|
|
| |
Let's try injecting CSS to set the background color of html to
white (instead of transparent) into the loaded pages. The CSS is
injected before the website's own styles load, so they should always
have the lowest priority.
|
| |
|
| |
|
|
|
|
|
| |
* Remove sophie and electron from the user-agent sting whenever possible
* Disable MPRIS integration
|
| |
|
|
|
|
| |
As per electron-builder recommendations
|