aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* build: Use shared packages through modulesLibravatar Kristóf Marussy2021-12-30
| | | | | | | | | | By running the build for the shared packages only once, errors in them are reported only once in watch mode. We still have to point jest to the original source files (and rebuild the shared source files as part of the test), because it won't load the "module" entry of the shared packages. However, as a benefit, jest can now run even if the shared packages haven't been built yet.
* build: Simplify clean scriptLibravatar Kristóf Marussy2021-12-30
|
* refactor: Improve loggingLibravatar Kristóf Marussy2021-12-30
|
* build: Switch to esbuildLibravatar Kristóf Marussy2021-12-30
| | | | | | | | | | 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).
* Revert "refactor: Switch back to consola for prettyness"Libravatar Kristóf Marussy2021-12-29
| | | | This reverts commit 5c38af061348ec604337280009775832edc66270.
* refactor: Switch back to consola for prettynessLibravatar Kristóf Marussy2021-12-28
|
* refactor: Simpler logging with loglevelLibravatar Kristóf Marussy2021-12-28
|
* feat: Add consola loggingLibravatar Kristóf Marussy2021-12-28
|
* build: Disable typechecking for testsLibravatar Kristóf Marussy2021-12-28
|
* build: Refactor electron-builder configLibravatar Kristóf Marussy2021-12-28
|
* build: Use version from package.jsonLibravatar Kristóf Marussy2021-12-28
|
* build: Simplify type declaration generationLibravatar Kristóf Marussy2021-12-28
|
* refactor: Functional design for controllersLibravatar Kristóf Marussy2021-12-28
|
* refactor: Get rid of dependency injectorLibravatar Kristóf Marussy2021-12-28
|
* refactor: Inversion of control with typed-injectLibravatar Kristóf Marussy2021-12-27
|
* fix: Allow the shared store listener to re-register in dev modeLibravatar Kristóf Marussy2021-12-27
| | | | | This way the shared store will be able to stay connected even if vite HMR replaces the renderer code.
* chore: Bump dependency versionsLibravatar Kristóf Marussy2021-12-27
|
* build: Add typescript yarn pluginLibravatar Kristóf Marussy2021-12-27
|
* build: Test runner configuration per packageLibravatar Kristóf Marussy2021-12-27
|
* refactor: Simplify preloadLibravatar Kristóf Marussy2021-12-27
| | | | Jest mocking keeps the electron interaction testable
* refactor: Simplify IpcRendererService and its specLibravatar Kristóf Marussy2021-12-27
|
* test: Add preload unit testsLibravatar Kristóf Marussy2021-12-27
|
* refactor: Improve error handling in preloadLibravatar Kristóf Marussy2021-12-26
|
* refactor: Less boilerplate around SophieRendererLibravatar Kristóf Marussy2021-12-26
|
* refactor: Rename RootStore to RendererStoreLibravatar Kristóf Marussy2021-12-26
|
* refactor: Make all stores optionalLibravatar Kristóf Marussy2021-12-26
| | | | | | 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.
* refactor: Clarify main process architectureLibravatar Kristóf Marussy2021-12-26
| | | | | | | | * 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)
* refactor: Config persistence architectureLibravatar Kristóf Marussy2021-12-26
| | | | | | | | 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
* feat: Switch to json5 config formatLibravatar Kristóf Marussy2021-12-26
|
* refactor: Improved config reloadingLibravatar Kristóf Marussy2021-12-26
| | | | | If we watch the containing directory, we can use inotify instead of stat polling.
* feat: Config persistenceLibravatar Kristóf Marussy2021-12-26
|
* feat: Set nativeTheme theme source on dark modeLibravatar Kristóf Marussy2021-12-26
|
* refactor: Simplify browserViewBounds handlingLibravatar Kristóf Marussy2021-12-26
|
* feat: Disable main window devtools in productionLibravatar Kristóf Marussy2021-12-25
|
* refactor: Fetch service inject asynchronouslyLibravatar Kristóf Marussy2021-12-25
| | | | | | 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.
* feat: Fuse the electron binaryLibravatar Kristóf Marussy2021-12-25
| | | | Disables some node flags in production and enables cookie encryption.
* chore: Bump dependency versionsLibravatar Kristóf Marussy2021-12-25
|
* fix: Restore accidentally deleted autoHideMenuBarLibravatar Kristóf Marussy2021-12-25
|
* feat: Harden window navigation and permissionsLibravatar Kristóf Marussy2021-12-25
|
* refactor: Simplify script injectionLibravatar Kristóf Marussy2021-12-25
| | | | | | | | | 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.
* feat: Shim userAgentData in all frames and workersLibravatar Kristóf Marussy2021-12-24
| | | | Not good enough for google, we'll need a different approach.
* feat: User agent data simulatorLibravatar Kristóf Marussy2021-12-24
|
* fix: Typings in js config filesLibravatar Kristóf Marussy2021-12-24
|
* feat: User-agent reductionLibravatar Kristóf Marussy2021-12-24
| | | | | Unfortunately, the reduced user-agent doesn't fool the google login form, but at least reduces the amount of leaked information.
* refactor: Load ui and service in parallelLibravatar Kristóf Marussy2021-12-24
|
* feat: Alternative background color workaroundLibravatar Kristóf Marussy2021-12-24
| | | | | | | 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.
* feat: Service to main process communicationLibravatar Kristóf Marussy2021-12-24
|
* feat: Set up partition persistenceLibravatar Kristóf Marussy2021-12-23
|
* feat: Set some options in main processLibravatar Kristóf Marussy2021-12-23
| | | | | * Remove sophie and electron from the user-agent sting whenever possible * Disable MPRIS integration
* feat: Add BrowserView and synchronize its positionLibravatar Kristóf Marussy2021-12-23
|