Commit Graph
596 Commits
Author SHA1 Message Date
Sebastian Malton a52ad35e40 Move initializing ClusterManager into a runable
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-03 08:22:18 -04:00
Sebastian Malton 8f3e851237 Fix kubeconfig-sync sometimes producing multiple identical entities
- This happens when there is an overlapping sync of a folder and a file
  within that folder both producing the same entities

- This also fixes the LED not showing up on some KubernetesCluster
  instances because of this duplication the connected status was being
  set on the first instance, but renderer would use the second (because
  JS's Map constructor deduplicates its constructor initializer by
  taking the last)

- Added some tests to cover this case

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-03 08:21:11 -04:00
Sebastian Malton 4c49134dbc Fix crash on clean startup (#6276)
* Convert ReleaseChannel into an InitializableState

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix init timing for DefaultUpdateChannel

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Make UserStore loading seperate from creation to fix initialization timing errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix overrides of UserStore

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix UserStore tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Move userStoreFileMigration call to the init runnable

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Add global override for userStoreFileMigratiom

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-09-20 08:19:09 +02:00
Sebastian Malton 67ac1692b2 Clean up versioning and packageJson uses (#6196) 2022-09-15 17:20:58 -04:00
Sebastian Malton a784ca70b1 Fix beta->latest->beta upgrade loop (#6189) 2022-09-15 08:02:14 -04:00
ec78080d99 Make opening of release details work properly when release has resources without namespace (#6088)
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2022-09-08 13:57:11 -04:00
fc3512daf2 Introduce a centralised way to emit telemetry from calls of injectable functions (#6164)
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Juho Heikka <juho.heikka@gmail.com>
2022-09-02 09:33:22 -04:00
Lauri Nevala f3ff5117e5 Add Prometheus Helm 14.x metrics provider (#6157) 2022-09-02 08:47:42 -04:00
Lauri Nevala ba49ede36c Reset Prometheus metrics provider on disconnect (#6158) 2022-09-02 08:46:35 -04:00
Sebastian Malton b0d72b78d0 Bump typescript, @typescript-eslint/eslint-plugin, and @typescript-eslint/parser (#6143) 2022-09-01 10:05:32 -04:00
Lauri Nevala cacc92d37a Fix Promethes operator metrics provider detection (#6150) 2022-08-31 11:22:17 -04:00
Lauri Nevala da6b7a5b4b Update metric queries used for Helm installed Prometheus (#6139) 2022-08-30 09:18:38 -04:00
Dominic1DL ac6a5f9b83 Fix IPv6 missing brackets in httpProxy.ServerOptions (#5914) 2022-08-30 08:17:51 -04:00
Sebastian Malton 7767216167 Fix issues when using newer @types/semver (#6132)
- All the removed uses of `includePrerelease` that are removed were not
  actually used within the semver package

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-30 09:46:52 +03:00
Janne Savolainen 81f7bd3c2c Replace jest.mock's with overriding dependencies (#6014)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-08-23 13:04:00 +03:00
Michael Pearson 5249a8ebed Don't error out if we can't find resources from helm in our cluster, and handle "blank" output from kubectl gracefully. (#6039) 2022-08-18 08:21:24 -04:00
Iku-tursoandJanne Savolainen 3e02229920 Make injectables in new "features"-directory auto register to make ADR in #6015 possible (#6034)
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
2022-08-16 15:56:11 +03:00
Janne Savolainen 63d5a34379 Replace static application window with ability to create many (#5979)
* Replace static application window with ability to create as many as you wish

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Adapt tests for replacing static application window with ability to create as many as you wish and separate starting of main and window in behaviours

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make first render of application smaller in test that proves to be hard for CI

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove redundant code

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Simplify code

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-08-16 15:55:42 +03:00
Jari Kolehmainen 36077a9fea Show extension api version (#6038)
* show extension api version in about dialog

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

* move buildVersionInjectable from common to main

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
2022-08-16 15:04:31 +03:00
Janne Savolainen d6ca2c2cd7 Allow reactive tray item labels for extensions (#6036)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-08-16 08:28:07 +03:00
Sebastian Malton 6d37019089 Upgrade to electron@^19 (#5369)
* Upgrade to use electron 19.0.4

- Update documentation

- Updated disturl in .yarnrc to fix build issue

- Remove use of abort-controller package

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Remove support for webview tags

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-12 05:17:06 -07:00
Sebastian Malton edacf3bec6 Fix distribution detector erroneously depending on previous metadata (#6023)
Signed-off-by: Sebastian Malton <sebastian@malton.name>

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-12 09:37:00 +03:00
Janne Savolainen 33834e34b7 Optimize getting injectable paths only once for all test suites (#6013) 2022-08-11 09:42:52 -04:00
Sebastian Malton 09f2919946 Remove usage of deprecated xtermjs's registerLinkMatcher API (#5996)
* Make openBrowser->openLinkInBrowser injectable

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Remove use of deprecated link matcher API from XtermJS

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix type errors

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-08-09 19:25:11 -07:00
Sebastian Malton 5c11d7f7fe Fix completely overriding PATH in shellSync (#5451) 2022-08-09 10:08:56 -04:00
Janne Savolainen 06d780479c Tweak timing of starting and stopping periodical checking for updates (#5981) 2022-08-04 14:21:16 -04:00
Janne Savolainen 04652b4f90 Tweak timing of starting and stopping kubeconfig sync (#5982) 2022-08-04 14:12:33 -04:00
Janne Savolainen af4b74d9bd Open application only if new update is available when using tray to check for updates (#5948)
* Prevent opening of application if no new updates were downloaded when checking for updates using tray when application window is closed

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix getting initial value of sync box

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Tweak naming of variable

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-29 15:55:16 +03:00
Sebastian Malton f61330611e Remove global shared state to fix unit tests (#5889) 2022-07-26 08:55:13 -04:00
Janne Savolainen bedc440d42 Fix opening of release details (#5850)
* Make sure release details are updates when opening details

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Relax filtering of resources to prevent crashing when release has installed resources in another namespace

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add Open Closed Principle compliant way to introduce global overrides without modification in getDiForUnitTesting

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Rework helm release details to fix multiple bugs

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove redundant optional chaining

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Simplify code

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-26 14:57:46 +03:00
Janne Savolainen f281df1693 Fix installation of helm charts (#5841)
* Relax validator for installing charts

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Tweak spacing between words in confirmation dialog

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add mocks for monaco editor and virtualized auto sizer to allow components to be rendered in unit tests

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Improve typing for a function

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove usage of shared global state from a component

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Provide a way to unit test usages of storages

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add way to get current value from select in behavioural unit tests

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Rework installation of helm charts to get rid of the majority of bugs

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Update snapshots

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove technical test for being covered in behaviours

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Split behaviour to smaller pieces

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add tests accidentally removed back

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Mark functions causing side effects

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove behaviour covered by other behaviours

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Tweak naming

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove unused dependency

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-20 08:15:27 +03:00
Sebastian Malton 81c18a6cad Add guards to prevent activation errors slipping through (#5845)
* Add guards to prevent activation errors slipping through

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Make sure all logging has a message, output less errors when prometheus fails

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Improve logging from getPortFromStream

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-07-19 09:05:41 +03:00
Jim Ehrismann 0d2aea0101 removed no longer necessary workaround in resolveAuthProxyUrl() (#5833)
Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>
2022-07-19 08:48:27 +03:00
Janne Savolainen eb6cc70143 Expose a way to reactively control visibility of preference tabs and tray menu items through Extension API (#5789) 2022-07-06 08:51:59 -04:00
Janne Savolainen 5ac33a6070 Prevent re-downloading update that is already downloaded (#5781) 2022-07-06 08:06:59 -04:00
Janne Savolainen 4d99a46dfe Make application window appear even when its hidden underneath other apps (#5782)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-06 09:44:56 +03:00
Janne SavolainenandSebastian Malton 667053cdf5 Replace status bar item application update with different tray icon based on status of the update (#5769)
* Remove the auto-update status bar item for not being needed anymore

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make adding of new tray icons easier by complying to Open Closed Principle

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Start showing different tray icon when checking for updates

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Include placeholder icon for checking for updates

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Simplify code

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add first keyframe for downloading spinner

Signed-off-by: Sebastian Malton <sebastian@malton.name>

Co-authored-by: Sebastian Malton <sebastian@malton.name>
2022-07-05 15:44:03 -07:00
Janne SavolainenandMikko Aspiala 14d5a1c3cc Split root and cluster frames in smaller pieces (#5737)
* Make root frame child components comply with open closed principle and include it in the behavioural unit tests

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make cluster frame child components comply with open closed principle and include it in behavioural unit tests

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove duplication

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Simplify test

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make a component more determistic in unit tests

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Mock uninterested, non-deterministic third party library in unit tests

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Optimize registration of injectables in unit tests to make tests faster

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Update snapshots

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove import time side-effect causing memory leak

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-04 09:38:29 -07:00
Jim EhrismannandJanne Savolainen 3480b517c1 auto-update notifications on the status bar (#5361)
* auto-update notifications on the status bar

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* integrated with new and improved autoupdate code

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* lint

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* refactored to include AutoUpdateComponent in the statusBarItemsInjectable

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* refactor to use a registrator

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* fix lint, remove unused code

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* refactored for the simplified logic for injecting many instances PR

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* using the update syncBox injectables directly for status bar notifications

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* removed update broadcasting/listening, updated snapshots

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* fixing tests

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* fixed tests

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* cleanup after rebase to master

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* address review comments

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* fixed incorrect injectable id

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* address review comments

Signed-off-by: Jim Ehrismann <jehrismann@mirantis.com>

* Tweak code-style

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-01 14:09:00 +03:00
Janne Savolainen 5d76dd4fc2 Stop trying to restart catalog sync and updating of application when reloading window (#5735) 2022-06-29 08:22:08 -04:00
Sebastian Malton a1f79092a5 Remove 'Update Now' notification (#5750) 2022-06-28 12:01:01 -04:00
Alex AndreevandJanne Savolainen 3084b7b8d9 Change update warning level over time (#5445)
* Give an UpdateButton injectables

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* AppUpdateWarning class and injectable

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Rename folder to app-update-warning

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Add appPublishDateInjectable

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Inject ipcRenderer into app-update-warning

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Add setter for downloadedUpdateDate

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Add tests for AppUpdateWarning

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* appPublishDate initial test

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Parsing app release date from the package version

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Introduce appUpdateWarningLevelInjectable

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Fix withInjectables props

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Determine warning from days passed after update available

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Save update available date in session storage

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Move quitAndInstall() to separate function

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Register quit-and-install ipc channel

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Make update function injectable for button

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Update tests

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Set proper timeframes

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Setting global UTC timezone for tests

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Refresh tests

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Testing warning level changes over time

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Remove unused app-publish-date files

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Make linter happy

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Pass quitAndInstallUpdateInjectable to UpdateButton

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Remove updateAppInjectable

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Initial tests for installing update using topbar button

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Refactor AppUpdateWarning class using injectables

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Permit side effects in injectable
periodicalCheckForUpdateWarningInjectable

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Temporarily set noop for UpdateButton update()

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Remove previous implementation files

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Unoverriding topbar injectables

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Render TopBar inside ApplicationBuilder

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Move updateWarningLevelInjectable

to /common subfolders from /main

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Make UpdateButton warning prop observable

by using computed() structure

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Updating snapshots

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Add sync box files allowing to restart & install

update from renderer process

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Add Update button dropdown tests

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Fix jest.advanceTimersByTime usage

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Check for severe warning level

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Linter fixes

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Remove usage of legacy global causing trouble in unit tests

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make update warning level completely reactive and responsibility of a renderer

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove dead code

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove tests that are covered by behaviour

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix restarting and installing update when pressing update button

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Update snapshots

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove dead code

Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Update more snapshots

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove duplication from behavioural unit test

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Reducing too large MenuItems height

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Reduce too large UpdateButton paddings

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Add jest globalSetup into package.json

to fix timezone test

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

* Do not triggering computed value every time it is being used

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-28 16:27:19 +03:00
Iku-tursoandJanne Savolainen 71427da02d Helper to resolve proxy from URL in any environment, or using extension-API (#5690)
* Permit modular directory structures for behaviours in spirit of "Screaming Architecture"

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Implement env-agnostic helper to resolve proxy from URL

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Implement way to resolve a proxy, that is not reliant on existing windows

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Restore reliancy on existing windows for resolving proxy for fears of Electron events misbehaving because of a temp-window used in case no windows are open

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Make resolving a proxy throw if no browser window is available

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Extract minimal abstraction for specifically logging error instead of also warn, info, etc.

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Make decorator for error logging not create orphan promise for easier controllability

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Add error logging to resolving of proxy

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Expose resolving of proxy in extension-API

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Add missing general override

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Add test to add documentation

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Disperse implementation of resolve-proxy back to conventional directory structure instead of an experimental one

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Revert "Permit modular directory structures for behaviours in spirit of "Screaming Architecture""

This reverts commit 75e1231b0e61b74d030d12365352226e7f1ce500.

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Rename a helper for less ambiguity

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Add tsdoc for "resolveSystemProxy" exposed in Extension-API

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
2022-06-22 16:09:24 +03:00
Janne SavolainenandMikko Aspiala fa23b5cd3f Fix download percentages not updating in tray (#5697)
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-22 15:37:13 +03:00
Alex AndreevandJanne Savolainen 0784085bf4 Show extension preferences in separate page (#5284)
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-21 11:11:31 -04:00
Sebastian Malton de43df1cca Fix cluster frame display issue (#5518)
* Fix cluster frame display issue

- Add some defensive code to prevent this sort of infinite loop

- Add some unit tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* fix unit tests

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix build

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Fix lint

Signed-off-by: Sebastian Malton <sebastian@malton.name>

* Factor out injectable for getting of cluster config data

Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-06-20 22:23:15 -04:00
Janne Savolainen f87f5f245c Simplify logic for injecting many instances which can reactively change e.g. based on extension being enabled or disabled (#5662)
* Reorganize stuff to prevent circular dependencies

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Install injectable extension to allow injecting reactively many implementations

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Switch to using computedInjectMany over filtering injectMany based on enabled extensions for simplicity

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove await for not being needed

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Sort dependencies alphabetically

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-20 10:19:20 +03:00
Janne Savolainen d0ed4e46b1 Fix tray bugs (#5666)
* Make unit tests for tray behave correctly when item is disabled

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make multiple separators in tray originating from same extension not throw up

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-17 16:21:18 +03:00
Janne Savolainen 10ba9ef853 Add behaviour for tray menu items originating from extensions (#5609) 2022-06-17 08:07:26 -04:00
Janne Savolainen 5c049ecca0 Improved metrics for updating application (#5607) 2022-06-16 09:05:00 -04:00