Agent Zero
e9a5eee524
Phase 0.2: migrate UI component SVGs to lucide-react
...
- Button.tsx: Loader2 spinner
- EmptyState.tsx: FolderOpen default icon
- Modal.tsx: X close icon
- Pagination.tsx: ChevronLeft/ChevronRight
- Table.tsx: Loader2 loading spinner
- Toast.tsx: Check/X/AlertTriangle/Info + X close
- lucide-react v1.25.0 installed
- All 85 UI tests pass
- 2 pre-existing TSC errors in Dms.tsx (unrelated)
2026-07-23 00:47:23 +02:00
Agent Zero
ba06214efa
fix: quick-access button title matching for plugin rooms (Assistent, Live KI, System)
2026-07-22 01:56:25 +02:00
Agent Zero
cc3ac9a43d
feat: Unified Messaging System — kommunikation plugin, AI/Proactive/System participants, MessageSidebar, Rich Content Renderer
...
Phase 1: Backend plugin kommunikation (13 files, 10 tables, REST API, WebSocket, RBAC, DMS Bridge, Participant Registry, Mini-App Registry, Search Provider)
Phase 2: AI plugins as participants (ai_assistant + ai_proactive dock as participants, heartbeat job)
Phase 3: system_notif plugin (system events → chat messages, pinned System room)
Phase 4: Frontend MessageSidebar (replaces AISidebar, same design, comm API client, WebSocket hook, commStore)
Phase 5: Rich Content Block Renderer (11 components: Markdown, HTML, Image, Audio, Video, File, ActionCard, ContactCard, MiniApp, BlockRenderer)
BasePlugin: added services property + _container in on_activate
2026-07-22 01:22:15 +02:00
Agent Zero
5980d38c66
AISidebar: add Team panel with users/groups and online status, add Chat panel placeholder
2026-07-21 23:11:17 +02:00
Agent Zero
650f6e6723
AISidebar: rename Proaktiv to Live KI, align icon strip border with TopBar, notifications as slim cards
2026-07-21 23:01:21 +02:00
Agent Zero
a4793991dd
AISidebar: replace horizontal tabs with icon strip layout, show active tab title below icons
2026-07-21 22:50:45 +02:00
Agent Zero
b30d1e9300
AISidebar: robot icon for AI, move notifications from TopBar to AISidebar with own tab and bell icon
2026-07-21 22:38:45 +02:00
Agent Zero
abdcd07b07
Sidebar toggle button: match sidebar background color
2026-07-21 22:28:05 +02:00
Agent Zero
719a4773d7
Align sidebar header border with TopBar border (h-[58px])
2026-07-21 22:21:54 +02:00
Agent Zero
5adaee25a0
Sidebar: narrower width (w-56), tree structure with expandable sub-menus for Calendar, Files, Email
2026-07-21 22:18:19 +02:00
Agent Zero
157ff7dfc9
Move Profile to own page, add Profile menu item in TopBar user menu
2026-07-21 22:08:32 +02:00
Agent Zero
a69035eebb
Calendar rewrite: 3-column layout with tree, multi-view (day/week/month/range), detail panel
2026-07-21 09:35:48 +02:00
Leopoldadmin
cfb52d3c69
Multi-selection: Shift+Click range, Ctrl/Cmd+Click toggle, rubber-band drag, mobile long-press
2026-07-20 22:55:09 +00:00
Leopoldadmin
f08933a97c
DMS: SourceTree drop targets + draggable folders
2026-07-20 22:33:51 +00:00
Leopoldadmin
d5a836c0c7
DMS: drag-and-drop for files + styling fixes
2026-07-20 22:33:51 +00:00
Agent Zero
e94e64ba6b
DMS redesign: 3-column explorer layout with toolbar, source tree, file details panel
...
- Add backend endpoints: GET /dms/files, GET /dms/folders/{id}/files
- New SourceTree component: sources (Meine Dateien, Geteilte Ordner, Externe Speicher)
- New FileExplorer component: 5 view modes (list, table, icons-sm/md/lg)
- New FileDetails component: right panel with file metadata and actions
- Rewrite Dms.tsx: PluginToolbar + 3-column ResizablePanel layout
- Update DmsFile type: size_bytes + uploaded_by (backward compat aliases)
- Add 60+ i18n keys for de/en
2026-07-20 17:31:04 +02:00
Agent Zero
2a33b5706a
fix: remove redundant reply/forward action bar from MailDetail
2026-07-20 10:55:03 +02:00
Agent Zero
9da04057b9
feat: mail list font size, remove Termin toolbar, rename Flagge to Markierung with symbol picker
...
- Mail list: title and subject font text-xs -> text-sm
- Remove Termin (create-event) toolbar button
- Rename Flagge -> Markierung with select dropdown (star, flag, bookmark, important, question)
- Backend: add flag_type column to Mail model + migration 0006
- Backend: flag_type in MailFlagsUpdate schema, update_flags route, mail_to_response
- Frontend: flag_type in Mail interface, FlagUpdatePayload, MailList symbol display
2026-07-20 10:39:16 +02:00
Agent Zero
5fa3f0540b
fix: AI assistant rename pencil button directly triggers rename instead of context menu
2026-07-20 10:23:15 +02:00
Agent Zero
158f6b36d0
fix: match SessionList vertical spacing (py-1.5) in mail folder tree
2026-07-20 10:03:48 +02:00
Agent Zero
9063093a5a
feat: compact mail folder tree + right-click Ordner leeren
...
- MailFolderTree: compact styling matching AI assistant SessionList (py-1, text-sm, depth*12+8 padding, no space-y)
- Added right-click context menu on folders with "Ordner leeren" entry
- Backend: POST /mail/folders/{folder_id}/empty soft-deletes all mails in folder
- Frontend API: emptyFolder() function added to mail.ts
- Mail.tsx: onFolderEmptied callback reloads mails and folders
2026-07-20 09:25:43 +02:00
Agent Zero
35fcd2a9d4
fix: ContactFolderTree nur Ordner-Baum ohne Kontakte, Kontakte in mittlerer Liste
2026-07-20 07:36:35 +02:00
Agent Zero
3129f407f5
UI: ContactFolderTree als echter Baum - keine Trennung Firmen/Privat, ein Baum mit allen Kontakten, Personen-Symbol statt Ordner-Symbol
2026-07-20 03:12:15 +02:00
Agent Zero
c09aeb653d
fix: draggable nur auf Folder-Icon, Rechtsklick funktioniert wieder
2026-07-20 02:37:46 +02:00
Agent Zero
f287a0a4d1
fix: Context-Menu Konflikt mit draggable Ordner behoben
2026-07-20 02:29:40 +02:00
Agent Zero
c3974c2ef9
fix: Neuer Chat Button erstellt Session, Ordner drag&drop im KI-Baum
2026-07-20 02:20:43 +02:00
Agent Zero
29202325a6
feat: Kontakt-Ordner mit Drag&Drop Baum (wie KI-Chat Sidebar)
...
- Backend: ContactFolder model (hierarchisch, parent_id, sort_order)
- Migration 0022: contact_folders Tabelle + folder_id FK auf contacts
- CRUD Routes: /api/v1/contact-folders (list, create, update, delete, reorder)
- Move Contact API: /api/v1/contact-folders/contacts/{id}/move
- folder_id Filter in contacts list API
- Frontend: ContactFolderTree mit Baum-Struktur, Drag&Drop, Kontext-Menü
- Kontakt-Personen-Icon statt Ordner-Symbol
- ContactList Items draggable (List/Table/Cards View)
- React Query Hooks für Folder CRUD + Move Contact
- Alle 266 Frontend-Tests passing
2026-07-20 01:33:44 +02:00
Agent Zero
4bc11efc25
UI: Suchfeld 10% niedriger, Kontakt-Baum mit Firmen/Privatpersonen Trennung, Toolbar vereinfacht (Sort+View Toggle)
2026-07-20 00:25:58 +02:00
Agent Zero
beb4d7a9ff
UI: Einstellungen+AuditLog aus Sidebar entfernt, AuditLog ins User-Menü, Suchfeld höher, Benachrichtigungs-Icon größer
2026-07-20 00:10:22 +02:00
Agent Zero
1d3b7a497b
Fix: Suchfeld Höhe reduziert, Roboter-Symbol aus TopBar entfernt (nicht Sidebar!), Sidebar-Eintrag wiederhergestellt, Lösch-Buttons funktionsfähig mit State, Badge-Zahl dynamisch
2026-07-19 23:50:37 +02:00
Agent Zero
d1a40c18e6
UI: schmaleres Suchfeld, KI-Symbol aus Sidebar entfernt, Lösch-Button bei Benachrichtigungen, KI Sidebar per Drag verstellbar (handleSide=left)
2026-07-19 23:16:22 +02:00
Agent Zero
3177daf47f
Frontend: unified 3-column contacts page (folder tree | list/table/cards | detail), all Rentman fields, ContactPerson CRUD, removed old Contact/Company pages
2026-07-19 21:30:26 +02:00
Agent Zero
6f1655785e
fix: resolve all 12 TypeScript errors (tsc --noEmit clean)
...
- mail.ts: add explicit types to decodeMimeHeader callback params
- SessionList.tsx: use React.MouseEvent instead of nativeEvent
- ComposeModal.tsx: construct name from first_name + last_name
- MailDetail.tsx: destructure onReply/onForward from props
- RichTextEditor.tsx: use SetContentOptions object instead of boolean
- MailSearchBar.tsx: add optional value prop to interface
- EmptyState.tsx: add optional children prop
- Badge.tsx: add secondary variant to BadgeVariant, variantClasses, dotColors
- ConfirmDialog.tsx: add optional children prop
- hooks.ts: extend SearchResult type to include mail/file/event
2026-07-19 17:41:39 +02:00
Agent Zero
27a8ad8b30
fix: resolve all 65 pre-existing frontend test failures (318/318 passing)
...
- Remove duplicate vi.mock(@/api/hooks) in SettingsRoles.test.tsx that overrode forceUpdate logic
- SettingsRoles mock: use vi.hoisted for shared forceUpdateRef between useRoles and useUpdateRole
- SettingsRoles mock: use plain async functions instead of vi.fn().mockImplementation for mutations
2026-07-19 14:41:38 +02:00
Agent Zero
5d9ddbebd2
fix: remove tenant switcher from TopBar, fix aiProactive API double-prefix
...
- Remove tenant switcher dropdown from TopBar (cleanup unused vars/imports)
- Fix aiProactive.ts: remove /api/v1 prefix from apiClient calls (baseURL already includes it)
- This fixes 404 errors on /api/v1/api/v1/ai-proactive/suggestions
2026-07-19 00:28:11 +02:00
Agent Zero
ef6d011e16
ui: adjust toolbar heights and icon sizes, remove duplicate AI icon
...
- TopBar: h-16 → h-[58px] (10% lower), icons w-5 → w-4
- PluginToolbar: min-h-[36px] → min-h-[43px] (20% higher), icons w-3.5 → w-4
- Remove duplicate AI computer icon from TopBar (AISidebar collapsed icon remains)
- Clean up unused imports (toggleAISidebar, aiSidebarCollapsed)
2026-07-19 00:09:17 +02:00
Agent Zero
7e53b747c7
feat: add Proaktiv and KI Chat tabs to AI sidebar
2026-07-18 17:48:09 +02:00
Agent Zero
8cebb4f4e9
feat: unified_search + ai_proactive plugins with Ollama Cloud DeepSeek V4
...
- unified_search: Hybride Suche (PostgreSQL FTS + pgvector + RRF Fusion)
- 5 Search Providers (Contact, Company, Mail, File, Event)
- KI Query Understanding (Fuzzy, Facetten via LiteLLM)
- DMS Text-Extraction (PDF, DOCX, XLSX, PPTX)
- Embedding Pipeline (ollama/nomic-embed-text, 768 Dim)
- Background Jobs für Indexierung
- Plugin-basierte Provider Registry
- ai_proactive: Proaktiver KI-Agent
- Context-Tracking (Frontend → Backend → Event Bus)
- Proactive Engine mit LLM Suggestion-Generierung
- SSE Real-time Push an Frontend
- 6 AI Tools für Tool Registry
- Rate-Limiting + User Settings
- Deep Analysis Background Jobs
- Frontend Integration:
- useAIContext Hook, SuggestionSidebar, SuggestionBadge
- ProactiveAISettings Page, Search API Client
- Globale Suche auf neue API umgestellt
- Tests: test_unified_search.py + test_ai_proactive.py (alle bestanden)
- Config: Ollama Cloud DeepSeek V4 als Default, konfigurierbar
- Dependencies: PyMuPDF, python-docx, python-pptx, pgvector
- Bugfixes: notification type_key length, migration IF NOT EXISTS
2026-07-18 11:21:51 +02:00
Agent Zero
4c9295de21
feat: AI sidebar mobile full-width overlay with back button
...
- Mobile: expanded sidebar is fixed inset-0 full-screen overlay with back button
- Mobile: collapsed icon strip hidden (no space on mobile)
- Desktop: unchanged resizable panel + collapsed icon strip
2026-07-18 01:51:01 +02:00
Agent Zero
88be33879c
feat: AI sidebar full height with collapsed icon strip and drag resize
...
- AISidebar: full height, right of TopBar and Toolbar (all pages except AI Assistant)
- AISidebar: collapsed mode shows narrow 48px icon strip with KI button
- AISidebar: expanded mode uses ResizablePanel with drag-to-resize (240-600px)
- AppShell: moved AISidebar outside inner content container to full-height flex
- uiStore: renamed aiSidebarOpen→aiSidebarCollapsed (default: true=collapsed)
- TopBar: AI button highlights when sidebar is expanded
2026-07-18 00:53:00 +02:00
Agent Zero
d029892d27
fix: tighter folder tree, smaller mail list font, smooth resize via DOM ref
...
- MailFolderTree: reduce padding/gap ~25% (py-2→py-1, gap-2→gap-1.5)
- MailList: text-sm→text-xs for from and subject lines
- ResizablePanel: use DOM ref for width during drag instead of React state
- No re-renders during drag, only single setWidth on mouseup
- panelRef on outer div, contentRef on inner div
- pointer-events:none on content during drag
- contain:strict on content area
2026-07-17 23:49:19 +02:00
Agent Zero
db433e81f1
feat: mail UI improvements - folder mapping, display name, resize perf, list header
...
- Add configurable folder mapping (sent/drafts/spam/trash) per account
- Migration 0005_folder_mapping.sql with 4 new columns on mail_accounts
- Backend: send_mail uses account.sent_folder_imap_name if set
- Backend: _build_folder_hierarchy respects folder_mapping for is_standard
- Frontend: MailSettings shows folder mapping editor per account
- Frontend: MailSettings allows editing display_name for existing accounts
- Frontend: MailFolderTree shows display_name || email, removes MailIcon
- Frontend: ResizablePanel isDragging state with contain:strict + pointer-events:none
- Frontend: MailList merges select-all and sort controls into one line
2026-07-17 23:17:52 +02:00
Agent Zero
60081c5262
fix: add onDelete to TreeItem destructured props
2026-07-17 22:30:47 +02:00
Agent Zero
4f23c60fd4
feat: hover rename/delete icons in treeview, resizable tree and sidebar panels
2026-07-17 22:24:26 +02:00
Agent Zero
165350eda0
fix: user messages with primary-50 background and border for visual distinction
2026-07-17 21:05:47 +02:00
Agent Zero
b137acb359
fix: custom markdown CSS styles for AI chat responses (tables, code, lists, headings)
2026-07-17 19:36:21 +02:00
Agent Zero
495d9c63ff
fix: proper drag&drop with dataTransfer, context menu (rename/delete/new), bold active session
2026-07-17 17:59:18 +02:00
Agent Zero
5814b1691c
fix: drag&drop events on folder headers with stopPropagation, separate root drop zone
2026-07-17 17:39:09 +02:00
Agent Zero
ede37aced8
feat: remove header and buttons, move actions to toolbar, drag&drop to any folder level
2026-07-17 17:22:26 +02:00
Agent Zero
f2d624720f
feat: drag&drop treeview, flat chat UI, activity indicator, fixed toolbar registration
2026-07-17 17:09:26 +02:00