From 29c4c71fc3aa353c1ab37d375f2abc1b0ec35faf Mon Sep 17 00:00:00 2001 From: Evan <24252743+06Games@users.noreply.github.com> Date: Fri, 22 Nov 2024 12:13:56 +0100 Subject: [PATCH 1/3] fix: Open dashboard messing up the url --- src/wakatime.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wakatime.ts b/src/wakatime.ts index 6c4fac6..c481f47 100644 --- a/src/wakatime.ts +++ b/src/wakatime.ts @@ -369,7 +369,8 @@ export class WakaTime { } public async openDashboardWebsite(): Promise { - const url = (await this.options.getApiUrl(true)).replace('/api/v1', '').replace('api.', ''); + const apiUrl = vscode.Uri.parse(await this.options.getApiUrl(true)); + const url = `${apiUrl.scheme}://${apiUrl.authority.replace(/^api\./, '')}`; vscode.env.openExternal(vscode.Uri.parse(url)); } From 4cd4b89d7ec380e29347d1bc19202fe9f29b75ed Mon Sep 17 00:00:00 2001 From: Alan Hamlett Date: Fri, 22 Nov 2024 14:11:28 +0100 Subject: [PATCH 2/3] Only replace subdomain part --- src/wakatime.ts | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/wakatime.ts b/src/wakatime.ts index c481f47..7e535eb 100644 --- a/src/wakatime.ts +++ b/src/wakatime.ts @@ -145,7 +145,7 @@ export class WakaTime { this.setStatusBarVisibility(this.showStatusBar); this.updateStatusBarText('WakaTime Initializing...'); - this.checkApiKey(); + this.checkKey(); this.setupEventListeners(); @@ -217,22 +217,22 @@ export class WakaTime { this.statusBarTeamOther.tooltip = tooltipText; } - public async promptForApiKey(hidden: boolean = true): Promise { - let defaultVal = await this.options.getApiKey(); - if (Utils.apiKeyInvalid(defaultVal ?? undefined)) defaultVal = ''; + public async promptForKey(hidden: boolean = true): Promise { + let defaultVal = await this.options.getKey(); + if (Utils.KeyInvalid(defaultVal ?? undefined)) defaultVal = ''; let promptOptions = { - prompt: 'WakaTime Api Key', - placeHolder: 'Enter your api key from https://wakatime.com/api-key', + prompt: 'WakaTime Key', + placeHolder: 'Enter your key from https://wakatime.com/-key', value: defaultVal!, ignoreFocusOut: true, password: hidden, - validateInput: Utils.apiKeyInvalid.bind(this), + validateInput: Utils.KeyInvalid.bind(this), }; vscode.window.showInputBox(promptOptions).then((val) => { if (val != undefined) { - let invalid = Utils.apiKeyInvalid(val); + let invalid = Utils.KeyInvalid(val); if (!invalid) { - this.options.setSetting('settings', 'api_key', val, false); + this.options.setSetting('settings', '_key', val, false); } else vscode.window.setStatusBarMessage(invalid); } else vscode.window.setStatusBarMessage('WakaTime api key not provided'); }); @@ -369,8 +369,7 @@ export class WakaTime { } public async openDashboardWebsite(): Promise { - const apiUrl = vscode.Uri.parse(await this.options.getApiUrl(true)); - const url = `${apiUrl.scheme}://${apiUrl.authority.replace(/^api\./, '')}`; + const url = (await this.options.getApiUrl(true)).replace('/api/v1', '').replace('://api.', '://'); vscode.env.openExternal(vscode.Uri.parse(url)); } From f05c8bd7aa68dcbb823b64140ec95add1d390cf5 Mon Sep 17 00:00:00 2001 From: Alan Hamlett Date: Fri, 22 Nov 2024 14:13:15 +0100 Subject: [PATCH 3/3] Update wakatime.ts --- src/wakatime.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/wakatime.ts b/src/wakatime.ts index 7e535eb..d6a8d18 100644 --- a/src/wakatime.ts +++ b/src/wakatime.ts @@ -145,7 +145,7 @@ export class WakaTime { this.setStatusBarVisibility(this.showStatusBar); this.updateStatusBarText('WakaTime Initializing...'); - this.checkKey(); + this.checkApiKey(); this.setupEventListeners(); @@ -217,22 +217,22 @@ export class WakaTime { this.statusBarTeamOther.tooltip = tooltipText; } - public async promptForKey(hidden: boolean = true): Promise { - let defaultVal = await this.options.getKey(); - if (Utils.KeyInvalid(defaultVal ?? undefined)) defaultVal = ''; + public async promptForApiKey(hidden: boolean = true): Promise { + let defaultVal = await this.options.getApiKey(); + if (Utils.apiKeyInvalid(defaultVal ?? undefined)) defaultVal = ''; let promptOptions = { - prompt: 'WakaTime Key', - placeHolder: 'Enter your key from https://wakatime.com/-key', + prompt: 'WakaTime Api Key', + placeHolder: 'Enter your api key from https://wakatime.com/api-key', value: defaultVal!, ignoreFocusOut: true, password: hidden, - validateInput: Utils.KeyInvalid.bind(this), + validateInput: Utils.apiKeyInvalid.bind(this), }; vscode.window.showInputBox(promptOptions).then((val) => { if (val != undefined) { - let invalid = Utils.KeyInvalid(val); + let invalid = Utils.apiKeyInvalid(val); if (!invalid) { - this.options.setSetting('settings', '_key', val, false); + this.options.setSetting('settings', 'api_key', val, false); } else vscode.window.setStatusBarMessage(invalid); } else vscode.window.setStatusBarMessage('WakaTime api key not provided'); });