[GH-ISSUE #8] Errant "User detected playing a game (via title history)" message after user goes offline #5

Open
opened 2026-02-27 20:09:01 +03:00 by kerem · 9 comments
Owner

Originally created by @tomballgithub on GitHub (Feb 7, 2026).
Original GitHub issue: https://github.com/misiektoja/xbox_monitor/issues/8

I wanted to capture this with the latest code. This is a normal user (not appearing offline).
The flow goes correctly, as shown in the long log at the bottom.

But then after the user goes inactive, this immediately pops up:

─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
User detected playing a game 'NBA 2K26 for Xbox Series X|S' (via title history)! Started: Sat 07 Feb 2026, 13:41:58
Sending email notification to YYY
Timestamp:                      Sat 07 Feb 2026, 15:05:20
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Full log:

─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[DEBUG 13:43:54] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
Xbox user XXX changed status from offline to online (XSX)
User was offline for 5 minutes, 2 seconds (Sat 07 Feb 13:38 - 13:43)
*** User got ACTIVE ! (was offline since Sat 07 Feb 2026, 13:38:52)
Short offline interruption (5 minutes, 2 seconds), online start timestamp set back to Sat 07 Feb 13:35
User is currently in-game: NBA 2K26 (XSX)
Sending email notification to YYY
Timestamp:                      Sat 07 Feb 2026, 13:43:56
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Xbox user XXX started playing 'NBA 2K26' (XSX)
Sending email notification to YYY
Timestamp:                      Sat 07 Feb 2026, 13:43:58
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[DEBUG 13:45:29] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 13:46:59] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 13:48:29] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 13:49:59] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 13:51:30] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 13:53:00] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 13:54:31] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 13:56:01] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 13:57:31] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 13:59:02] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:00:32] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:02:02] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:03:33] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:05:03] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:06:33] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:08:03] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:09:34] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:11:04] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:12:35] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:14:05] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:15:35] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:17:05] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:18:36] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:20:06] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:21:36] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:23:07] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:24:37] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:26:08] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:27:38] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:29:08] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:30:38] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:32:08] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:33:39] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:35:09] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:36:39] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:38:10] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:39:40] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:41:10] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:42:40] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:44:11] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:45:41] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:47:11] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:48:41] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:50:12] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:51:42] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:53:12] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:54:43] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:56:13] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:57:43] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 14:59:14] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 15:00:44] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 15:02:14] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 15:03:45] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 15:05:15] Presence data: state=offline, title_name=, game_name=, platform=XSX, lastonline=Sat 07 Feb 2026, 15:04:48
[DEBUG 15:05:15] User is offline, checking title history fallback...
[DEBUG 15:05:16] Fetched 3 history items:
[DEBUG 15:05:16]   1. NBA 2K26 for Xbox Series X|S played at Sat 07 Feb 2026, 13:41:58
[DEBUG 15:05:16]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 15:05:16]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 15:05:16] Selected title history: NBA 2K26 for Xbox Series X|S at Sat 07 Feb 2026, 13:41:58
[DEBUG 15:05:16] Current status: offline
[DEBUG 15:05:16] Title history: 1770493318 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 15:05:16] Baseline:      1770431125 ('NBA 2K26 for Xbox Series X|S')
Xbox user XXX changed status from online to offline (XSX)
User was online for 1 hour, 21 minutes, 22 seconds (Sat 07 Feb 13:43 - 15:05)
User played 1 games for total time of 1 hour, 21 minutes
*** User got OFFLINE ! (after 1 hour, 29 minutes: Sat 07 Feb 13:35 - 15:05)
Sending email notification to YYY
Timestamp:                      Sat 07 Feb 2026, 15:05:17
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Xbox user XXX stopped playing 'NBA 2K26' after 1 hour, 21 minutes, 22 seconds
User played game from Sat 07 Feb 13:43 to 15:05
Sending email notification to YYY
Timestamp:                      Sat 07 Feb 2026, 15:05:19
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
User detected playing a game 'NBA 2K26 for Xbox Series X|S' (via title history)! Started: Sat 07 Feb 2026, 13:41:58
Sending email notification to YYY
Timestamp:                      Sat 07 Feb 2026, 15:05:20
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[DEBUG 15:10:20] Presence data: state=offline, title_name=NBA 2K26, game_name=, platform=XSX, lastonline=Sat 07 Feb 2026, 15:04:48
[DEBUG 15:10:20] User is offline, checking title history fallback...
[DEBUG 15:10:21] Fetched 3 history items:
[DEBUG 15:10:21]   1. NBA 2K26 for Xbox Series X|S played at Sat 07 Feb 2026, 13:41:58
[DEBUG 15:10:21]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 15:10:21]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 15:10:21] Selected title history: NBA 2K26 for Xbox Series X|S at Sat 07 Feb 2026, 13:41:58
[DEBUG 15:10:21] Current status: offline
[DEBUG 15:10:21] Title history: 1770493318 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 15:10:21] Baseline:      1770493318 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 15:15:21] Presence data: state=offline, title_name=, game_name=, platform=XSX, lastonline=Sat 07 Feb 2026, 15:04:48
[DEBUG 15:15:21] User is offline, checking title history fallback...
[DEBUG 15:15:22] Fetched 3 history items:
[DEBUG 15:15:22]   1. NBA 2K26 for Xbox Series X|S played at Sat 07 Feb 2026, 13:41:58
[DEBUG 15:15:22]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 15:15:22]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 15:15:22] Selected title history: NBA 2K26 for Xbox Series X|S at Sat 07 Feb 2026, 13:41:58
Originally created by @tomballgithub on GitHub (Feb 7, 2026). Original GitHub issue: https://github.com/misiektoja/xbox_monitor/issues/8 I wanted to capture this with the latest code. This is a normal user (not appearing offline). The flow goes correctly, as shown in the long log at the bottom. But then after the user goes inactive, this immediately pops up: ``` ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── User detected playing a game 'NBA 2K26 for Xbox Series X|S' (via title history)! Started: Sat 07 Feb 2026, 13:41:58 Sending email notification to YYY Timestamp: Sat 07 Feb 2026, 15:05:20 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── ``` Full log: ``` ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── [DEBUG 13:43:54] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 Xbox user XXX changed status from offline to online (XSX) User was offline for 5 minutes, 2 seconds (Sat 07 Feb 13:38 - 13:43) *** User got ACTIVE ! (was offline since Sat 07 Feb 2026, 13:38:52) Short offline interruption (5 minutes, 2 seconds), online start timestamp set back to Sat 07 Feb 13:35 User is currently in-game: NBA 2K26 (XSX) Sending email notification to YYY Timestamp: Sat 07 Feb 2026, 13:43:56 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── Xbox user XXX started playing 'NBA 2K26' (XSX) Sending email notification to YYY Timestamp: Sat 07 Feb 2026, 13:43:58 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── [DEBUG 13:45:29] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 13:46:59] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 13:48:29] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 13:49:59] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 13:51:30] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 13:53:00] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 13:54:31] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 13:56:01] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 13:57:31] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 13:59:02] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:00:32] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:02:02] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:03:33] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:05:03] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:06:33] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:08:03] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:09:34] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:11:04] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:12:35] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:14:05] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:15:35] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:17:05] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:18:36] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:20:06] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:21:36] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:23:07] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:24:37] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:26:08] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:27:38] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:29:08] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:30:38] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:32:08] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:33:39] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:35:09] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:36:39] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:38:10] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:39:40] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:41:10] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:42:40] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:44:11] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:45:41] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:47:11] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:48:41] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:50:12] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:51:42] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:53:12] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:54:43] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:56:13] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:57:43] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 14:59:14] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 15:00:44] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 15:02:14] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 15:03:45] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 15:05:15] Presence data: state=offline, title_name=, game_name=, platform=XSX, lastonline=Sat 07 Feb 2026, 15:04:48 [DEBUG 15:05:15] User is offline, checking title history fallback... [DEBUG 15:05:16] Fetched 3 history items: [DEBUG 15:05:16] 1. NBA 2K26 for Xbox Series X|S played at Sat 07 Feb 2026, 13:41:58 [DEBUG 15:05:16] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 15:05:16] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 15:05:16] Selected title history: NBA 2K26 for Xbox Series X|S at Sat 07 Feb 2026, 13:41:58 [DEBUG 15:05:16] Current status: offline [DEBUG 15:05:16] Title history: 1770493318 ('NBA 2K26 for Xbox Series X|S') [DEBUG 15:05:16] Baseline: 1770431125 ('NBA 2K26 for Xbox Series X|S') Xbox user XXX changed status from online to offline (XSX) User was online for 1 hour, 21 minutes, 22 seconds (Sat 07 Feb 13:43 - 15:05) User played 1 games for total time of 1 hour, 21 minutes *** User got OFFLINE ! (after 1 hour, 29 minutes: Sat 07 Feb 13:35 - 15:05) Sending email notification to YYY Timestamp: Sat 07 Feb 2026, 15:05:17 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── Xbox user XXX stopped playing 'NBA 2K26' after 1 hour, 21 minutes, 22 seconds User played game from Sat 07 Feb 13:43 to 15:05 Sending email notification to YYY Timestamp: Sat 07 Feb 2026, 15:05:19 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── User detected playing a game 'NBA 2K26 for Xbox Series X|S' (via title history)! Started: Sat 07 Feb 2026, 13:41:58 Sending email notification to YYY Timestamp: Sat 07 Feb 2026, 15:05:20 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── [DEBUG 15:10:20] Presence data: state=offline, title_name=NBA 2K26, game_name=, platform=XSX, lastonline=Sat 07 Feb 2026, 15:04:48 [DEBUG 15:10:20] User is offline, checking title history fallback... [DEBUG 15:10:21] Fetched 3 history items: [DEBUG 15:10:21] 1. NBA 2K26 for Xbox Series X|S played at Sat 07 Feb 2026, 13:41:58 [DEBUG 15:10:21] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 15:10:21] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 15:10:21] Selected title history: NBA 2K26 for Xbox Series X|S at Sat 07 Feb 2026, 13:41:58 [DEBUG 15:10:21] Current status: offline [DEBUG 15:10:21] Title history: 1770493318 ('NBA 2K26 for Xbox Series X|S') [DEBUG 15:10:21] Baseline: 1770493318 ('NBA 2K26 for Xbox Series X|S') [DEBUG 15:15:21] Presence data: state=offline, title_name=, game_name=, platform=XSX, lastonline=Sat 07 Feb 2026, 15:04:48 [DEBUG 15:15:21] User is offline, checking title history fallback... [DEBUG 15:15:22] Fetched 3 history items: [DEBUG 15:15:22] 1. NBA 2K26 for Xbox Series X|S played at Sat 07 Feb 2026, 13:41:58 [DEBUG 15:15:22] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 15:15:22] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 15:15:22] Selected title history: NBA 2K26 for Xbox Series X|S at Sat 07 Feb 2026, 13:41:58 ```
Author
Owner

