You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tag sticky notes with the windowUid of the Hyperia window that owned them at creation time, so layout save (#82) can capture which stickies were visible per window and restore (#83) can show the right ones.
Current state
Sticky notes (app/sticky.ts:252-264 NoteData) are app-global:
Stickies persist to ~/.hyperia/stickys/notes.json as a flat list. They are not bound to any specific Hyperia window — they float free.
Scope
Add optional windowUid?: string to NoteData
When createStickyNote is called from a window context (e.g. via the MCP sticky_note_create tool issued by an agent in a specific window), tag the note with that window's UID
Add helper listStickiesForWindow(windowUid: string): NoteData[] that returns notes with matching windowUid and no last_closed_at (i.e. visible)
Goal
Tag sticky notes with the
windowUidof the Hyperia window that owned them at creation time, so layout save (#82) can capture which stickies were visible per window and restore (#83) can show the right ones.Current state
Sticky notes (
app/sticky.ts:252-264 NoteData) are app-global:Stickies persist to
~/.hyperia/stickys/notes.jsonas a flat list. They are not bound to any specific Hyperia window — they float free.Scope
windowUid?: stringtoNoteDatacreateStickyNoteis called from a window context (e.g. via the MCPsticky_note_createtool issued by an agent in a specific window), tag the note with that window's UIDlistStickiesForWindow(windowUid: string): NoteData[]that returns notes with matchingwindowUidand nolast_closed_at(i.e. visible)listStickiesForWindow(windowUid)intoSavedLayout.stickyIdsstickyIds[i], ensure the note window is open at its saved geometryEdge cases
windowUid— they remain global, not tied to any windowwindowUidwindow is gone but the user wants to restore the sticky → fall back to the most recently focused window or skipFiles touched
app/sticky.ts— extend NoteData, addlistStickiesForWindow, acceptwindowUidincreateStickyNotesidecar/src/ghost/registry.rsandsidecar/src/mcp.rs— when an agent creates a sticky, pass through the originating window UIDapp/ui/window.ts— pass window UID through to sticky creation calls when relevantDepends on
#82 (which defines the
windowUidconcept andSavedLayout.stickyIdsfield). Can be implemented as data-only first, with restore behavior added in #83.