134 lines
5.3 KiB
Markdown
134 lines
5.3 KiB
Markdown
# Frontend roadmap
|
|
|
|
## 1. Назначение документа
|
|
|
|
Этот документ фиксирует оставшийся фронтенд-backlog после уже выполненных крупных cleanup и refactoring slices.
|
|
|
|
Он заменяет старые review-документы и должен использоваться вместе с `TASKS.md`.
|
|
|
|
## 2. Что уже считается закрытым
|
|
|
|
Выполненными считаются следующие большие треки:
|
|
|
|
- базовая локализация и plural rules;
|
|
- XSS hardening основных dynamic render paths;
|
|
- template safety cleanup;
|
|
- CSS state cleanup;
|
|
- frontend build pipeline;
|
|
- wizard modularization;
|
|
- базовая frontend observability and testability;
|
|
- websocket test-run polish;
|
|
- command palette removal;
|
|
- settings honesty initial pass.
|
|
|
|
## 3. Что остается актуальным
|
|
|
|
### 3.1. Product gating by edition
|
|
|
|
UI должен честно отражать различия редакций:
|
|
|
|
- Community не должен показывать доступные к настройке `WebSocket`, `SOAP`, `gRPC streaming`, если они не входят в открытую поставку;
|
|
- `security_level = elevated` и `security_level = strict` не должны выглядеть рабочими в Community;
|
|
- multi-user и enterprise controls должны скрываться или отображаться как capability-locked.
|
|
|
|
Основные файлы:
|
|
|
|
- `apps/ui/js/wizard.js`
|
|
- `apps/ui/js/operations.js`
|
|
- `apps/ui/js/agents.js`
|
|
- `apps/ui/js/api-keys.js`
|
|
- `apps/ui/js/settings.js`
|
|
- `apps/ui/js/i18n.js`
|
|
|
|
### 3.2. Agent key UX
|
|
|
|
После перехода от platform/workspace keys к agent keys UI должен быть доведен до продуктового состояния:
|
|
|
|
- список ключей должен уметь показывать привязку к AI-агенту;
|
|
- модалка создания ключа должна позволять выбрать режим и область применения;
|
|
- copy должен объяснять, зачем нужен agent-scoped key и чем он отличается от будущих токенных режимов.
|
|
|
|
Основные файлы:
|
|
|
|
- `apps/ui/js/api-keys.js`
|
|
- `apps/ui/js/agents.js`
|
|
- `apps/ui/html/api-keys.html`
|
|
- `apps/ui/html/agents.html`
|
|
- `apps/ui/js/i18n.js`
|
|
|
|
### 3.3. Mobile-first restructuring for data-heavy pages
|
|
|
|
На мобильных экранах нужно убрать desktop-table anti-pattern для:
|
|
|
|
- `API Keys`
|
|
- `Secrets`
|
|
- `Usage`
|
|
- частично `Agents`
|
|
|
|
Целевой подход:
|
|
|
|
- карточки вместо широких таблиц;
|
|
- постоянная видимость primary actions;
|
|
- отсутствие скрытого горизонтального скролла как обязательного пути.
|
|
|
|
Основные файлы:
|
|
|
|
- `apps/ui/js/api-keys.js`
|
|
- `apps/ui/js/secrets.js`
|
|
- `apps/ui/js/usage.js`
|
|
- `apps/ui/js/agents.js`
|
|
- `apps/ui/css/*`
|
|
|
|
### 3.4. Workspace and settings polish
|
|
|
|
Остаются открытые UI/UX-проблемы:
|
|
|
|
- глобальная терминология `workspace` против `пространство`;
|
|
- структура `Account Settings`;
|
|
- честное состояние раздела `Notifications`;
|
|
- mobile navigation overlap / sticky bug;
|
|
- выравнивание dropdown и workspace switcher behavior.
|
|
|
|
Основные файлы:
|
|
|
|
- `apps/ui/js/settings.js`
|
|
- `apps/ui/js/workspace-setup.js`
|
|
- `apps/ui/js/auth.js`
|
|
- `apps/ui/index.html`
|
|
- `apps/ui/css/*`
|
|
|
|
### 3.5. Agent creation and operations wizard clarity
|
|
|
|
Нужно добить:
|
|
|
|
- copy для причин существования отдельных agent endpoints;
|
|
- empty states без багов с пустыми запросами;
|
|
- пояснения вокруг `slug`;
|
|
- более явное описание security level на операции;
|
|
- capability-based hiding недоступных протоколов и execution modes.
|
|
|
|
Основные файлы:
|
|
|
|
- `apps/ui/js/agents.js`
|
|
- `apps/ui/js/wizard.js`
|
|
- `apps/ui/js/wizard-live.js`
|
|
- `apps/ui/js/wizard-model.js`
|
|
- `apps/ui/js/i18n.js`
|
|
|
|
## 4. Глобальные правила для UI
|
|
|
|
- никакой developer-facing copy в пользовательском интерфейсе;
|
|
- capability-locked функция либо скрыта, либо помечена честно;
|
|
- мобильная версия не должна требовать обязательного горизонтального скролла для primary actions;
|
|
- действия создания должны жить в одном месте и не дублироваться в пустом состоянии без причины;
|
|
- все новые user-facing строки должны обновляться одновременно в `EN` и `RU`.
|
|
|
|
## 5. Правила приемки
|
|
|
|
Frontend-задача считается закрытой только если:
|
|
|
|
- измененный UI соответствует capability model редакции;
|
|
- строка есть в `EN` и `RU`;
|
|
- мобильный сценарий проверен вручную или через e2e;
|
|
- не остались старые product contradictions в copy.
|