Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | refactor: Switch back to consola for prettyness | 2021-12-28 | ||
| | ||||
* | refactor: Simpler logging with loglevel | 2021-12-28 | ||
| | ||||
* | feat: Add consola logging | 2021-12-28 | ||
| | ||||
* | build: Disable typechecking for tests | 2021-12-28 | ||
| | ||||
* | build: Refactor electron-builder config | 2021-12-28 | ||
| | ||||
* | build: Use version from package.json | 2021-12-28 | ||
| | ||||
* | build: Simplify type declaration generation | 2021-12-28 | ||
| | ||||
* | refactor: Functional design for controllers | 2021-12-28 | ||
| | ||||
* | refactor: Get rid of dependency injector | 2021-12-28 | ||
| | ||||
* | refactor: Inversion of control with typed-inject | 2021-12-27 | ||
| | ||||
* | fix: Allow the shared store listener to re-register in dev mode | 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 | 2021-12-27 | ||
| | ||||
* | build: Add typescript yarn plugin | 2021-12-27 | ||
| | ||||
* | build: Test runner configuration per package | 2021-12-27 | ||
| | ||||
* | refactor: Simplify preload | 2021-12-27 | ||
| | | | | Jest mocking keeps the electron interaction testable | |||
* | refactor: Simplify IpcRendererService and its spec | 2021-12-27 | ||
| | ||||
* | test: Add preload unit tests | 2021-12-27 | ||
| | ||||
* | refactor: Improve error handling in preload | 2021-12-26 | ||
| | ||||
* | refactor: Less boilerplate around SophieRenderer | 2021-12-26 | ||
| | ||||
* | refactor: Rename RootStore to RendererStore | 2021-12-26 | ||
| | ||||
* | refactor: Make all stores optional | 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 | 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 | 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 | 2021-12-26 | ||
| | ||||
* | refactor: Improved config reloading | 2021-12-26 | ||
| | | | | | If we watch the containing directory, we can use inotify instead of stat polling. | |||
* | feat: Config persistence | 2021-12-26 | ||
| | ||||
* | feat: Set nativeTheme theme source on dark mode | 2021-12-26 | ||
| | ||||
* | refactor: Simplify browserViewBounds handling | 2021-12-26 | ||
| | ||||
* | feat: Disable main window devtools in production | 2021-12-25 | ||
| | ||||
* | refactor: Fetch service inject asynchronously | 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 | 2021-12-25 | ||
| | | | | Disables some node flags in production and enables cookie encryption. | |||
* | chore: Bump dependency versions | 2021-12-25 | ||
| | ||||
* | fix: Restore accidentally deleted autoHideMenuBar | 2021-12-25 | ||
| | ||||
* | feat: Harden window navigation and permissions | 2021-12-25 | ||
| | ||||
* | refactor: Simplify script injection | 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 | 2021-12-24 | ||
| | | | | Not good enough for google, we'll need a different approach. | |||
* | feat: User agent data simulator | 2021-12-24 | ||
| | ||||
* | fix: Typings in js config files | 2021-12-24 | ||
| | ||||
* | feat: User-agent reduction | 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 | 2021-12-24 | ||
| | ||||
* | feat: Alternative background color workaround | 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 | 2021-12-24 | ||
| | ||||
* | feat: Set up partition persistence | 2021-12-23 | ||
| | ||||
* | feat: Set some options in main process | 2021-12-23 | ||
| | | | | | * Remove sophie and electron from the user-agent sting whenever possible * Disable MPRIS integration | |||
* | feat: Add BrowserView and synchronize its position | 2021-12-23 | ||
| | ||||
* | build: Enable asar | 2021-12-23 | ||
| | | | | As per electron-builder recommendations | |||
* | docs: Add README | 2021-12-23 | ||
| | ||||
* | chore: Add license headers | 2021-12-23 | ||
| | | | | | Centralizes vite configuration to be able to add license banners to outputs in one place. | |||
* | build: Enable typescript composite mode and clean | 2021-12-23 | ||
| | | | | | | Moves all typings to the dist-types directories from the dist directories so that we can let vite clean the dist directories on build without clobbering the typings generated by tsc. | |||
* | feat: Add react and mobx integration | 2021-12-23 | ||
| |