add game session tracking and display in status bar

This commit is contained in:
pa
2026-03-13 22:56:04 +09:00
parent 7b7c1b4568
commit 9b6ca42d9d
8 changed files with 361 additions and 15 deletions
+12
View File
@@ -41,6 +41,18 @@ export async function runGameRunningChangedFlow(isGameRunning) {
userStore.markCurrentUserGameStarted();
} else {
await configRepository.setBool('isGameNoVR', gameStore.isGameNoVR);
// persist last session data before markCurrentUserGameStopped resets $online_for
const sessionStart = userStore.currentUser.$online_for;
const offlineAt = Date.now();
if (sessionStart && sessionStart > 0) {
const sessionDuration = offlineAt - sessionStart;
// set store state synchronously so UI reads it immediately
gameStore.setLastSession(sessionDuration, offlineAt);
await Promise.all([
configRepository.setString('VRCX_lastGameSessionMs', String(sessionDuration)),
configRepository.setString('VRCX_lastGameOfflineAt', String(offlineAt))
]);
}
userStore.markCurrentUserGameStopped();
instanceStore.removeAllQueuedInstances();
runAutoVRChatCacheManagementFlow();