- 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>
* 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>
- 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>