feat(stats): add v1 immersion stats dashboard (#19)

This commit is contained in:
2026-03-20 02:43:28 -07:00
committed by GitHub
parent 42abdd1268
commit 6749ff843c
555 changed files with 46356 additions and 2553 deletions

View File

@@ -14,6 +14,7 @@ function makeConfig() {
retention: {
eventsDays: 14,
telemetryDays: 30,
sessionsDays: 45,
dailyRollupsDays: 180,
monthlyRollupsDays: 730,
vacuumIntervalDays: 7,
@@ -97,6 +98,7 @@ test('createImmersionTrackerStartupHandler creates tracker and auto-connects mpv
retention: {
eventsDays: 14,
telemetryDays: 30,
sessionsDays: 45,
dailyRollupsDays: 180,
monthlyRollupsDays: 730,
vacuumIntervalDays: 7,
@@ -135,3 +137,28 @@ test('createImmersionTrackerStartupHandler disables tracker on failure', () => {
calls.includes('warn:Immersion tracker startup failed; disabling tracking.:db unavailable'),
);
});
test('createImmersionTrackerStartupHandler skips mpv auto-connect when disabled by caller', () => {
let connectCalls = 0;
const handler = createImmersionTrackerStartupHandler({
getResolvedConfig: () => makeConfig(),
getConfiguredDbPath: () => '/tmp/subminer.db',
createTrackerService: () => ({}),
setTracker: () => {},
getMpvClient: () => ({
connected: false,
connect: () => {
connectCalls += 1;
},
}),
shouldAutoConnectMpv: () => false,
seedTrackerFromCurrentMedia: () => {},
logInfo: () => {},
logDebug: () => {},
logWarn: () => {},
});
handler();
assert.equal(connectCalls, 0);
});