@misiektoja commented on GitHub (Feb 10, 2026):

Ok, hopefully 8533dc638 fixes it, let me know!

<!-- gh-comment-id:3874841353 --> @misiektoja commented on GitHub (Feb 10, 2026): Ok, hopefully 8533dc638 fixes it, let me know!
Author
Owner

@tomballgithub commented on GitHub (Feb 18, 2026):

It's not clear in the debug messages what the script thinks the last seen time was, but the "offline since Tue 17 Feb 2026, 18:31:58" message does align with the lastonline time of "Tue 17 Feb 2026, 18:30:43".

Can you add one more debug message, along with the other ones occurring every 5 minutes, sharing whether the last active time is title-based or lastonline-based and what that time is?

But still seeing the same behavior of:

  • Debug messages show lastonline as Wed 31 Dec 1969, 18:00:00 when user is online, but it's correct when they are offline
  • Title_name and game_name are also blank on those debug messages
[DEBUG 21:37:39] Presence data: state=offline, title_name=Xbox App, game_name=, platform=iPhone/iPad, lastonline=Tue 17 Feb 2026, 18:30:57
[DEBUG 21:37:39] User is offline, checking title history fallback...
[DEBUG 21:37:39] Fetched 3 history items:
[DEBUG 21:37:39]   1. NBA 2K26 for Xbox Series X|S played at Tue 17 Feb 2026, 17:38:37
[DEBUG 21:37:39]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 21:37:39]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 21:37:39] Selected title history: NBA 2K26 for Xbox Series X|S at Tue 17 Feb 2026, 17:38:37
[DEBUG 21:37:39] Current status: offline
[DEBUG 21:37:39] Title history: 1771371517 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 21:37:39] Baseline:      1771371517 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 21:42:40] Presence data: state=offline, title_name=Xbox App, game_name=, platform=iPhone/iPad, lastonline=Tue 17 Feb 2026, 18:30:43
[DEBUG 21:42:40] User is offline, checking title history fallback...
[DEBUG 21:42:40] Fetched 3 history items:
[DEBUG 21:42:40]   1. NBA 2K26 for Xbox Series X|S played at Tue 17 Feb 2026, 17:38:37
[DEBUG 21:42:40]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 21:42:40]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 21:42:40] Selected title history: NBA 2K26 for Xbox Series X|S at Tue 17 Feb 2026, 17:38:37
[DEBUG 21:42:40] Current status: offline
[DEBUG 21:42:40] Title history: 1771371517 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 21:42:40] Baseline:      1771371517 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 21:47:40] Presence data: state=online, title_name=, game_name=, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
Xbox user XXX changed status from offline to online (XSX)
User was offline for 3 hours, 15 minutes, 42 seconds (Tue 17 Feb 18:31 - 21:47)
*** User got ACTIVE ! (was offline since Tue 17 Feb 2026, 18:31:58)
Sending email notification to XXX@gmail.com
Timestamp:                      Tue 17 Feb 2026, 21:47:42
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[DEBUG 21:49:13] Presence data: state=online, title_name=, game_name=, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 21:50:44] Presence data: state=online, title_name=, game_name=, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 21:52:15] Presence data: state=online, title_name=, game_name=, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
[DEBUG 21:53:46] Presence data: state=online, title_name=, game_name=, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00
<!-- gh-comment-id:3918567319 --> @tomballgithub commented on GitHub (Feb 18, 2026): It's not clear in the debug messages what the script thinks the last seen time was, but the "offline since Tue 17 Feb 2026, 18:31:58" message does align with the lastonline time of "Tue 17 Feb 2026, 18:30:43". Can you add one more debug message, along with the other ones occurring every 5 minutes, sharing whether the last active time is title-based or lastonline-based and what that time is? But still seeing the same behavior of: - Debug messages show lastonline as Wed 31 Dec 1969, 18:00:00 when user is online, but it's correct when they are offline - Title_name and game_name are also blank on those debug messages ``` [DEBUG 21:37:39] Presence data: state=offline, title_name=Xbox App, game_name=, platform=iPhone/iPad, lastonline=Tue 17 Feb 2026, 18:30:57 [DEBUG 21:37:39] User is offline, checking title history fallback... [DEBUG 21:37:39] Fetched 3 history items: [DEBUG 21:37:39] 1. NBA 2K26 for Xbox Series X|S played at Tue 17 Feb 2026, 17:38:37 [DEBUG 21:37:39] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 21:37:39] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 21:37:39] Selected title history: NBA 2K26 for Xbox Series X|S at Tue 17 Feb 2026, 17:38:37 [DEBUG 21:37:39] Current status: offline [DEBUG 21:37:39] Title history: 1771371517 ('NBA 2K26 for Xbox Series X|S') [DEBUG 21:37:39] Baseline: 1771371517 ('NBA 2K26 for Xbox Series X|S') [DEBUG 21:42:40] Presence data: state=offline, title_name=Xbox App, game_name=, platform=iPhone/iPad, lastonline=Tue 17 Feb 2026, 18:30:43 [DEBUG 21:42:40] User is offline, checking title history fallback... [DEBUG 21:42:40] Fetched 3 history items: [DEBUG 21:42:40] 1. NBA 2K26 for Xbox Series X|S played at Tue 17 Feb 2026, 17:38:37 [DEBUG 21:42:40] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 21:42:40] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 21:42:40] Selected title history: NBA 2K26 for Xbox Series X|S at Tue 17 Feb 2026, 17:38:37 [DEBUG 21:42:40] Current status: offline [DEBUG 21:42:40] Title history: 1771371517 ('NBA 2K26 for Xbox Series X|S') [DEBUG 21:42:40] Baseline: 1771371517 ('NBA 2K26 for Xbox Series X|S') [DEBUG 21:47:40] Presence data: state=online, title_name=, game_name=, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 Xbox user XXX changed status from offline to online (XSX) User was offline for 3 hours, 15 minutes, 42 seconds (Tue 17 Feb 18:31 - 21:47) *** User got ACTIVE ! (was offline since Tue 17 Feb 2026, 18:31:58) Sending email notification to XXX@gmail.com Timestamp: Tue 17 Feb 2026, 21:47:42 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── [DEBUG 21:49:13] Presence data: state=online, title_name=, game_name=, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 21:50:44] Presence data: state=online, title_name=, game_name=, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 21:52:15] Presence data: state=online, title_name=, game_name=, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 [DEBUG 21:53:46] Presence data: state=online, title_name=, game_name=, platform=XSX, lastonline=Wed 31 Dec 1969, 18:00:00 ```
Author
Owner

