From 673fd0d63f542a0914bd06d035a2426664a73043 Mon Sep 17 00:00:00 2001 From: Sebastian Velez Date: Fri, 28 Apr 2023 13:37:38 -0500 Subject: [PATCH] Don't send a heartbeat on sites like 'chrome://newtab/' or 'about:newtab' --- src/config/config.test.ts | 4 ++++ src/config/config.ts | 3 +++ src/core/WakaTimeCore.ts | 7 +++++++ 3 files changed, 14 insertions(+) diff --git a/src/config/config.test.ts b/src/config/config.test.ts index 98d2c35..7987e4b 100644 --- a/src/config/config.test.ts +++ b/src/config/config.test.ts @@ -53,6 +53,10 @@ describe('wakatime config', () => { "loggingType": "domain", "logoutUserUrl": "https://wakatime.com/logout", "name": "WakaTime", + "nonTrackableSites": [ + "chrome://", + "about:", + ], "socialMediaSites": [ "facebook.com", "instagram.com", diff --git a/src/config/config.ts b/src/config/config.ts index 32bc0bf..1f24c91 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -87,6 +87,7 @@ export interface Config { * Extension name */ name: string; + nonTrackableSites: string[]; socialMediaSites: string[]; states: ApiStates[]; /** @@ -159,6 +160,8 @@ const config: Config = { name: 'WakaTime', + nonTrackableSites: ['chrome://', 'about:'], + socialMediaSites: [ 'facebook.com', 'instagram.com', diff --git a/src/core/WakaTimeCore.ts b/src/core/WakaTimeCore.ts index 68a837a..b12a2dd 100644 --- a/src/core/WakaTimeCore.ts +++ b/src/core/WakaTimeCore.ts @@ -149,6 +149,13 @@ class WakaTimeCore { url = document.URL; } + for (const site of config.nonTrackableSites) { + if (url.startsWith(site)) { + // Don't send a heartbeat on sites like 'chrome://newtab/' or 'about:newtab' + return; + } + } + const hostname = getDomainFromUrlWithoutProtocol(url).replace('www.', ''); if (!items.trackSocialMedia) { if ((items.socialMediaSites as string[]).includes(hostname)) {