Frontmatter
| id | 8175 |
| title | Implement Window Connect/Disconnect Notifications for Neural Link |
| state | Closed |
| labels | enhancementai |
| assignees | tobiu |
| createdAt | Dec 28, 2025, 6:39 PM |
| updatedAt | Dec 28, 2025, 6:50 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8175 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8169 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Dec 28, 2025, 6:50 PM |
Implement Window Connect/Disconnect Notifications for Neural Link
tobiu added parent issue #8169 on Dec 28, 2025, 6:39 PM
tobiu assigned to @tobiu on Dec 28, 2025, 6:39 PM

tobiu
Dec 28, 2025, 6:49 PM
Input from Gemini 3:
✦ Implementation Complete
I have implemented the notification layer to track window lifecycle in real-time.
- Client (
Client.mjs): Added event listeners forNeo.currentWorkerconnectanddisconnectevents.- Protocol: Implemented
window_connected(sending geometry & metadata) andwindow_disconnectednotifications.- Server (
ConnectionService.mjs): Updated#handleMessageto process these notifications and maintain a live registry of active windows insessionData. This removes the need for polling to discover topology.
tobiu closed this issue on Dec 28, 2025, 6:50 PM
The App Worker must track main thread lifecycle and notify the Neural Link server.
Requirements:
Client (
src/ai/Client.mjs):Neo.currentWorkerconnectanddisconnectevents.onAppWorkerWindowConnect: Sendwindow_connectednotification with window metadata (id, appName, rects).onAppWorkerWindowDisconnect: Sendwindow_disconnectednotification.Server (
ConnectionService.mjs):window_connectednotification: UpdatesessionData'swindowsmap.window_disconnectednotification: Remove fromsessionData'swindowsmap.getWindowTopologyto use this cached data instead of polling (or in addition to).Goal: Ensure the Neural Link server has an up-to-date view of connected windows without needing to poll, and correctly handles window closures.