@misiektoja commented on GitHub (Feb 18, 2026):

Can you try the new version? It includes enhanced debugging messages that will hopefully allow us to pinpoint the issue. Once it happens again, please share the logs.

<!-- gh-comment-id:3921898778 --> @misiektoja commented on GitHub (Feb 18, 2026): Can you try the new version? It includes enhanced debugging messages that will hopefully allow us to pinpoint the issue. Once it happens again, please share the logs.
Author
Owner

@tomballgithub commented on GitHub (Feb 18, 2026):

Running it now. Looks good so far. Will update once account becomes active.

[DEBUG 13:15:41] Presence data: state=offline, title_name=NBA 2K26, game_name=, platform=Xbox One Series X/S, lastonline=Tue 17 Feb 2026, 23:17:21
[DEBUG 13:15:41] Presence raw: last_seen_title=NBA 2K26, last_seen_device=Scarlett, last_seen_timestamp=2026-02-18T05:17:21.9314433
[DEBUG 13:15:41] Presence device titles: none
[DEBUG 13:15:42] Fetched 3 history items:
[DEBUG 13:15:42]   1. NBA 2K26 for Xbox Series X|S played at Tue 17 Feb 2026, 22:13:28
[DEBUG 13:15:42]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 13:15:42]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 13:15:42] Selected title history: NBA 2K26 for Xbox Series X|S at Tue 17 Feb 2026, 22:13:28
[DEBUG 13:15:42] User is offline, using already fetched title history fallback data...
[DEBUG 13:15:42] Decision: Using Presence timestamp (presence=Tue 17 Feb 2026, 23:17:21 >= history=Tue 17 Feb 2026, 22:13:28)

and for account that hides availability, also looks good:

