Commit Graph
100 Commits
Author SHA1 Message Date
Janne SavolainenandMikko Aspiala 738985c9b7 fix: Make application size not blow up by consolidating dependencies in core package to peerDependencies
"dependencies" are going to be added in the app.asar, which means that e.g. "electron" gets added.

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

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-25 15:42:53 +03:00
Janne SavolainenandMikko Aspiala e8491ca2d3 fix: Kludge cluster settings not opening when extension introduces new settings without ID when title contains spaces
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-10 15:01:20 +03:00
Janne Savolainen 9c7be39eb1 fix: Bring back search filters for pods which were accidentally removed previously
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-10 14:21:20 +03:00
Janne Savolainen f2cb51884f chore: Adapt unit tests for more strict API parsing
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-10 09:39:01 +03:00
Janne SavolainenandMikko Aspiala ce31715cfd chore: Remove dead code in API parsing
apiPrefix is always at least "/", making the removed code unreachable.

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

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-10 09:39:01 +03:00
Janne SavolainenandMikko Aspiala bb400ae667 fix: Add test as repro, and fix bug about kube API details not opening
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-10 09:39:01 +03:00
Janne Savolainen 5c22432b5b chore: Update package-lock after rebase
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen 7cbbcdbab7 chore: Consolidate more packages to use shared build script
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen 6b130c3291 chore: Consolidate more ogre-tools versions
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen dcb6e5cb80 chore: Add linkable as dev dependency to root package json to make sure dependency is hoisted to root level
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen 2204a4f18d chore: Consolidate more packages to use shared build script
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne SavolainenandMikko Aspiala 65f04b6e38 chore: Fix code style
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen 11ab79b568 chore: Update eslint-config -packages
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen 79baa41fc1 chore: Add pushing linkables to packages that do not use reusable build script
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen 7e66181be5 feat: Make pushing linkables happen automatically when using re-usable build script
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen 355ff3296a chore: Disable coverage check for webpack package being not interesting
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen 39cd31a726 chore: Consolidate ogre-tools versions
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen ba151da513 chore: Switch to using utility function from different library
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-05-03 09:31:24 +03:00
Janne Savolainen 2debe61359 fix: Make importing styles not break the builds (#7550)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-04-14 09:06:58 +03:00
Janne Savolainen 7dc0ce7192 Make webpack respect dependencies vs peerDependencies when deciding dependency is external (#7545)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-04-13 16:01:43 +03:00
Janne Savolainen a3716baaf0 Stop file system watchers on application quit to prevent exit code !== 0 (#7504)
* fix: Dispose the kubeconfig watcher when application quits

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

* fix: Dispose the extension watcher when application quits

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-04-05 13:35:13 -04:00
Janne Savolainen f4cb1d3ff4 Introduce Feature for Keyboard Shortcuts (#7442)
* Introduce feature for assigning keyboard shortcuts

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

* Enable keyboard shortcuts automatically instead of requiring explicit listener to be used in the application

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

* Start using keyboard shortcuts feature

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

* Update package-lock after rebase

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

* Tweak scripts for a package

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

* Introduce modifier for ctrl or command based on platform in use

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-04-03 08:23:42 -04:00
Janne SavolainenandMikko Aspiala b5e564271e Extract React Application as a Feature (#7441)
* Fix webpack config for react

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

* Introduce package for discovering html elements in unit tests

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

* Switch to using discovery of html elements from package

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

* Introduce competition for starting react application inside the Feature

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

* Move stuff in application start to earlier timeslot having no real need to be done so late

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

* Switch to using react application root feature being more friendly to extending

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

* Switch to using more familiar pattern of higher order components for wrapping react application

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

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

* Adapt to more familiar pattern for higher order components

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

* Rename feature for clarity

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-31 11:57:20 +03:00
Janne Savolainen 1deb988339 Update webstorm configs (#7415)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-27 12:55:15 +03:00
Janne SavolainenandMikko Aspiala 0f1f030a06 Switch to using messaging and startable stoppable from NPM package (#7368)
* Add custom jest resolver to fix requiring "uuid" module

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

* Update dependencies

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

* Introduce test utils for rendering and running with thrown mobx reactions

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

* Extract startable-stoppable to NPM package

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

* Extract messaging to NPM package

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

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

* Switch to using startable-stoppable from NPM package

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

* Switch to using messaging from the Feature

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

* Remove old implementation of messaging

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

* Make setupping app paths happen earlier in renderer

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

* Fix typo

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

* Add kludge to make testing-library work properly from test-utils package

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

* Fix code style

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

* Add lint:fix -root script

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

* Fix unrelated failing unit tests

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

* Turn of no-floating-promises from typescript linting for being broken

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

* Make linting not happen for dist -directories

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

* Make linting failures appear as failure

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

* Stop running prettier twice

It already gets ran as eslint-plugin.

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

* Make CI run unit tests for all packages by consolidating name of NPM script

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

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

* Add missing unit tests for coverage

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

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

* Skip coverage for test utils

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

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

* Remove check for coverage in packages which are not ready for it

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

* Stop collecting coverage from index.ts files them being indirections to the implementation

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

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

* Implement sending message to channel in main

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

* Add missing feature dependencies

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

* Add dummy implementations for requesting in main from renderer

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

* Re-enable communicating from main to cluster frames

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

* Ignore trivial files from coverage

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

* Update package-lock

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

* Extract message-bridge to separate NPM package to prevent dev dependencies being in the production bundle

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

* Extract computed channel to own NPM package for clear dependencies

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

* Consolidate electron related stuff to a directory

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

* Add missing publish configurations

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

* Ignore test implementation from coverage being not interesting

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-21 11:38:43 +02:00
Janne Savolainen a5928d09cd Fix update button being visible when download for update fails (#7336)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-10 08:34:43 -05:00
Janne SavolainenandMikko Aspiala 699fc0309e Introduce eslint and prettier for features and start using it (#7306)
* Introduce package for sharing eslint and prettier configurations

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

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

* Start using eslint and prettier in packages

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

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-10 12:25:04 +02:00
Janne Savolainen 443620a6a4 Update link in README (#7314)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-08 15:45:50 -05:00
Janne Savolainen a29e45875f Fix typo in name of environment (#7318)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-08 08:04:38 -05:00
Janne SavolainenandMikko Aspiala 0d480917cf Simplify test setup by removing option for global overrides (#7302)
* Remove option to doGeneralOverrides and do it always

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

* Override telemetry by default to optimize and simplify testing

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

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

* Simplify more usages of getDiForUnitTesting

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

* Fix code style

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-07 12:23:57 -05:00
Janne Savolainen 129565f08a Switch to using start application from Feature (#7260)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-06 10:40:04 +02:00
Janne Savolainen a9bd5ae7e2 Extract agnostic and electron-main ways of starting application to separate packages (#7259)
* Introduce an agnostic way to start application is the Feature

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

* Introduce directory for application-packages

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

* Remove non agnostic timeslots from agnostic application

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

* Introduce empty package for electron main specific stuff for Application Feature

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

* Introduce electron-main specific timeslots

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

* Update injectable version

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

* Update README

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

* Tweak export names to make them easier to import

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

* Make starting of application synchronous for Electron main

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

* Tweak versions in package jsons

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

* Consolidate name of feature file

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-06 10:17:24 +02:00
Janne Savolainen 03fe2bf274 Add publish configuration to package (#7261)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-02 15:54:33 +02:00
Janne SavolainenandIku-turso 9d5461dd81 Make builds of TS-declarations more deterministic (#7248)
The cause for this was unknown, and was fixed by using "fork-ts-checker-webpack-plugin" instead of
"ts-loader".

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Iku-turso <mikko.aspiala@gmail.com>
2023-03-01 13:39:03 +02:00
Janne Savolainen c174965708 Introduce package for Features (#7242)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-28 08:37:07 -05:00
Janne Savolainen 003dc44681 Upgrade and adapt to new version of libraries in ogre-tools (#7241)
* Update injectable version

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

* Adapt to new version of ogre-tools

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

* Fix "lint:fix" -command in core

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-27 14:27:36 -05:00
Janne Savolainen 898b9039da Add publish configuration to packages that are public (#7221)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-23 13:41:19 +02:00
Janne Savolainen a7181047d5 Fix windows not being able to build new Feature packages (#7220)
* Add missing dev script

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

* Inline all shared scripts to make them work in all environments

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

* Switch to using deterministic fake for path.join in unit test

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

* Make multi export config for webpack not fail when used in windows

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-23 10:54:35 +02:00
Janne Savolainen 688336647d Extract injection token for application information to separate NPM package (#7211)
* Introduce dummy package for application

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

* Introduce application information token in application Feature

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

* Switch to using applicationInformationToken from application feature

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-22 11:58:05 -05:00
Janne Savolainen b5e2deffc2 Fix command line argument not being passed to lerna (#7210)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-22 14:13:13 +02:00
Janne Savolainen c09c7125e5 Add package for sharing webpack configurations for upcoming Features (#7199)
* Add package for shared webpack configurations for Lens applications, Features and libraries

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

* Remove duplication from gitignores

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-22 12:28:07 +02:00
Janne Savolainen 73230c8659 Add package for sharing jest configuration for upcoming Features (#7198)
* Add package for shared jest configurations for Lens applications, Features and libraries.

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

* Add root level script for running unit tests in monorepo mindset

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

* Ignore coverage files from VCS

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-22 11:19:16 +02:00
Janne Savolainen 07f3410eb6 Add package for shared typescript configurations for Lens applications, Features and libraries. (#7197)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-21 09:26:05 +02:00
a0fb46c3e6 Switch to using NPM workspaces (#7115)
* Switch to using npm over yarn

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

* Remove reference to `yarn` from documentation

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

* Enable NPM workspaces

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

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

* Introduce script for installing all dependencies

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

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

* Remove usage of lerna bootstrap for no longer being used

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

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

* Fix build by not bundling libraries for application in node environment (main) as Electron does that

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

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

* Tweak evil static import paths in build of application

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

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

* Consolidate npmrc configs to root since required by workspaces

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

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

* Make application build not fail for not detecting electron version

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

* Update package-lock

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

* Make sure native dependencies are rebuilt for electron

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

* Remove unused binary for causing trouble when installing dependencies

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

* Update package-lock

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

* Disable caching in CI for Windows

Installing Electron in Windows seems to be broken in this regards.

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

---------

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Sebastian Malton <sebastian@malton.name>
Co-authored-by: Sebastian Malton <sebastian@malton.name>
2023-02-20 12:48:18 +02:00
Janne Savolainen 4bf72742fd Fix configuration shown release details being stale (#7174)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-16 07:49:43 -05:00
Janne Savolainen fbb37c6717 Fix extension installation by not removing the package.json (#7161)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-15 05:16:58 -08:00
Janne Savolainen 8156936b82 Allow main to message to cluster frames (#6835)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-12-28 08:18:58 +02:00
Janne Savolainen 055a13d4a9 Add eslint support for package.json exports (#6639)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-11-24 08:46:40 -05:00
Janne Savolainen 892b105a6b Add missing gutter between sections in cluster settings (#6631)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-11-23 12:16:46 +03: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
Janne SavolainenandMikko Aspiala 94629954a3 Prevent massed remounting of dock tabs when dock height changes (#6104)
* Update injectable to make withInjectables have authentic React reconciliation

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

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

* Make some dock tabs have primitive props to have them React reconcile properly

Currently tab objects that are stored in a storage change reference on every change of dock height, making them less usable as React prop for causing involuntary remounting.

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

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

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-08-25 08:56:09 -04: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
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
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
Janne Savolainen 33834e34b7 Optimize getting injectable paths only once for all test suites (#6013) 2022-08-11 09:42:52 -04:00
Janne Savolainen ef12676b89 Update injectable for improved performance (#6011)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-08-11 09:47:11 +03:00
Janne Savolainen 688ef40e92 Fix incorrect links in workload overview page (#6002)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-08-08 12:26:48 -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 83232440dc Replace individual mocks for withTooltip with global mock (#5962) 2022-08-02 10:06:37 -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
Janne Savolainen d78d009d41 release v6.0.0 (#5935)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-28 14:42:14 +03:00
Janne Savolainen da1f975ccc release v6.0.0-alpha.1 (#5933)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-28 10:18:02 +03:00
Janne Savolainen e682c7de45 Fix editing of kube resource (#5906) 2022-07-27 11:44:11 -04:00
Janne Savolainen a12b94405a Resolve kube object status texts again on re-render to make it look like it's reactive (#5875)
* Make tests for kube object status icon more realistic

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

* Start resolving kube object status texts on each re-render to mimic reactivity

Note: This is done due the current implementation exposed in Extension API expects it to work so. However, this is bad.

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

* Switch to using existing implementation for isDefined

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-27 09:21:38 +03: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
Janne Savolainen d66e6c23c5 Expose reactive ways to hide items in cluster frame using Extension API - PART 7 (#5824)
* Kludge "isEnabledForCluster" work again for cluster pages

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

* Kludge "isEnabledForCluster" work again for kube object details

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

* Expose reactive way to hide kube object detail items in Extension API

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

* Expose reactive way to hide kube object menu items in Extension API

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

* Expose reactive way to hide kube object status items in Extension API

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

* Expose reactive way to hide workload overview detail items in Extension API

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

* Expose reactive way to disable pages in Extension API

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

* Expose a way to access active cluster from Extension API

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

* Deprecate "isEnabledForCluster" in favor of individual enabled or visible properties for each registration

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-13 13:47:03 -04:00
Janne Savolainen ca40c51117 Introduce kludge to make "isEnabledForCluster" work again for cluster pages PART 1 (#5800)
* Kludge "isEnabledForCluster" work again for cluster pages

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

* Introduce kludge to make "isEnabledForCluster" work again for cluster page menus  PART 2 (#5801)

* Kludge "isEnabledForCluster" work again for cluster page menus (sidebar items)

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

* Introduce kludge to make "isEnabledForCluster" work again for kube object status texts PART 3 (#5802)

* Kludge "isEnabledForCluster" work again for kube object status texts

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

* Kludge "isEnabledForCluster" work again for kube object menu items (#5803)

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

* Introduce kludge to make "isEnabledForCluster" work again for workload overview details PART 5 (#5804)

* Kludge "isEnabledForCluster" work again for cluster page menus (sidebar items)

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

* Kludge "isEnabledForCluster" work again for kube object status texts

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

* Kludge "isEnabledForCluster" work again for kube object menu items

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

* Kludge "isEnabledForCluster" work again for workload overview details

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

* Kludge "isEnabledForCluster" work again for kube object details (#5805)

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-13 08:36:51 +03:00
Janne Savolainen 63bd783803 Add global override for component observing current time for causing … (#5814) 2022-07-08 12:54:23 -04:00
Janne Savolainen c53aa77775 Update snapshots after merging something (#5815)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-08 15:20:10 +03:00
Janne Savolainen b16a419287 Fix menu actions not opening in multiple places (#5799) 2022-07-07 09:23:24 -04:00
Janne Savolainen 6e5c8e0427 Force update after thirty days since update was downloaded (#5776) 2022-07-06 09:48:00 -04: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
Janne Savolainen 5f57213179 Fix stuff happening based on timers not being run correctly in unit tests (#5764)
* Introduce helper for advancing fake time

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

* Introduce reactive now to kludge around global shared state in library

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

* Replace all usages of "now" from mobx-utils with our own kludge to get rid of shared global state between unit tests

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

* Consolidate all usages of advanceTimersByTime to make sure things happening based on timers are run correctly

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

* Fix incorrect expect in test

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

* Enable skipped unit test since prerequisites are done

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-07-01 19:40:34 +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
Janne Savolainen 657119b22b release v5.6.0-alpha.5 (#5754)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-29 15:15:15 +03:00
Janne Savolainen 2b9c2ad69e Re-export types for notifications store to revert accidental breaking… (#5715)
* Re-export types for notifications store to revert accidental breaking change

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

* Tweak exports for notifications to provide same API contract

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-27 09:06:02 +03:00
Janne Savolainen 49e0a0286d release 5.6.0-alpha.4 (#5701) 2022-06-23 15:14:26 -04:00
Janne Savolainen fc770b4b44 Revert accidental breaking change (#5703) 2022-06-22 09:48:09 -04: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
Janne SavolainenandMikko Aspiala f8b008612f Trivial tweaks accidentally left from other PR (#5679)
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
2022-06-20 11:49:59 -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 2a5b4af344 Fix issue where releases are not reloaded when new release is added externally (e.g. from terminal) (#5603)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-17 10:26:07 +03:00
Janne Savolainen d1f5f1cdef Fix flaky unit test (#5661)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-17 10:25:01 +03:00
Janne Savolainen 9c420d6f1e Try solving flaky unit test by switch to use different implementation of setImmediate (#5655)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-16 09:57:32 -04:00
Janne Savolainen 5c049ecca0 Improved metrics for updating application (#5607) 2022-06-16 09:05:00 -04:00
Janne Savolainen 7b0521f3b2 Rename injection token for clarity (#5636)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-16 08:44:38 -04:00
Janne Savolainen 287c814565 Move phenomenon of renderer out from common by introducing different implementations for environments
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-16 08:44:38 -04:00
Janne Savolainen fa32aa1b8e Make jest not crash totally when encountering non handled exception (#5634)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-15 19:37:22 -04:00
Janne SavolainenandMikko Aspiala 6451df1f17 Prevent duplicate app windows (#5533)
Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>
Co-authored-by: Iku-turso <mikko.aspiala@gmail.com>
2022-06-15 16:40:34 -04:00
Janne Savolainen 2eb585e88e Fix merge conflict with async validators (#5606)
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-13 15:19:37 +03:00
Janne SavolainenandMikko Aspiala 1393cc303d Stop using HelmCli from Renderer (#4861)
* Introduce way for execute file

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

* Make typing of HelmRepo shared

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

* Introduce way to get Helm environment values

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

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

* Introduce function to read YAML file

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

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

* Introduce competition for listing active helm repositories in preferences

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

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

* Make sense in name of injectable

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

* Introduce helper for opening and selecting values of select

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

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

* Introduce competition for activating, deactivating public helm repositories in preferences

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

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

* Introduce competition for deactivating helm repository from list of active repositories

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

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

* Add missing global overrides

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

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

* Make some tests more deterministic by mocking tooltips

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

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

* Introduce competition for activating custom helm repository in preferences

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

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

* Update snapshots

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

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

* Remove old implementation made redundant with competition for preferences of helm repositories

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

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

* Add success notification for activating custom helm repository

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

* Introduce way to get single active helm repository

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

* Extract responsibilities from god-class and switch to getting helm repositories using competition instead of another god class

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

* Remove dead code

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

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

* Add TODO

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

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

* Tweak position of spinner

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

* Start handling errors when accessing helm repositories

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

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

* Handle error about no helm repositories when updating repositories

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

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

* Remove unwarranted function configuration

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

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

* Add missing global overrides

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

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

* Remove duplication how to acquire binary path for helm

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

* Remove redundant comment

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

* Consolidate naming to match Helm's internal

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

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

* Relocate file closer to it's relatives

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-13 11:42:53 +03:00
Janne SavolainenandMikko Aspiala ef6f4a5bfa Bump injectable for faster unit tests (#5587)
Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2022-06-09 15:12:57 +03:00