diff --git a/docs/extensions/usage/README.md b/docs/extensions/usage/README.md
index 7ca1ab7e51..4020e64d65 100644
--- a/docs/extensions/usage/README.md
+++ b/docs/extensions/usage/README.md
@@ -1,3 +1,23 @@
# Using Extensions
-TBD
+The features that Lens includes out-of-the-box are just the start.
+Lens extensions let you add new features to your installation to support your workflow.
+Rich extensibility model lets extension authors plug directly into the Lens UI and contribute functionality through the same APIs used by Lens itself.
+
+
+
+## Installing an Extension
+
+You can install a dowloaded extension .tgz package by going to **File** > **Extensions** (**Lens** > **Extensions** on Mac). Alternatively you can point an URL to .tgz file. An installed extension is enabled automatically.
+
+## Enabling an Extension
+
+Go to **File** > **Extensions** (**Lens** > **Extensions** on Mac) and click "Enable" button.
+
+## Disabling an Extension
+
+Go to **File** > **Extensions** (**Lens** > **Extensions** on Mac) and click "Disable" button.
+
+## Uninstalling an Extension
+
+Go to **File** > **Extensions** (**Lens** > **Extensions** on Mac) and click "Uninstall" button.
diff --git a/docs/extensions/usage/images/extensions.png b/docs/extensions/usage/images/extensions.png
new file mode 100644
index 0000000000..5deb8e4bd2
Binary files /dev/null and b/docs/extensions/usage/images/extensions.png differ
diff --git a/src/renderer/components/+extensions/extensions.tsx b/src/renderer/components/+extensions/extensions.tsx
index bfcf46ccb6..920febe2e9 100644
--- a/src/renderer/components/+extensions/extensions.tsx
+++ b/src/renderer/components/+extensions/extensions.tsx
@@ -66,7 +66,7 @@ export class Extensions extends React.Component {
* Extensions that were removed from extensions but are still in "uninstalling" state
*/
@computed get removedUninstalling() {
- return Array.from(this.extensionState.entries()).filter(([id, extension]) =>
+ return Array.from(this.extensionState.entries()).filter(([id, extension]) =>
extension.state === "uninstalling" && !this.extensions.find(extension => extension.id === id)
).map(([id, extension]) => ({ ...extension, id }));
}
@@ -75,11 +75,11 @@ export class Extensions extends React.Component {
* Extensions that were added to extensions but are still in "installing" state
*/
@computed get addedInstalling() {
- return Array.from(this.extensionState.entries()).filter(([id, extension]) =>
+ return Array.from(this.extensionState.entries()).filter(([id, extension]) =>
extension.state === "installing" && this.extensions.find(extension => extension.id === id)
).map(([id, extension]) => ({ ...extension, id }));
}
-
+
componentDidMount() {
disposeOnUnmount(this,
reaction(() => this.extensions, () => {
@@ -275,7 +275,7 @@ export class Extensions extends React.Component {
const { name, version, description } = install.manifest;
const extensionFolder = this.getExtensionDestFolder(name);
const folderExists = fse.existsSync(extensionFolder);
-
+
if (!folderExists) {
// auto-install extension if not yet exists
this.unpackExtension(install);
@@ -379,7 +379,7 @@ export class Extensions extends React.Component {
}
renderExtensions() {
- const { extensions, extensionsPath, search } = this;
+ const { extensions, search } = this;
if (!extensions.length) {
return (
@@ -387,7 +387,7 @@ export class Extensions extends React.Component {
No search results found
} - {!search &&There are no extensions in {extensionsPath}
There are no installed extensions. See list of available extensions.
}