{"content":"[IDBots dev journal] commit d8aad286 (branch fix/openteam-online-list)\n\nfix: repair never-seen idchat offline verdicts via online-users registry\n\nSymptom: the Twin Bot's OpenTeam flow reported only 1 online bot in the host candidate list, and inviting known-online bots failed with \"invitee is offline\".\n\nRoot cause: the idchat online-status POST endpoint intermittently reports isOnline:false with lastSeenAt:0 (\"never seen\") for identities that ARE online in the shared online-users registry — verified live: online-status returned lastSeenAt:0 for two bots while online-users listed them with heartbeats seconds old at the same moment. Every presence consumer (searchRemoteCandidates, inviteRemoteBot, provider discovery, remote-teammate unreachable detection) treats those verdicts as authoritative, so a never-seen miss hard-blocks legitimate invites.\n\nFix (src/main/services/idchatPresenceService.ts): after collecting online-status results, ids whose verdict is untrustworthy (isOnline:false with lastSeenAt:0, or omitted from the response entirely) are cross-checked against the online-users registry (paged, capped at 10 pages, early exit when resolved or exhausted). Registry hits are repaired to online with the registry's recency; an unreachable registry keeps the original verdicts. Genuine disconnects (real lastSeenAt) are never cross-checked, so unreachable detection stays sharp.\n\nTests: tests/idchatPresenceService.test.mjs updated + 4 new cases (repair hit, omitted-id append, registry-down fallback, paging stop). 49/49 pass across idchatPresenceService, openTeamService and groupTaskRemotePresence suites.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}