[DEBUG 13:15:41] Presence data: state=offline, title_name=, game_name=, platform=Xbox One Series X/S, lastonline=Mon 08 Dec 2025, 03:45:16
[DEBUG 13:15:41] Presence raw: last_seen_title=Home, last_seen_device=Scarlett, last_seen_timestamp=2025-12-08T09:45:16.8363999
[DEBUG 13:15:41] Presence device titles: none
[DEBUG 13:15:41] Fetched 3 history items:
[DEBUG 13:15:41]   1. NBA 2K26 for Xbox Series X|S played at Thu 05 Feb 2026, 21:30:16
[DEBUG 13:15:41]   2. Fortnite played at Sat 10 Jan 2026, 14:41:30
[DEBUG 13:15:41]   3. Rocket League® played at Fri 09 Jan 2026, 23:45:10
[DEBUG 13:15:41] Selected title history: NBA 2K26 for Xbox Series X|S at Thu 05 Feb 2026, 21:30:16
[DEBUG 13:15:41] User is offline, using already fetched title history fallback data...
[DEBUG 13:15:41] Decision: Using Title History timestamp (history=Thu 05 Feb 2026, 21:30:16 > presence=Mon 08 Dec 2025, 03:45:16)
<!-- gh-comment-id:3922700130 --> @tomballgithub commented on GitHub (Feb 18, 2026): Running it now. Looks good so far. Will update once account becomes active. ``` [DEBUG 13:15:41] Presence data: state=offline, title_name=NBA 2K26, game_name=, platform=Xbox One Series X/S, lastonline=Tue 17 Feb 2026, 23:17:21 [DEBUG 13:15:41] Presence raw: last_seen_title=NBA 2K26, last_seen_device=Scarlett, last_seen_timestamp=2026-02-18T05:17:21.9314433 [DEBUG 13:15:41] Presence device titles: none [DEBUG 13:15:42] Fetched 3 history items: [DEBUG 13:15:42] 1. NBA 2K26 for Xbox Series X|S played at Tue 17 Feb 2026, 22:13:28 [DEBUG 13:15:42] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 13:15:42] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 13:15:42] Selected title history: NBA 2K26 for Xbox Series X|S at Tue 17 Feb 2026, 22:13:28 [DEBUG 13:15:42] User is offline, using already fetched title history fallback data... [DEBUG 13:15:42] Decision: Using Presence timestamp (presence=Tue 17 Feb 2026, 23:17:21 >= history=Tue 17 Feb 2026, 22:13:28) ``` and for account that hides availability, also looks good: ``` [DEBUG 13:15:41] Presence data: state=offline, title_name=, game_name=, platform=Xbox One Series X/S, lastonline=Mon 08 Dec 2025, 03:45:16 [DEBUG 13:15:41] Presence raw: last_seen_title=Home, last_seen_device=Scarlett, last_seen_timestamp=2025-12-08T09:45:16.8363999 [DEBUG 13:15:41] Presence device titles: none [DEBUG 13:15:41] Fetched 3 history items: [DEBUG 13:15:41] 1. NBA 2K26 for Xbox Series X|S played at Thu 05 Feb 2026, 21:30:16 [DEBUG 13:15:41] 2. Fortnite played at Sat 10 Jan 2026, 14:41:30 [DEBUG 13:15:41] 3. Rocket League® played at Fri 09 Jan 2026, 23:45:10 [DEBUG 13:15:41] Selected title history: NBA 2K26 for Xbox Series X|S at Thu 05 Feb 2026, 21:30:16 [DEBUG 13:15:41] User is offline, using already fetched title history fallback data... [DEBUG 13:15:41] Decision: Using Title History timestamp (history=Thu 05 Feb 2026, 21:30:16 > presence=Mon 08 Dec 2025, 03:45:16) ```
Author
Owner

@tomballgithub commented on GitHub (Feb 18, 2026):

Still seeing a problem with debug statements. Waiting for user to go offline.

[DEBUG 16:06:07] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 16:06:07] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 16:06:07] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 16:07:37] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 16:07:37] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 16:07:37] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 16:09:08] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 16:09:08] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 16:09:08] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 16:10:38] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 16:10:38] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 16:10:38] Presence device titles: Home [Background], NBA 2K26 [Full]
<!-- gh-comment-id:3923553128 --> @tomballgithub commented on GitHub (Feb 18, 2026): Still seeing a problem with debug statements. Waiting for user to go offline. ``` [DEBUG 16:06:07] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 16:06:07] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 16:06:07] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 16:07:37] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 16:07:37] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 16:07:37] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 16:09:08] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 16:09:08] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 16:09:08] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 16:10:38] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 16:10:38] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 16:10:38] Presence device titles: Home [Background], NBA 2K26 [Full] ```
Author
Owner

@tomballgithub commented on GitHub (Feb 19, 2026):

And this captures why it uses 'title', although at startup it was correctly using presence timestamp.

After going active, it thinks presence timestamp is presence=N/A (missing/zero))

In top example, the first debug statements being offline have incorrect data. And it uses title timestamp
[DEBUG 17:36:49] Presence data: state=offline, title_name=, game_name=, platform=, lastonline=N/A (missing/zero)
In bottom example, the first debug statements being offline have correct data. And it uses presence timestamp.
[DEBUG 18:11:03] Presence data: state=offline, title_name=, game_name=, platform=XSX, lastonline=Wed 18 Feb 2026, 18:08:08

[DEBUG 17:32:17] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 17:32:17] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 17:32:17] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 17:33:47] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 17:33:47] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 17:33:47] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 17:35:17] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 17:35:17] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 17:35:17] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 17:36:49] Presence data: state=offline, title_name=, game_name=, platform=, lastonline=N/A (missing/zero)
[DEBUG 17:36:49] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 17:36:49] Presence device titles: none
[DEBUG 17:36:49] User is offline, checking title history fallback...
[DEBUG 17:36:54] Fetched 3 history items:
[DEBUG 17:36:54]   1. NBA 2K26 for Xbox Series X|S played at Wed 18 Feb 2026, 16:02:13
[DEBUG 17:36:54]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 17:36:54]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 17:36:54] Selected title history: NBA 2K26 for Xbox Series X|S at Wed 18 Feb 2026, 16:02:13
[DEBUG 17:36:54] Decision: Using Title History timestamp (history=Wed 18 Feb 2026, 16:02:13 > presence=N/A (missing/zero))
[DEBUG 17:36:54] Current status: offline
[DEBUG 17:36:54] Title history: 1771452133 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 17:36:54] Baseline:      1771388008 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 17:36:54] Last active chosen: source=title_history, ts=Wed 18 Feb 2026, 16:02:13
Xbox user XXX changed status from online to offline
User was online for 1 hour, 32 minutes, 22 seconds (Wed 18 Feb 16:04 - 17:36)
User played 1 games for total time of 1 hour, 32 minutes
*** User got OFFLINE ! (after 1 hour, 32 minutes: Wed 18 Feb 16:04 - 17:36)
Sending email notification to XXX
Timestamp:                      Wed 18 Feb 2026, 17:36:56
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────

But then later on it worked as expected:

