1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Report enabled extensions

Signed-off-by: Lauri Nevala <lauri.nevala@gmail.com>
This commit is contained in:
Lauri Nevala 2020-11-19 17:13:03 +02:00
parent 0f3f5611ba
commit a3b4be705a
3 changed files with 13 additions and 3 deletions

View File

@ -74,12 +74,12 @@ export class Tracker extends Util.Singleton {
protected reportData() { protected reportData() {
const clustersList = Store.clusterStore.enabledClustersList const clustersList = Store.clusterStore.enabledClustersList
this.event("generic-data", "report", { this.event("generic-data", "report", {
appVersion: App.version, appVersion: App.version,
os: this.os, os: this.os,
clustersCount: clustersList.length, clustersCount: clustersList.length,
workspacesCount: Store.workspaceStore.enabledWorkspacesList.length workspacesCount: Store.workspaceStore.enabledWorkspacesList.length,
extensions: App.getEnabledExtensions()
}) })
clustersList.forEach((cluster) => { clustersList.forEach((cluster) => {

View File

@ -1,4 +1,8 @@
import { getAppVersion } from "../../common/utils"; import { getAppVersion } from "../../common/utils";
import { extensionsStore } from "../extensions-store";
export const version = getAppVersion() export const version = getAppVersion()
export { isSnap, isWindows, isMac, isLinux, appName, slackUrl, issuesTrackerUrl } from "../../common/vars" export { isSnap, isWindows, isMac, isLinux, appName, slackUrl, issuesTrackerUrl } from "../../common/vars"
export function getEnabledExtensions(): string[] {
return extensionsStore.enabledExtensions
}

View File

@ -9,6 +9,7 @@ export interface LensExtensionsStoreModel {
export interface LensExtensionState { export interface LensExtensionState {
enabled?: boolean; enabled?: boolean;
name: string;
} }
export class ExtensionsStore extends BaseStore<LensExtensionsStoreModel> { export class ExtensionsStore extends BaseStore<LensExtensionsStoreModel> {
@ -20,11 +21,16 @@ export class ExtensionsStore extends BaseStore<LensExtensionsStoreModel> {
protected state = observable.map<LensExtensionId, LensExtensionState>(); protected state = observable.map<LensExtensionId, LensExtensionState>();
get enabledExtensions(): string[] {
return Array.from(this.state.toJS().values()).filter(ext => ext.enabled).map(ext => ext.name )
}
protected getState(extensionLoader: ExtensionLoader) { protected getState(extensionLoader: ExtensionLoader) {
const state: Record<LensExtensionId, LensExtensionState> = {}; const state: Record<LensExtensionId, LensExtensionState> = {};
return Array.from(extensionLoader.userExtensions).reduce((state, [extId, ext]) => { return Array.from(extensionLoader.userExtensions).reduce((state, [extId, ext]) => {
state[extId] = { state[extId] = {
enabled: ext.isEnabled, enabled: ext.isEnabled,
name: ext.manifest.name,
} }
return state; return state;
}, state) }, state)