Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | build: Only use vite typings in renderer | Kristóf Marussy | 2021-12-30 |
| | | | | | The rest of the packages aren't buld with vite, so we shouldn't use its typings. | ||
* | build: Use shared packages through modules | Kristóf Marussy | 2021-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 script | Kristóf Marussy | 2021-12-30 |
| | |||
* | refactor: Improve logging | Kristóf Marussy | 2021-12-30 |
| | |||
* | build: Switch to esbuild | Kristóf Marussy | 2021-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" | Kristóf Marussy | 2021-12-29 |
| | | | | This reverts commit 5c38af061348ec604337280009775832edc66270. | ||
* | refactor: Switch back to consola for prettyness | Kristóf Marussy | 2021-12-28 |
| | |||
* | refactor: Simpler logging with loglevel | Kristóf Marussy | 2021-12-28 |
| | |||
* | feat: Add consola logging | Kristóf Marussy | 2021-12-28 |
| | |||
* | build: Disable typechecking for tests | Kristóf Marussy | 2021-12-28 |
| | |||
* | build: Refactor electron-builder config | Kristóf Marussy | 2021-12-28 |
| | |||
* | build: Use version from package.json | Kristóf Marussy | 2021-12-28 |
| | |||
* | build: Simplify type declaration generation | Kristóf Marussy | 2021-12-28 |
| | |||
* | refactor: Functional design for controllers | Kristóf Marussy | 2021-12-28 |
| | |||
* | refactor: Get rid of dependency injector | Kristóf Marussy | 2021-12-28 |
| | |||
* | refactor: Inversion of control with typed-inject | Kristóf Marussy | 2021-12-27 |
| | |||
* | fix: Allow the shared store listener to re-register in dev mode | Kristóf Marussy | 2021-12-27 |
| | | | | | This way the shared store will be able to stay connected even if vite HMR replaces the renderer code. | ||
* | chore: Bump dependency versions | Kristóf Marussy | 2021-12-27 |
| | |||
* | build: Add typescript yarn plugin | Kristóf Marussy | 2021-12-27 |
| | |||
* | build: Test runner configuration per package | Kristóf Marussy | 2021-12-27 |
| | |||
* | refactor: Simplify preload | Kristóf Marussy | 2021-12-27 |
| | | | | Jest mocking keeps the electron interaction testable | ||
* | refactor: Simplify IpcRendererService and its spec | Kristóf Marussy | 2021-12-27 |
| | |||
* | test: Add preload unit tests | Kristóf Marussy | 2021-12-27 |
| | |||
* | refactor: Improve error handling in preload | Kristóf Marussy | 2021-12-26 |
| | |||
* | refactor: Less boilerplate around SophieRenderer | Kristóf Marussy | 2021-12-26 |
| | |||
* | refactor: Rename RootStore to RendererStore | Kristóf Marussy | 2021-12-26 |
| | |||
* | refactor: Make all stores optional | Kristóf Marussy | 2021-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 architecture | Kristóf Marussy | 2021-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 architecture | Kristóf Marussy | 2021-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 format | Kristóf Marussy | 2021-12-26 |
| | |||
* | refactor: Improved config reloading | Kristóf Marussy | 2021-12-26 |
| | | | | | If we watch the containing directory, we can use inotify instead of stat polling. | ||
* | feat: Config persistence | Kristóf Marussy | 2021-12-26 |
| | |||
* | feat: Set nativeTheme theme source on dark mode | Kristóf Marussy | 2021-12-26 |
| | |||
* | refactor: Simplify browserViewBounds handling | Kristóf Marussy | 2021-12-26 |
| | |||
* | feat: Disable main window devtools in production | Kristóf Marussy | 2021-12-25 |
| | |||
* | refactor: Fetch service inject asynchronously | Kristóf Marussy | 2021-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 binary | Kristóf Marussy | 2021-12-25 |
| | | | | Disables some node flags in production and enables cookie encryption. | ||
* | chore: Bump dependency versions | Kristóf Marussy | 2021-12-25 |
| | |||
* | fix: Restore accidentally deleted autoHideMenuBar | Kristóf Marussy | 2021-12-25 |
| | |||
* | feat: Harden window navigation and permissions | Kristóf Marussy | 2021-12-25 |
| | |||
* | refactor: Simplify script injection | Kristóf Marussy | 2021-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 workers | Kristóf Marussy | 2021-12-24 |
| | | | | Not good enough for google, we'll need a different approach. | ||
* | feat: User agent data simulator | Kristóf Marussy | 2021-12-24 |
| | |||
* | fix: Typings in js config files | Kristóf Marussy | 2021-12-24 |
| | |||
* | feat: User-agent reduction | Kristóf Marussy | 2021-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 parallel | Kristóf Marussy | 2021-12-24 |
| | |||
* | feat: Alternative background color workaround | Kristóf Marussy | 2021-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 communication | Kristóf Marussy | 2021-12-24 |
| | |||
* | feat: Set up partition persistence | Kristóf Marussy | 2021-12-23 |
| | |||
* | feat: Set some options in main process | Kristóf Marussy | 2021-12-23 |
| | | | | | * Remove sophie and electron from the user-agent sting whenever possible * Disable MPRIS integration |