- Add distinction between `getInstance` and `getInstanceOrCreate` since
it is not always possible to create an instance (since you might not
know the correct arguments)
- Remove all the `export const *Store = *Store.getInstance<*Store>();`
calls as it defeats the purpose of `Singleton`. Plus with the typing
changes the appropriate `*Store.getInstance()` is "short enough".
- Special case the two extension export facades to not need to use
`getInstanceOrCreate`. Plus since they are just facades it is always
possible to create them.
- Move some other types to be also `Singleton`'s: ExtensionLoader,
ExtensionDiscovery, ThemeStore, LocalizationStore, ...
- Fixed dev-run always using the same port with electron inspect
- Update Store documentation with new recommendations about creating
instances of singletons
- Fix all unit tests to create their dependent singletons
Signed-off-by: Sebastian Malton <sebastian@malton.name>
- Add lens:// protocol handling with a routing mechanism
- document the methods in an extension guide
- remove handlers when an extension is deactivated or removed
- make sure that the found extension when routing a request is currently enabled (as a backup)
- added documentation about the above behaviour to the guide
- tweaked the naming convention so that it is clearer that the router uses extension names as not IDs (which currently are folder paths)
- Convert the extension API to use an array for registering handlers
- switch design to execute both main and renderer handlers simultaneously, without any overlap checking
- change open to be a dev dep
- improve docs, export types for extensions, skip integration tests
- switch to event emitting renderer being ready
- Add logging and fix renderer:loaded send to main
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Convert StatusBarRegistration to use components field
- More similar to all other *Registration types for extensions
- Simpler fix for using the components.Icon type, now accepts functions
that return component instance like all other *Registration types
- Kept old fix for backwards compatability
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* fix docs
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* wip: command palette
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* register shortcut to global menu
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* introduce openCommandDialog & closeCommandDialog
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix ipc broadcast to frames from renderer
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* tweak
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add more commands
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ipc fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add integration tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ipc fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* implement workspace edit
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* workspace edit fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* make tests green
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fixes from code review
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup ipc
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup CommandRegistry
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ipc fix
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fix ClusterManager cluster auto-init
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* ensure cluster view is active before sending a command
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* switch to last active cluster when workspace change
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* tweak integration tests
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* run integration tests serially
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* fixes based on code review
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup more
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* add workspace fixes
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* cleanup
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
* Fix getExtensionPageUrl on Windows
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Use path.posix.join() instead
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* Fix lint issues
Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
* add no-unused-vars and no-unused-imports
* added quotes: double, and remove ignore pattern
* move itif and describeif into utils
Signed-off-by: Sebastian Malton <sebastian@malton.name>
* Option to install an extension from filesystem/url #1227 -- part 1 (UI)
Signed-off-by: Roman <ixrock@gmail.com>
* DropFileInput: common component to handle droped files (replaced also in add-cluster-page)
Signed-off-by: Roman <ixrock@gmail.com>
* fix: install via url-string on input.submit
Signed-off-by: Roman <ixrock@gmail.com>
* ui tweaks & minor fixes
Signed-off-by: Roman <ixrock@gmail.com>
* more ui/ux tweaks & fixes
Signed-off-by: Roman <ixrock@gmail.com>
* layout fixes
Signed-off-by: Roman <ixrock@gmail.com>
* component renaming: `copy-to-click` => `copy-to-clipboard` => `clipboard`
Signed-off-by: Roman <ixrock@gmail.com>
* reworks -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* fix downloading file, added common/utils/downloadFile
Signed-off-by: Roman <ixrock@gmail.com>
* confirm before install, unpack tar first steps
Signed-off-by: Roman <ixrock@gmail.com>
* installation flow, extracting .tgz
Signed-off-by: Roman <ixrock@gmail.com>
* clean up, fix lint issues
Signed-off-by: Roman <ixrock@gmail.com>
* update .azure-pipelines.yml
Signed-off-by: Roman <ixrock@gmail.com>
* fixes & refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* fix lint harder :/
Signed-off-by: Roman <ixrock@gmail.com>
* fix validation
Signed-off-by: Roman <ixrock@gmail.com>
* fix validation harder
Signed-off-by: Roman <ixrock@gmail.com>
* responding to comments, fixed package validation
Signed-off-by: Roman <ixrock@gmail.com>
* common/utils/tar.ts: reject with Error-type
Signed-off-by: Roman <ixrock@gmail.com>
* fix: unit-tests
Signed-off-by: Roman <ixrock@gmail.com>
* PageRegistration & PageMenuRegistration fixes & more simplification, fix#1383
Signed-off-by: Roman <ixrock@gmail.com>
* clean up test, deprecate page.routePath
Signed-off-by: Roman <ixrock@gmail.com>
* fix: proper `isActive` state matching for page-menu-target to page considering current document location
Signed-off-by: Roman <ixrock@gmail.com>
* Extensions page and menu item
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Basic extension list view
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding get userExtensions filter
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Using WizardLayout at extension page
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding search to extension page
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Few style fixes
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* clean up
Signed-off-by: Roman <ixrock@gmail.com>
* added folder-icon to open extensions in finder, refactoring
Signed-off-by: Roman <ixrock@gmail.com>
* remove export warnings in dev:main, tooltip.getPosition() fix
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring base lens-extension.ts, added `isBundled` flag
Signed-off-by: Roman <ixrock@gmail.com>
* added enabled/disable buttons
Signed-off-by: Roman <ixrock@gmail.com>
* auto enable/disable extensions -- part 1
Signed-off-by: Roman <ixrock@gmail.com>
* auto enable/disable extensions -- part 2
Signed-off-by: Roman <ixrock@gmail.com>
* auto enable/disable extensions -- part 3
Signed-off-by: Roman <ixrock@gmail.com>
* auto enable/disable extensions -- part 4
Signed-off-by: Roman <ixrock@gmail.com>
* refactoring & fixes
Signed-off-by: Roman <ixrock@gmail.com>
* fix: use page-layout with fullsize viewport
Signed-off-by: Roman <ixrock@gmail.com>
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com>
* Adding extension's label text next to Icon
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
* Removing unused registerStatusBarItem()
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>