wiki/z-archive/feat-file-tree-release-notes.md

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 Dateien und AI Workspace vereinheitlicht, 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