Memory-Pills: Pill-Klick öffnet den Chat (pendingJobSelection) statt stummer No-Op #40

Closed
opened 2026-10-13 16:54:53 +00:00 by alf · 3 comments
Owner

Klick auf eine Memory-Pill im Chat (z. B. im „Iris — Lokal"-Fenster) tut sichtbar nichts: openMemoryFile guardet über die lokale Dateiliste und returnet ohne Log, wenn die Datei fehlt; in Remote-Kontexten durchsucht es das Home-Verzeichnis der Klient-Maschine, wo die Dateien nie liegen. Teil der Pills zeigt zudem auf gelöschte Dateien (verwaister Memory-Index, Skill-Seite — separates Issue im 2ndbrain-Repo).

Fix:

  • Chat-ähnliche Pills (source chats/dreamer-ok/dreamer-templates): ID in client.jobs auflösen (exakte Voll-UUID, Fallback 8-Char-Präfix für ältere Chats) und client.pendingJobSelection setzen — uniform lokal UND remote, gleiche Mechanik wie iris://chat (2.0.1, #38).
  • Workspaces: lokaler Application-Support-Lookup; Treffer öffnet das erste .md im Workspace-Verzeichnis im Markdown-Preview-Panel.
  • Nie stumm: jeder Klick wird geloggt (os.log, Kategorie MemoryPill); Nicht-gefunden zeigt ein NSAlert mit Titel + ID.
  • MemoryResultPillsView/ChatBubbleView erhalten einen optionalen onOpenMemoryPill-Callback, den RemoteJobChatView setzt; ohne Callback bleibt das alte Verhalten (Kompatibilität mit lokalen Agent-Job-Panels).
Klick auf eine Memory-Pill im Chat (z. B. im „Iris — Lokal"-Fenster) tut sichtbar nichts: `openMemoryFile` guardet über die lokale Dateiliste und `return`et ohne Log, wenn die Datei fehlt; in Remote-Kontexten durchsucht es das Home-Verzeichnis der Klient-Maschine, wo die Dateien nie liegen. Teil der Pills zeigt zudem auf gelöschte Dateien (verwaister Memory-Index, Skill-Seite — separates Issue im 2ndbrain-Repo). Fix: - Chat-ähnliche Pills (source chats/dreamer-ok/dreamer-templates): ID in `client.jobs` auflösen (exakte Voll-UUID, Fallback 8-Char-Präfix für ältere Chats) und `client.pendingJobSelection` setzen — uniform lokal UND remote, gleiche Mechanik wie iris://chat (2.0.1, #38). - Workspaces: lokaler Application-Support-Lookup; Treffer öffnet das erste .md im Workspace-Verzeichnis im Markdown-Preview-Panel. - Nie stumm: jeder Klick wird geloggt (os.log, Kategorie MemoryPill); Nicht-gefunden zeigt ein NSAlert mit Titel + ID. - `MemoryResultPillsView`/`ChatBubbleView` erhalten einen optionalen `onOpenMemoryPill`-Callback, den `RemoteJobChatView` setzt; ohne Callback bleibt das alte Verhalten (Kompatibilität mit lokalen Agent-Job-Panels).
Author
Owner

PR #41 gemergt: fix(remote): Memory-Pill-Klick öffnet Chat per pendingJobSelection, nie stumm (#40)
#41

Commits:

  • fix(remote): Memory-Pill-Klick öffnet Chat per pendingJobSelection, nie stumm (#40)
PR #41 gemergt: fix(remote): Memory-Pill-Klick öffnet Chat per pendingJobSelection, nie stumm (#40) https://forgejo.lewerken.duckdns.org/iris/Iris/pulls/41 Commits: - fix(remote): Memory-Pill-Klick öffnet Chat per pendingJobSelection, nie stumm (#40)
Author
Owner

Stand nach PR #41 (merged, main 7bb984d):

Umgesetzt:

  • Chat-ähnliche Pills (chats/dreamer-ok/dreamer-templates): id in client.jobs auflösen (exakte Voll-UUID, Fallback 8-Char-Präfix für ältere Chats) → client.pendingJobSelection — uniform lokal UND remote, gleiche Mechanik wie iris://chat (2.0.1)
  • Workspaces: lokaler Application-Support-Lookup; Treffer öffnet das erste .md im Verzeichnis im Markdown-Preview
  • Nie stumm: jeder Klick wird geloggt (os.log, Kategorie MemoryPill); Nicht-gefunden zeigt NSAlert mit Titel + ID
  • MemoryResultPillsView/ChatBubbleView erhalten optionalen onOpenMemoryPill-Callback (setzt RemoteJobChatView; ohne Callback bleibt das alte Verhalten)

Verifiziert: Xcode-Build OK; neue Symbole (openMemoryPill, reportUnresolvedPill) und der Alert-String im gebauten Iris.debug.dylib nachgewiesen. Die noch laufende Instanz (18:12-Build) enthält den alten Code — der Fix greift beim nächsten Start.

Grenzen: Workspace-Pills gegen einen REMOTE-Server suchen weiterhin im Home-Verzeichnis der Klient-Maschine (dort fehlen die Dateien) → NSAlert statt Stille; die Öffnung über den Server ist bewusster Follow-up.

Stand nach PR #41 (merged, main 7bb984d): Umgesetzt: - Chat-ähnliche Pills (chats/dreamer-ok/dreamer-templates): id in `client.jobs` auflösen (exakte Voll-UUID, Fallback 8-Char-Präfix für ältere Chats) → `client.pendingJobSelection` — uniform lokal UND remote, gleiche Mechanik wie iris://chat (2.0.1) - Workspaces: lokaler Application-Support-Lookup; Treffer öffnet das erste .md im Verzeichnis im Markdown-Preview - Nie stumm: jeder Klick wird geloggt (os.log, Kategorie MemoryPill); Nicht-gefunden zeigt NSAlert mit Titel + ID - `MemoryResultPillsView`/`ChatBubbleView` erhalten optionalen `onOpenMemoryPill`-Callback (setzt `RemoteJobChatView`; ohne Callback bleibt das alte Verhalten) Verifiziert: Xcode-Build OK; neue Symbole (`openMemoryPill`, `reportUnresolvedPill`) und der Alert-String im gebauten `Iris.debug.dylib` nachgewiesen. Die noch laufende Instanz (18:12-Build) enthält den alten Code — der Fix greift beim nächsten Start. Grenzen: Workspace-Pills gegen einen REMOTE-Server suchen weiterhin im Home-Verzeichnis der Klient-Maschine (dort fehlen die Dateien) → NSAlert statt Stille; die Öffnung über den Server ist bewusster Follow-up.
Author
Owner

Nachtrag (2026-10-22)

Auf iOS öffnete ein Tipp auf eine Memory-Pill die Log-Notiz statt des Chats (Fund von Alf). Gegenstück: iris/2ndbrain-ios#39 (Pill-ID wird wie auf dem Mac in der Job-Liste aufgelöst, sonst bleibt das Blatt mit der Log-Notiz). Auf dem Mac gilt weiter der Stand aus PR #41; getestet ist es auf dem Mac und iOS noch nicht auf dem Gerät.

## Nachtrag (2026-10-22) Auf iOS öffnete ein Tipp auf eine Memory-Pill die Log-Notiz statt des Chats (Fund von Alf). Gegenstück: iris/2ndbrain-ios#39 (Pill-ID wird wie auf dem Mac in der Job-Liste aufgelöst, sonst bleibt das Blatt mit der Log-Notiz). Auf dem Mac gilt weiter der Stand aus PR #41; getestet ist es auf dem Mac und iOS noch nicht auf dem Gerät.
alf closed this issue 2026-10-21 23:27:16 +00:00
Sign in to join this conversation.
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
iris/Iris#40
No description provided.