[DEBUG 18:04:56] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 18:04:56] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 18:06:27] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 18:06:27] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 18:06:27] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 18:07:58] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 18:07:58] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 18:07:58] Presence device titles: Home [Background], NBA 2K26 [Full]
* Error getting presence, retrying in 1 minute, 30 seconds:
Timestamp:                      Wed 18 Feb 2026, 18:09:33
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[DEBUG 18:11:03] Presence data: state=offline, title_name=, game_name=, platform=XSX, lastonline=Wed 18 Feb 2026, 18:08:08
[DEBUG 18:11:03] Presence raw: last_seen_title=Home, last_seen_device=Scarlett, last_seen_timestamp=2026-02-19T00:08:08.2210838
[DEBUG 18:11:03] Presence device titles: none
[DEBUG 18:11:03] User is offline, checking title history fallback...
[DEBUG 18:11:04] Fetched 3 history items:
[DEBUG 18:11:04]   1. NBA 2K26 for Xbox Series X|S played at Wed 18 Feb 2026, 16:02:13
[DEBUG 18:11:04]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 18:11:04]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 18:11:04] Selected title history: NBA 2K26 for Xbox Series X|S at Wed 18 Feb 2026, 16:02:13
[DEBUG 18:11:04] Decision: Using Presence timestamp (presence=Wed 18 Feb 2026, 18:08:08 >= history=Wed 18 Feb 2026, 16:02:13)
[DEBUG 18:11:04] Current status: offline
[DEBUG 18:11:04] Title history: 1771452133 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 18:11:04] Baseline:      1771452133 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 18:11:04] Last active chosen: source=presence_last_seen, ts=Wed 18 Feb 2026, 18:08:08
Xbox user XXX changed status from online to offline (XSX)
User was online for 29 minutes, 4 seconds (Wed 18 Feb 17:42 - 18:11)
User played 2 games for total time of 2 hours, 1 minute
*** User got OFFLINE ! (after 2 hours, 6 minutes: Wed 18 Feb 16:04 - 18:11)
Sending email notification to XXX
Timestamp:                      Wed 18 Feb 2026, 18:11:06
<!-- gh-comment-id:3924519505 --> @tomballgithub commented on GitHub (Feb 19, 2026): And this captures why it uses 'title', although at startup it was correctly using presence timestamp. After going active, it thinks presence timestamp is `presence=N/A (missing/zero))` In top example, the first debug statements being offline have incorrect data. And it uses title timestamp `[DEBUG 17:36:49] Presence data: state=offline, title_name=, game_name=, platform=, lastonline=N/A (missing/zero)` In bottom example, the first debug statements being offline have correct data. And it uses presence timestamp. `[DEBUG 18:11:03] Presence data: state=offline, title_name=, game_name=, platform=XSX, lastonline=Wed 18 Feb 2026, 18:08:08 ` ``` [DEBUG 17:32:17] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 17:32:17] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 17:32:17] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 17:33:47] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 17:33:47] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 17:33:47] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 17:35:17] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 17:35:17] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 17:35:17] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 17:36:49] Presence data: state=offline, title_name=, game_name=, platform=, lastonline=N/A (missing/zero) [DEBUG 17:36:49] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 17:36:49] Presence device titles: none [DEBUG 17:36:49] User is offline, checking title history fallback... [DEBUG 17:36:54] Fetched 3 history items: [DEBUG 17:36:54] 1. NBA 2K26 for Xbox Series X|S played at Wed 18 Feb 2026, 16:02:13 [DEBUG 17:36:54] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 17:36:54] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 17:36:54] Selected title history: NBA 2K26 for Xbox Series X|S at Wed 18 Feb 2026, 16:02:13 [DEBUG 17:36:54] Decision: Using Title History timestamp (history=Wed 18 Feb 2026, 16:02:13 > presence=N/A (missing/zero)) [DEBUG 17:36:54] Current status: offline [DEBUG 17:36:54] Title history: 1771452133 ('NBA 2K26 for Xbox Series X|S') [DEBUG 17:36:54] Baseline: 1771388008 ('NBA 2K26 for Xbox Series X|S') [DEBUG 17:36:54] Last active chosen: source=title_history, ts=Wed 18 Feb 2026, 16:02:13 Xbox user XXX changed status from online to offline User was online for 1 hour, 32 minutes, 22 seconds (Wed 18 Feb 16:04 - 17:36) User played 1 games for total time of 1 hour, 32 minutes *** User got OFFLINE ! (after 1 hour, 32 minutes: Wed 18 Feb 16:04 - 17:36) Sending email notification to XXX Timestamp: Wed 18 Feb 2026, 17:36:56 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── ``` But then later on it worked as expected: ``` [DEBUG 18:04:56] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 18:04:56] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 18:06:27] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 18:06:27] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 18:06:27] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 18:07:58] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 18:07:58] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 18:07:58] Presence device titles: Home [Background], NBA 2K26 [Full] * Error getting presence, retrying in 1 minute, 30 seconds: Timestamp: Wed 18 Feb 2026, 18:09:33 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── [DEBUG 18:11:03] Presence data: state=offline, title_name=, game_name=, platform=XSX, lastonline=Wed 18 Feb 2026, 18:08:08 [DEBUG 18:11:03] Presence raw: last_seen_title=Home, last_seen_device=Scarlett, last_seen_timestamp=2026-02-19T00:08:08.2210838 [DEBUG 18:11:03] Presence device titles: none [DEBUG 18:11:03] User is offline, checking title history fallback... [DEBUG 18:11:04] Fetched 3 history items: [DEBUG 18:11:04] 1. NBA 2K26 for Xbox Series X|S played at Wed 18 Feb 2026, 16:02:13 [DEBUG 18:11:04] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 18:11:04] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 18:11:04] Selected title history: NBA 2K26 for Xbox Series X|S at Wed 18 Feb 2026, 16:02:13 [DEBUG 18:11:04] Decision: Using Presence timestamp (presence=Wed 18 Feb 2026, 18:08:08 >= history=Wed 18 Feb 2026, 16:02:13) [DEBUG 18:11:04] Current status: offline [DEBUG 18:11:04] Title history: 1771452133 ('NBA 2K26 for Xbox Series X|S') [DEBUG 18:11:04] Baseline: 1771452133 ('NBA 2K26 for Xbox Series X|S') [DEBUG 18:11:04] Last active chosen: source=presence_last_seen, ts=Wed 18 Feb 2026, 18:08:08 Xbox user XXX changed status from online to offline (XSX) User was online for 29 minutes, 4 seconds (Wed 18 Feb 17:42 - 18:11) User played 2 games for total time of 2 hours, 1 minute *** User got OFFLINE ! (after 2 hours, 6 minutes: Wed 18 Feb 16:04 - 18:11) Sending email notification to XXX Timestamp: Wed 18 Feb 2026, 18:11:06 ```
Author
Owner

@tomballgithub commented on GitHub (Feb 19, 2026):

Here's an IOS app example where the debug data is shown incorrectly while 'online' but then ok once user drops 'offline':

