diff --git a/src/core/WakaTimeCore.ts b/src/core/WakaTimeCore.ts index 1d69931..a7e1d74 100644 --- a/src/core/WakaTimeCore.ts +++ b/src/core/WakaTimeCore.ts @@ -8,7 +8,7 @@ import config from '../config/config'; import { SendHeartbeat } from '../types/heartbeats'; import { GrandTotal, SummariesPayload } from '../types/summaries'; import { ApiKeyPayload, AxiosUserResponse, User } from '../types/user'; -import { IS_FIREFOX, IS_EDGE, generateProjectFromDevSites } from '../utils'; +import { IS_EDGE, IS_FIREFOX, generateProjectFromDevSites } from '../utils'; import { getApiKey } from '../utils/apiKey'; import changeExtensionState from '../utils/changeExtensionState'; import contains from '../utils/contains'; @@ -285,6 +285,7 @@ class WakaTimeCore { apiKey: string, navigationPayload: Record, ): Promise { + console.log('Sending Heartbeat', heartbeat); let payload; const loggingType = await this.getLoggingType(); diff --git a/src/utils/index.ts b/src/utils/index.ts index f6e2695..9b88e46 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -2,12 +2,14 @@ export const IS_EDGE = navigator.userAgent.includes('Edg'); export const IS_FIREFOX = navigator.userAgent.includes('Firefox'); export const IS_CHROME = IS_EDGE === false && IS_FIREFOX === false; -export const generateProjectFromDevSites = (url: string): string | null => { - const githubUrls = ['https://github.com/', 'https://github.dev/']; +export const generateProjectFromDevSites = (siteUrl: string): string | null => { + const url = new URL(siteUrl); + const githubUrls = ['github.com', 'github.dev']; for (const githubUrl of githubUrls) { - if (url.startsWith(githubUrl)) { - const newUrl = url.replace(githubUrl, ''); - return newUrl.split('/')[1] || null; + if (url.host === githubUrl) { + // input: https://github.com/wakatime/browser-wakatime?tab=readme-ov-file#development-instructions + // output: browser-wakatime + return url.pathname.split('/')[2] || null; } } return null;