diff --git a/src/backend/metrics/types.ts b/src/backend/metrics/types.ts index 16b8278de..93ad741ae 100644 --- a/src/backend/metrics/types.ts +++ b/src/backend/metrics/types.ts @@ -424,6 +424,12 @@ export interface AccountDropdownPortfolioClicked { sensitiveProperties?: never } +export interface HyperPlayExited { + event: 'HyperPlay Exited' + properties?: never + sensitiveProperties?: never +} + export type PossibleMetricPayloads = | MetricsOptIn | MetricsOptOut @@ -467,5 +473,6 @@ export type PossibleMetricPayloads = | PatchingFailed | PatchingTooSlow | AccountDropdownPortfolioClicked + | HyperPlayExited export type PossibleMetricEventNames = PossibleMetricPayloads['event'] diff --git a/src/backend/utils.ts b/src/backend/utils.ts index db653c1ac..ff7329aff 100644 --- a/src/backend/utils.ts +++ b/src/backend/utils.ts @@ -82,6 +82,7 @@ import { } from './utils/systeminfo/gpu/pci_ids' import { copyFile, lstat, mkdir, readdir } from 'fs/promises' import { GameConfig } from './game_config' +import { trackEvent } from './metrics/metrics' const execAsync = promisify(exec) @@ -260,6 +261,7 @@ async function handleExit() { // Kill all child processes callAllAbortControllers() } + trackEvent({ event: 'HyperPlay Exited' }) app.exit() }