[DEBUG 12:36:56] Presence data: state=online, title_name=, game_name=, platform=iPhone/iPad, lastonline=N/A (missing/zero)
[DEBUG 12:36:56] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 12:36:56] Presence device titles: Xbox App [Full]
Xbox user XXX changed status from offline to online (iPhone/iPad)
User was offline for 15 hours, 18 minutes, 30 seconds (Wed 18 Feb 21:18 - Thu 19 Feb 12:36)
*** User got ACTIVE ! (was offline since Wed 18 Feb 2026, 21:18:26)
Sending email notification to XXX
Timestamp:                      Thu 19 Feb 2026, 12:36:58
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[DEBUG 12:38:28] Presence data: state=online, title_name=, game_name=, platform=iPhone/iPad, lastonline=N/A (missing/zero)
[DEBUG 12:38:28] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 12:38:28] Presence device titles: Xbox App [Full]
[DEBUG 12:39:58] Presence data: state=offline, title_name=Xbox App, game_name=, platform=iPhone/iPad, lastonline=Thu 19 Feb 2026, 12:38:43
[DEBUG 12:39:58] Presence raw: last_seen_title=Xbox App, last_seen_device=iOS, last_seen_timestamp=2026-02-19T18:38:43.1520289
[DEBUG 12:39:58] Presence device titles: none
[DEBUG 12:39:58] User is offline, checking title history fallback...
[DEBUG 12:40:00] Fetched 3 history items:
[DEBUG 12:40:00]   1. NBA 2K26 for Xbox Series X|S played at Wed 18 Feb 2026, 20:38:11
[DEBUG 12:40:00]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 12:40:00]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 12:40:00] Selected title history: NBA 2K26 for Xbox Series X|S at Wed 18 Feb 2026, 20:38:11
[DEBUG 12:40:00] Decision: Using Presence timestamp (presence=Thu 19 Feb 2026, 12:38:43 >= history=Wed 18 Feb 2026, 20:38:11)
[DEBUG 12:40:00] Current status: offline
[DEBUG 12:40:00] Title history: 1771468691 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 12:40:00] Baseline:      1771468691 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 12:40:00] Last active chosen: source=presence_last_seen, ts=Thu 19 Feb 2026, 12:38:43
Xbox user XXX changed status from online to offline (iPhone/iPad)
User was online for 3 minutes, 4 seconds (Thu 19 Feb 12:36 - 12:40)
*** User got OFFLINE ! (after 3 minutes: Thu 19 Feb 12:36 - 12:40)
Sending email notification to XXX
Timestamp:                      Thu 19 Feb 2026, 12:40:02
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
<!-- gh-comment-id:3929276718 --> @tomballgithub commented on GitHub (Feb 19, 2026): Here's an IOS app example where the debug data is shown incorrectly while 'online' but then ok once user drops 'offline': ``` [DEBUG 12:36:56] Presence data: state=online, title_name=, game_name=, platform=iPhone/iPad, lastonline=N/A (missing/zero) [DEBUG 12:36:56] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 12:36:56] Presence device titles: Xbox App [Full] Xbox user XXX changed status from offline to online (iPhone/iPad) User was offline for 15 hours, 18 minutes, 30 seconds (Wed 18 Feb 21:18 - Thu 19 Feb 12:36) *** User got ACTIVE ! (was offline since Wed 18 Feb 2026, 21:18:26) Sending email notification to XXX Timestamp: Thu 19 Feb 2026, 12:36:58 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── [DEBUG 12:38:28] Presence data: state=online, title_name=, game_name=, platform=iPhone/iPad, lastonline=N/A (missing/zero) [DEBUG 12:38:28] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 12:38:28] Presence device titles: Xbox App [Full] [DEBUG 12:39:58] Presence data: state=offline, title_name=Xbox App, game_name=, platform=iPhone/iPad, lastonline=Thu 19 Feb 2026, 12:38:43 [DEBUG 12:39:58] Presence raw: last_seen_title=Xbox App, last_seen_device=iOS, last_seen_timestamp=2026-02-19T18:38:43.1520289 [DEBUG 12:39:58] Presence device titles: none [DEBUG 12:39:58] User is offline, checking title history fallback... [DEBUG 12:40:00] Fetched 3 history items: [DEBUG 12:40:00] 1. NBA 2K26 for Xbox Series X|S played at Wed 18 Feb 2026, 20:38:11 [DEBUG 12:40:00] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 12:40:00] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 12:40:00] Selected title history: NBA 2K26 for Xbox Series X|S at Wed 18 Feb 2026, 20:38:11 [DEBUG 12:40:00] Decision: Using Presence timestamp (presence=Thu 19 Feb 2026, 12:38:43 >= history=Wed 18 Feb 2026, 20:38:11) [DEBUG 12:40:00] Current status: offline [DEBUG 12:40:00] Title history: 1771468691 ('NBA 2K26 for Xbox Series X|S') [DEBUG 12:40:00] Baseline: 1771468691 ('NBA 2K26 for Xbox Series X|S') [DEBUG 12:40:00] Last active chosen: source=presence_last_seen, ts=Thu 19 Feb 2026, 12:38:43 Xbox user XXX changed status from online to offline (iPhone/iPad) User was online for 3 minutes, 4 seconds (Thu 19 Feb 12:36 - 12:40) *** User got OFFLINE ! (after 3 minutes: Thu 19 Feb 12:36 - 12:40) Sending email notification to XXX Timestamp: Thu 19 Feb 2026, 12:40:02 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── ```
Author
Owner

@misiektoja commented on GitHub (Feb 20, 2026):

Ok, the issue is clear now. The core challenge is that Xbox presence data is inconsistent around transitions: while online, last_seen is empty and right after an online -> offline flip it may briefly arrive missing before updating. I added a short offline grace-retry window, a cached last valid presence timestamp fallback and clearer debug source/confidence tags so we can avoid bad assumptions and see exactly why a timestamp was chosen. This should reduce false title-history fallbacks and make remaining API timing edge cases explicit in logs. Let me know!

<!-- gh-comment-id:3936541630 --> @misiektoja commented on GitHub (Feb 20, 2026): Ok, the issue is clear now. The core challenge is that Xbox presence data is inconsistent around transitions: while online, last_seen is empty and right after an online -> offline flip it may briefly arrive missing before updating. I added a short offline grace-retry window, a cached last valid presence timestamp fallback and clearer debug source/confidence tags so we can avoid bad assumptions and see exactly why a timestamp was chosen. This should reduce false title-history fallbacks and make remaining API timing edge cases explicit in logs. Let me know!
Author
Owner

@tomballgithub commented on GitHub (Feb 21, 2026):

The end result looks correct, but I have some questions on the debug information

presence_raw is blank until 22:04:34.
lastonline = N/A (missing/zero) until 22:04:34
is this expected when online and it's available when offline?

something happens at 21:32:49 where it thinks user went offline
is this expected? or at least OK?

