diff --git a/TODO.md b/TODO.md
index 8529c68..6d56219 100644
--- a/TODO.md
+++ b/TODO.md
@@ -25,6 +25,7 @@
- [x] Falsche Nachrichtenanzahl im Dashboard (tool uses werden fälschicherweise mitgezählt) - dasselbe bei "Ältere Nachrichten laden" im Chat
- [x] Beim Benutzen vom Tool "todo_write": beim streamen ist der text abgeschnitten (limitiert), nach dem poll (history laden) passt es wieder. es soll beim stream auch vollständig angezeigt werden und nicht mit "..." enden
- [x] Manchmal passiert es wenn ein Agent die Memory-Funktion hat, dass er sich selbst Memories einträgt - das ist auch ok so, aber, manchmal werden "dumme" erinnerungen gesetzt, die nur session-bezogen sind (und nicht agent-bezogen) und diese sind dann fast immer einfach nur copy&paste aus dem session system-prompt. Woran kann das liegen bzw. wie kann man das optimieren?
+- [x] File Explorer im Frontend, Klick auf `.fe-item` ignoriert das padding, sprich man muss genau auf den Text klicken, damit der Klick genommen wird
## Backend
- [x] System-Prompt anpassen. Explizit auf Workspace-Pfad hinweisen, weil Model halluziniert oft und will in den nicht vorhandenen Pfad /workspace wechseln
@@ -46,7 +47,7 @@
- [x] ~~Claude (Sub-)Agents~~ – Nicht umsetzbar: Claude Code Sub-Agents sind ein CLI-Feature, nicht über die Messages API verfügbar. Eigenes Sub-Agent-System (Preparer/Review/Finalizer) deckt den Use-Case bereits ab.
## Features aus Devy übernehmen
-- [ ] 💬 Typing-Indicator - Animierter Indikator statt statischem "Streaming..."
+- [x] 💬 Typing-Indicator - Animierter Indikator statt statischem "Streaming..."
- [ ] 🎨 Chat-Hintergründe - Benutzerdefinierte Hintergründe pro Session
- [x] 👤 User-Management - Admin-only: Benutzer CRUD, Login-as-User, Default-Pfade
- [x] 🖥️ Windows Desktop App - WPF + WebView2 Wrapper mit konfigurierbarer URL
diff --git a/wwwroot/js/file-explorer.js b/wwwroot/js/file-explorer.js
index 468a2ba..6763cfd 100644
--- a/wwwroot/js/file-explorer.js
+++ b/wwwroot/js/file-explorer.js
@@ -145,10 +145,6 @@ async function feLoadDir(path) {
const label = document.createElement('span');
label.className = 'fe-dir-label';
label.innerHTML = ' ' + esc(entry.name);
- label.addEventListener('click', () => {
- _feState.history.push(path);
- feLoadDir(entry.path);
- });
item.appendChild(label);
const delBtn = document.createElement('button');
@@ -160,6 +156,11 @@ async function feLoadDir(path) {
feDeleteDir(entry.path, entry.name);
});
item.appendChild(delBtn);
+
+ item.addEventListener('click', () => {
+ _feState.history.push(path);
+ feLoadDir(entry.path);
+ });
} else {
item.classList.add('fe-file');
const icon = entry.isText ? '' : getFileIcon(entry.ext);