5.1 KiB
5.1 KiB
Feature Branch Notes - feat/file-tree-system
Date: 2026-03-17
Repos: gateway, frontend_nyla
Release Notes (Kurzfassung)
- Filesystem-Funktionen wurden deutlich erweitert: Batch-Delete und Batch-Move fuer Files/Folders laufen effizient ueber Backend-Endpunkte und DB-Operationen.
- Folder/File-Tree-Verhalten wurde zwischen
DateienundAI Workspacevereinheitlicht, inklusive Multi-Select und Drag&Drop-Workflows. Dateien-Ansicht ist wieder strikt backend-getrieben fuer Sortierung, Filter und Pagination (kein Client-Side-Fallback mehr).- Chat-UX wurde gestrafft: kompaktere CHATS-Liste und optimierter Umgang mit Prompt-Inhalten.
- Langer Paste-Text im Workspace-Input wird als Datei behandelt statt den Prompt zu ueberfrachten.
- Agent-/Workspace-Dokumentfluss wurde stabilisiert (sauberere Ablage und Metadatenkette im Backend-Kontext).
- Mehrere Stabilitaets- und Integrationsanpassungen in Voice/Commcoach/Billing-nahen Bereichen runden das Branch-Inkrement ab.
PR Text - gateway
Title
feat: file system + agent/voice revisions (batch ops, workspace docs, stt/tts)
Body
## Summary
This PR consolidates backend changes for file system handling, workspace-agent document persistence, and voice/service revisions.
- adds/updates file-system APIs for efficient folder/file operations (including batch-oriented endpoints/DB handling)
- improves workspace agent file persistence flow so downloaded/generated artifacts are stored with proper metadata and structured placement
- extends/adjusts route and interface layers for file, voice, billing, and service-center integrations
- includes commcoach/service-agent updates to stabilize chat/voice-related backend behavior
## Main areas touched
- File management:
- `modules/routes/routeDataFiles.py`
- `modules/interfaces/interfaceDbManagement.py`
- `modules/datamodels/datamodelFiles.py`
- Agent/service runtime:
- `modules/serviceCenter/services/serviceAgent/mainServiceAgent.py`
- `modules/serviceCenter/services/serviceAgent/sandboxExecutor.py`
- `modules/serviceCenter/services/serviceChat/mainServiceChat.py`
- Voice/Commcoach:
- `modules/routes/routeVoiceGoogle.py`
- `modules/connectors/connectorVoiceGoogle.py`
- `modules/interfaces/interfaceVoiceObjects.py`
- `modules/features/commcoach/*`
- Billing/other integrations:
- `modules/routes/routeBilling.py`
- `modules/interfaces/interfaceDbBilling.py`
- `modules/serviceCenter/services/serviceBilling/stripeCheckout.py`
## Test plan
- [ ] verify batch delete/move endpoints (`/api/files/batch-delete`, `/api/files/batch-move`) with mixed file/folder payloads
- [ ] verify folder recursive delete behavior and conflict/circular checks on folder moves
- [ ] verify agent-generated/downloaded documents are stored with correct filename/extension and expected metadata
- [ ] run relevant backend smoke tests for workspace chat + commcoach voice flows
- [ ] regression-check billing route changes
PR Text - frontend_nyla
Title
feat: unified folder/file tree + workspace/files UX and backend-driven table behavior
Body
## Summary
This PR delivers the frontend part of the file-tree/workspace enhancement with consistent state handling and backend-driven table interactions.
- unifies folder/file tree behavior across Files page and AI Workspace
- improves tree interactions (multi-select, drag/drop, action handling, visual behavior)
- adds batch-aware file/folder operations via new API usage
- updates workspace prompt behavior (long paste as file attachment)
- compacts CHATS list presentation and adjusts metadata layout
- keeps table sort/filter/pagination aligned with backend refetch mechanism
## Main areas touched
- Tree + file context:
- `src/components/FolderTree/FolderTree.tsx`
- `src/components/FolderTree/FolderTree.module.css`
- `src/contexts/FileContext.tsx`
- `src/api/fileApi.ts`
- Files page/table integration:
- `src/pages/basedata/FilesPage.tsx`
- `src/components/FormGenerator/FormGeneratorTable/FormGeneratorTable.tsx`
- `src/hooks/useFiles.ts`
- Workspace UX:
- `src/pages/views/workspace/FileBrowser.tsx`
- `src/pages/views/workspace/WorkspaceInput.tsx`
- `src/pages/views/workspace/WorkspacePage.tsx`
- `src/pages/views/workspace/ConversationList.tsx`
- Additional related adjustments:
- `src/hooks/useCommcoach.ts`
- `src/hooks/useSpeechAudioCapture.ts`
- `src/hooks/useTtsPlayback.ts`
- `src/api/billingApi.ts`
- `src/pages/billing/BillingDataView.tsx`
- `src/pages/views/commcoach/*`
## Test plan
- [ ] Files page: select folder in tree -> table shows correct folder scope
- [ ] Files page: sorting/filtering/pagination trigger backend refetch correctly
- [ ] Tree: multi-select with CTRL/SHIFT, drag selected items, delete files/folders via separate batch actions
- [ ] Workspace: drag file/folder refs into prompt and validate attachment behavior
- [ ] Workspace input: paste long text (>=1000 chars) creates file attachment instead of inline prompt text
- [ ] CHATS list: no redundant second status line; last activity shown on left
- [ ] run production build (`npm run build`) and smoke-test key views