[DEBUG 21:08:06] Presence data: state=offline, title_name=NBA 2K26, game_name=, platform=XSX, lastonline=Fri 20 Feb 2026, 17:06:34
[DEBUG 21:08:06] Presence raw: last_seen_title=NBA 2K26, last_seen_device=Scarlett, last_seen_timestamp=2026-02-20T23:06:34.5613804
[DEBUG 21:08:06] Presence device titles: none
[DEBUG 21:08:06] User is offline, checking title history fallback...
[DEBUG 21:08:06] Fetched 3 history items:
[DEBUG 21:08:06]   1. NBA 2K26 for Xbox Series X|S played at Fri 20 Feb 2026, 16:42:08
[DEBUG 21:08:06]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 21:08:06]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 21:08:06] Selected title history: NBA 2K26 for Xbox Series X|S at Fri 20 Feb 2026, 16:42:08
[DEBUG 21:08:06] Decision: Using Presence timestamp (presence=Fri 20 Feb 2026, 17:06:34 >= history=Fri 20 Feb 2026, 16:42:08)
[DEBUG 21:08:06] Current status: offline
[DEBUG 21:08:06] Title history: 1771627328 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 21:08:06] Baseline:      1771627328 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 21:08:06] Last active chosen: source=presence_last_seen_live, confidence=high, ts=Fri 20 Feb 2026, 17:06:34
[DEBUG 21:13:07] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:13:07] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:13:07] Presence device titles: Home [Background], NBA 2K26 [Full]
Xbox user XXX changed status from offline to online (XSX)
User was offline for 4 hours, 6 minutes, 11 seconds (Fri 20 Feb 26, 17:06 - Fri 20 Feb 26, 21:13)
*** User got ACTIVE ! (was offline since Fri 20 Feb 2026, 17:06:56)
User is currently in-game: NBA 2K26 (XSX)
Sending email notification toXXX
Timestamp:                      Fri 20 Feb 2026, 21:13:09
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Xbox user XXXg started playing 'NBA 2K26' (XSX)
Sending email notification to XXX
Timestamp:                      Fri 20 Feb 2026, 21:13:12
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[DEBUG 21:14:42] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:14:42] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:14:42] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:16:13] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:16:13] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:16:13] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:17:43] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:17:43] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:17:43] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:19:13] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:19:13] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:19:13] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:20:44] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:20:44] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:20:44] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:22:14] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:22:14] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:22:14] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:23:45] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:23:45] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:23:45] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:25:15] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:25:15] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:25:15] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:26:46] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:26:46] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:26:46] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:28:16] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:28:16] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:28:16] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:29:46] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:29:46] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:29:46] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:31:17] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:31:17] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:31:17] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:32:49] Presence data: state=offline, title_name=, game_name=, platform=, lastonline=N/A (missing/zero)
[DEBUG 21:32:49] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:32:49] Presence device titles: none
[DEBUG 21:32:49] Offline transition with missing presence timestamp, retrying presence up to 3x every 2s...
[DEBUG 21:32:53] Presence data: state=offline, title_name=, game_name=, platform=, lastonline=N/A (missing/zero)
[DEBUG 21:32:53] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:32:53] Presence device titles: none
[DEBUG 21:32:53] Grace retry 1/3: state=offline, lastonline=N/A (missing/zero)
[DEBUG 21:32:55] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:32:55] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:32:55] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:32:55] Grace retry 2/3: state=online, lastonline=N/A (missing/zero)
[DEBUG 21:32:55] Grace retry indicates user is no longer offline; skipping offline fallback in this poll.
[DEBUG 21:34:26] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:34:26] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:34:26] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:35:56] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:35:56] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:35:56] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:37:26] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:37:26] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:37:26] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:38:57] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:38:57] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:38:57] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:40:27] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:40:27] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:40:27] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:41:58] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:41:58] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:41:58] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:43:28] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:43:28] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:43:28] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:44:58] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:44:58] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:44:58] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:46:29] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:46:29] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:46:29] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:47:59] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:47:59] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:47:59] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:49:30] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:49:30] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:49:30] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:51:00] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:51:00] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:51:00] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:52:30] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:52:30] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:52:30] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:54:01] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:54:01] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:54:01] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:55:31] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:55:31] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:55:31] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:57:02] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:57:02] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:57:02] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 21:58:32] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 21:58:32] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 21:58:32] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 22:00:03] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 22:00:03] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 22:00:03] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 22:01:33] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 22:01:33] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 22:01:33] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 22:03:03] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero)
[DEBUG 22:03:03] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp=
[DEBUG 22:03:03] Presence device titles: Home [Background], NBA 2K26 [Full]
[DEBUG 22:04:34] Presence data: state=offline, title_name=NBA 2K26, game_name=, platform=XSX, lastonline=Fri 20 Feb 2026, 22:04:13
[DEBUG 22:04:34] Presence raw: last_seen_title=NBA 2K26, last_seen_device=Scarlett, last_seen_timestamp=2026-02-21T04:04:13.9136735
[DEBUG 22:04:34] Presence device titles: none
[DEBUG 22:04:34] User is offline, checking title history fallback...
[DEBUG 22:04:34] Fetched 3 history items:
[DEBUG 22:04:34]   1. NBA 2K26 for Xbox Series X|S played at Fri 20 Feb 2026, 21:10:11
[DEBUG 22:04:34]   2. Minecraft played at Wed 04 Feb 2026, 16:14:02
[DEBUG 22:04:34]   3. Fortnite played at Sat 27 Dec 2025, 16:48:13
[DEBUG 22:04:34] Selected title history: NBA 2K26 for Xbox Series X|S at Fri 20 Feb 2026, 21:10:11
[DEBUG 22:04:34] Decision: Using Presence timestamp (presence=Fri 20 Feb 2026, 22:04:13 >= history=Fri 20 Feb 2026, 21:10:11)
[DEBUG 22:04:34] Current status: offline
[DEBUG 22:04:34] Title history: 1771643411 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 22:04:34] Baseline:      1771627328 ('NBA 2K26 for Xbox Series X|S')
[DEBUG 22:04:34] Last active chosen: source=presence_last_seen_live, confidence=high, ts=Fri 20 Feb 2026, 22:04:13
Xbox user XXX changed status from online to offline (XSX)
User was online for 51 minutes, 27 seconds (Fri 20 Feb 26, 21:13 - Fri 20 Feb 26, 22:04)
User played 1 games for total time of 51 minutes, 27 seconds
*** User got OFFLINE ! (after 51 minutes: Fri 20 Feb 26, 21:13 - Fri 20 Feb 26, 22:04)
Sending email notification to XXX
Timestamp:                      Fri 20 Feb 2026, 22:04:37
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Xbox user XXX stopped playing 'NBA 2K26' after 51 minutes, 27 seconds
User played game from Fri 20 Feb 26, 21:13 to Fri 20 Feb 26, 22:04
Sending email notification to XXX
Timestamp:                      Fri 20 Feb 2026, 22:04:39
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
<!-- gh-comment-id:3938189710 --> @tomballgithub commented on GitHub (Feb 21, 2026): The end result looks correct, but I have some questions on the debug information presence_raw is blank until 22:04:34. lastonline = N/A (missing/zero) until 22:04:34 is this expected when online and it's available when offline? something happens at 21:32:49 where it thinks user went offline is this expected? or at least OK? ``` [DEBUG 21:08:06] Presence data: state=offline, title_name=NBA 2K26, game_name=, platform=XSX, lastonline=Fri 20 Feb 2026, 17:06:34 [DEBUG 21:08:06] Presence raw: last_seen_title=NBA 2K26, last_seen_device=Scarlett, last_seen_timestamp=2026-02-20T23:06:34.5613804 [DEBUG 21:08:06] Presence device titles: none [DEBUG 21:08:06] User is offline, checking title history fallback... [DEBUG 21:08:06] Fetched 3 history items: [DEBUG 21:08:06] 1. NBA 2K26 for Xbox Series X|S played at Fri 20 Feb 2026, 16:42:08 [DEBUG 21:08:06] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 21:08:06] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 21:08:06] Selected title history: NBA 2K26 for Xbox Series X|S at Fri 20 Feb 2026, 16:42:08 [DEBUG 21:08:06] Decision: Using Presence timestamp (presence=Fri 20 Feb 2026, 17:06:34 >= history=Fri 20 Feb 2026, 16:42:08) [DEBUG 21:08:06] Current status: offline [DEBUG 21:08:06] Title history: 1771627328 ('NBA 2K26 for Xbox Series X|S') [DEBUG 21:08:06] Baseline: 1771627328 ('NBA 2K26 for Xbox Series X|S') [DEBUG 21:08:06] Last active chosen: source=presence_last_seen_live, confidence=high, ts=Fri 20 Feb 2026, 17:06:34 [DEBUG 21:13:07] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:13:07] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:13:07] Presence device titles: Home [Background], NBA 2K26 [Full] Xbox user XXX changed status from offline to online (XSX) User was offline for 4 hours, 6 minutes, 11 seconds (Fri 20 Feb 26, 17:06 - Fri 20 Feb 26, 21:13) *** User got ACTIVE ! (was offline since Fri 20 Feb 2026, 17:06:56) User is currently in-game: NBA 2K26 (XSX) Sending email notification toXXX Timestamp: Fri 20 Feb 2026, 21:13:09 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── Xbox user XXXg started playing 'NBA 2K26' (XSX) Sending email notification to XXX Timestamp: Fri 20 Feb 2026, 21:13:12 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── [DEBUG 21:14:42] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:14:42] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:14:42] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:16:13] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:16:13] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:16:13] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:17:43] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:17:43] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:17:43] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:19:13] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:19:13] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:19:13] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:20:44] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:20:44] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:20:44] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:22:14] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:22:14] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:22:14] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:23:45] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:23:45] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:23:45] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:25:15] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:25:15] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:25:15] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:26:46] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:26:46] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:26:46] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:28:16] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:28:16] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:28:16] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:29:46] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:29:46] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:29:46] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:31:17] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:31:17] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:31:17] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:32:49] Presence data: state=offline, title_name=, game_name=, platform=, lastonline=N/A (missing/zero) [DEBUG 21:32:49] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:32:49] Presence device titles: none [DEBUG 21:32:49] Offline transition with missing presence timestamp, retrying presence up to 3x every 2s... [DEBUG 21:32:53] Presence data: state=offline, title_name=, game_name=, platform=, lastonline=N/A (missing/zero) [DEBUG 21:32:53] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:32:53] Presence device titles: none [DEBUG 21:32:53] Grace retry 1/3: state=offline, lastonline=N/A (missing/zero) [DEBUG 21:32:55] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:32:55] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:32:55] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:32:55] Grace retry 2/3: state=online, lastonline=N/A (missing/zero) [DEBUG 21:32:55] Grace retry indicates user is no longer offline; skipping offline fallback in this poll. [DEBUG 21:34:26] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:34:26] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:34:26] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:35:56] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:35:56] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:35:56] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:37:26] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:37:26] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:37:26] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:38:57] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:38:57] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:38:57] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:40:27] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:40:27] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:40:27] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:41:58] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:41:58] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:41:58] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:43:28] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:43:28] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:43:28] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:44:58] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:44:58] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:44:58] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:46:29] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:46:29] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:46:29] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:47:59] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:47:59] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:47:59] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:49:30] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:49:30] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:49:30] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:51:00] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:51:00] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:51:00] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:52:30] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:52:30] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:52:30] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:54:01] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:54:01] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:54:01] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:55:31] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:55:31] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:55:31] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:57:02] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:57:02] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:57:02] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 21:58:32] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 21:58:32] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 21:58:32] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 22:00:03] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 22:00:03] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 22:00:03] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 22:01:33] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 22:01:33] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 22:01:33] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 22:03:03] Presence data: state=online, title_name=, game_name=NBA 2K26, platform=XSX, lastonline=N/A (missing/zero) [DEBUG 22:03:03] Presence raw: last_seen_title=, last_seen_device=, last_seen_timestamp= [DEBUG 22:03:03] Presence device titles: Home [Background], NBA 2K26 [Full] [DEBUG 22:04:34] Presence data: state=offline, title_name=NBA 2K26, game_name=, platform=XSX, lastonline=Fri 20 Feb 2026, 22:04:13 [DEBUG 22:04:34] Presence raw: last_seen_title=NBA 2K26, last_seen_device=Scarlett, last_seen_timestamp=2026-02-21T04:04:13.9136735 [DEBUG 22:04:34] Presence device titles: none [DEBUG 22:04:34] User is offline, checking title history fallback... [DEBUG 22:04:34] Fetched 3 history items: [DEBUG 22:04:34] 1. NBA 2K26 for Xbox Series X|S played at Fri 20 Feb 2026, 21:10:11 [DEBUG 22:04:34] 2. Minecraft played at Wed 04 Feb 2026, 16:14:02 [DEBUG 22:04:34] 3. Fortnite played at Sat 27 Dec 2025, 16:48:13 [DEBUG 22:04:34] Selected title history: NBA 2K26 for Xbox Series X|S at Fri 20 Feb 2026, 21:10:11 [DEBUG 22:04:34] Decision: Using Presence timestamp (presence=Fri 20 Feb 2026, 22:04:13 >= history=Fri 20 Feb 2026, 21:10:11) [DEBUG 22:04:34] Current status: offline [DEBUG 22:04:34] Title history: 1771643411 ('NBA 2K26 for Xbox Series X|S') [DEBUG 22:04:34] Baseline: 1771627328 ('NBA 2K26 for Xbox Series X|S') [DEBUG 22:04:34] Last active chosen: source=presence_last_seen_live, confidence=high, ts=Fri 20 Feb 2026, 22:04:13 Xbox user XXX changed status from online to offline (XSX) User was online for 51 minutes, 27 seconds (Fri 20 Feb 26, 21:13 - Fri 20 Feb 26, 22:04) User played 1 games for total time of 51 minutes, 27 seconds *** User got OFFLINE ! (after 51 minutes: Fri 20 Feb 26, 21:13 - Fri 20 Feb 26, 22:04) Sending email notification to XXX Timestamp: Fri 20 Feb 2026, 22:04:37 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── Xbox user XXX stopped playing 'NBA 2K26' after 51 minutes, 27 seconds User played game from Fri 20 Feb 26, 21:13 to Fri 20 Feb 26, 22:04 Sending email notification to XXX Timestamp: Fri 20 Feb 2026, 22:04:39 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────── ```
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/xbox_monitor#5
No description provided.