aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Update all Yarn dependencies (2022-02-28)depfu/batch_all/yarn/2022-02-28Libravatar Depfu Bot2022-02-28
|
* chore(deps): Bump dependenciesLibravatar Kristóf Marussy2022-02-24
| | | | Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* fix: Cosmetic fixesLibravatar Kristóf Marussy2022-02-14
| | | | | | | | | * Update the browser view size more quickly (negligible CPU usage overhead) * Style the body element by default instead of the html element for better compatibility with website CSS. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* feat: Load and switch servicesLibravatar Kristóf Marussy2022-02-14
| | | | Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* feat: Unread message badgesLibravatar Kristóf Marussy2022-02-08
|
* feat: Save selected service to fileLibravatar Kristóf Marussy2022-02-08
| | | | | | | Sophie start off from the service that was selected when it was last open. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* test: Add tests for main window hardeningLibravatar Kristóf Marussy2022-02-08
| | | | | | | We try to stub/mock the Electron API to make sure the test environment is as close to the runtime environment for this security critical code. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Add test-utils packageLibravatar Kristóf Marussy2022-02-08
| | | | | | | | | | Added as a common devDependency, this lets us handle test utility code from one place. For now, the main reason for its existence is the workaround code for importing jest-each from ESM. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* refactor: Extract main window hardeningLibravatar Kristóf Marussy2022-02-08
| | | | | | | This code is security critical, so it should be properly extracted to enable testing. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* refactor: Extract resource path managementLibravatar Kristóf Marussy2022-02-08
| | | | | | | Lets us access absolute paths and URLs without directly calling node APIs. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* chore: Annotate shared packages for purityLibravatar Kristóf Marussy2022-02-08
| | | | | | | Enabled better tree shaking and smaller bundle sizes by excluding mobx-state-tree and zod dependencies whenever possible. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* refactor: Extract config handlingLibravatar Kristóf Marussy2022-02-08
| | | | | | | Move the handling of the contents of the config file out of the stores and into dedicated files to simplify the code of the stores. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* refactor: Coding conventionsLibravatar Kristóf Marussy2022-02-08
| | | | | | | | | Make sure that files have a default import with the same name as the file whenever possible to reduce surprise. Also shuffles around some file names for better legibility. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* refactor: Apply shared store patches in batchesLibravatar Kristóf Marussy2022-02-08
| | | | | | Makes sure that the renderer always sees a consistent state. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* refactor: Store services in a mapLibravatar Kristóf Marussy2022-02-08
| | | | | | | Makes the synchronization of references across the main/renderer process boundary more robust. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* refactor: Move runtime state into shared modelsLibravatar Kristóf Marussy2022-02-08
| | | | | | | | | | | Now the runtime state lives inside the model (instead of being associated to the static settings via a map), which simplifies state management. Static settings are now located inside the runtime models, so we must create tests to make sure that the settings are being persisted correctly. The contents of the config file are now generated as a view of store (instead of a snapshot), which adds flexibility. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* feat: Add selected service field to SharedStoreLibravatar Kristóf Marussy2022-02-08
| | | | | | Lets the main process see which service is currently selected. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* refactor: Rename main services to infrastructureLibravatar Kristóf Marussy2022-02-08
| | | | | | | | Makes it clear that we are talking about wrappers for nodejs and electron functionality, and not the services being displayed by the application. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* feat: Add RuntimeService storeLibravatar Kristóf Marussy2022-02-08
| | | | | | | Stores transient state for services shared between the main and renderer processes. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* fix: Do not access localStorage in service-preloadLibravatar Kristóf Marussy2022-02-08
| | | | | | | | | | | | loglevel wants to persist the current log level in localStorage, which apparently crashes the network service. We'll need to find another way to log in service preload scripts. The main window preload scripts seems unaffected, even though we use loglevel (and hence localStorage) in both the preload and the renderer script. Maybe related: https://github.com/electron/electron/issues/31689 Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* feat: Service switcher buttonsLibravatar Kristóf Marussy2022-02-08
| | | | | | Currently, they do nothing. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* fix: Make sure the BrowserView has integer coordsLibravatar Kristóf Marussy2022-02-08
| | | | | | | Non-integer coordinates make electron throw the error and the reaction to synchronize the BrowserView position fail. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* feat: Source mapping for stacktraces in dev modeLibravatar Kristóf Marussy2022-02-08
| | | | | | We have to cheat again and use require() to lazy load a dev dependency. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* feat: Rewrite the config if new details are addedLibravatar Kristóf Marussy2022-02-08
| | | | | | | If we generate a new ID or a new profile, it should be added to the config file immediately. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* feat: Add Profile and Service storesLibravatar Kristóf Marussy2022-02-08
| | | | | | | | | | In the main process, it is optional to specify the ID of a Profile or a Service. The missing ID will be filled in with a randomly generated one. Moreover, services without a profile will get a profile generated with the same name. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* chore(deps): update electron to version 17.0.0Libravatar Depfu Bot2022-02-08
|
* chore(deps): update all of typescript-eslint to version 5.11.0Libravatar Depfu Bot2022-02-08
|
* chore(deps): update eslint to version 8.8.0Libravatar Depfu Bot2022-02-04
|
* chore(deps): update @fontsource/roboto to version 4.5.2Libravatar Depfu Bot2022-02-03
|
* chore: Bump dependenciesLibravatar Kristóf Marussy2022-01-27
|
* chore(deps): update @mui/icons-material to version 5.3.1Libravatar Depfu Bot2022-01-25
|
* chore(deps): update chokidar to version 3.5.3Libravatar Depfu Bot2022-01-25
|
* Upgrade npm modulesLibravatar Vijay A2022-01-12
| | | | Signed-off-by: Vijay A <vraravam@users.noreply.github.com>
* Upgrade 'electron' to '16.0.7'Libravatar Vijay A2022-01-12
|
* ci: Export test and coverage reportLibravatar Kristóf Marussy2022-01-10
|
* build: Add pre-commit hookLibravatar Kristóf Marussy2022-01-10
| | | | | | Run lint and tests on source files changes. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Add eslint-plugin-securityLibravatar Kristóf Marussy2022-01-10
| | | | | | This would run as part of gitlab SAST (if it didn't time out). Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Add eslint-plugin-promiseLibravatar Kristóf Marussy2022-01-09
| | | | Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Add eslint-plugin-unicornLibravatar Kristóf Marussy2022-01-09
| | | | Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Add eslint-plugin-jestLibravatar Kristóf Marussy2022-01-09
| | | | Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Add prettierLibravatar Kristóf Marussy2022-01-09
| | | | | | | eslint will also enforce prettier rules, so there is no need to call prettier separately in CI. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* build: Disable single-run eslint-typescriptLibravatar Kristóf Marussy2022-01-09
| | | | | | | | | See https://github.com/typescript-eslint/typescript-eslint/issues/3851 Also upgrades dependencies and simplifies eslint config (used during debugging this issue to eliminate other possible sources of errors.) Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* Update docsLibravatar Vijay A2022-01-09
| | | | Signed-off-by: Vijay A <vraravam@users.noreply.github.com>
* build: Eslint fixes for multi-module projectLibravatar Kristóf Marussy2022-01-09
| | | | Signed-off-by: Kristóf Marussy <kristof@marussy.com>
* New configurations based on review comments (WIP)Libravatar Vijay A2022-01-09
| | | | Signed-off-by: Vijay A <vraravam@users.noreply.github.com>
* Incorporate 'eslint' (fixes #3)Libravatar Vijay A2022-01-09
| | | | Signed-off-by: Vijay A <vraravam@users.noreply.github.com>
* Upgrade npm modulesLibravatar Vijay A2022-01-09
| | | | Signed-off-by: Vijay A <vraravam@users.noreply.github.com>
* Upgrade 'electron' to '16.0.6'Libravatar Vijay A2022-01-04
|
* Basic CI pipeline using Gitlab CILibravatar Vijay A2022-01-03
| | | | Signed-off-by: Vijay A <vraravam@users.noreply.github.com>
* chore: Add .yarn/sdks to .gitignoreLibravatar Kristóf Marussy2022-01-02
| | | | | | | | | | | | According to https://yarnpkg.com/getting-started/qa/#which-files-should-be-gitignored it is optional to keep the editor SDKs in the repository. Let's not keep them here so that every contributor can set up whatever SDKs they require. See https://yarnpkg.com/getting-started/editor-sdks/ for more info on yarn editor SDKs. Note that we're currently not using yarn PnP package resolution, so most editors should work without any SDKs configured.