Commit Graph

66 Commits

Author SHA1 Message Date
e1142414f1 fix: restore scroll on project settings 2026-03-15 18:24:43 +01:00
9c95cb908b fix: wider project settings, remove inner scroll 2026-03-15 18:13:41 +01:00
503bb1379a fix: show bridge in agents page, replace capabilities with labels 2026-03-15 14:14:30 +01:00
c00a3ea1f1 fix: remove capabilities/prompt/model from agent modal, add mentionable 2026-03-15 13:08:50 +01:00
be2b073e4c fix: show bridge in agents list in project settings 2026-03-15 13:03:53 +01:00
e7529306ac feat: server-side mentionable filter for @mentions 2026-03-15 07:12:05 +01:00
f82a89c2f9 feat: improved create agent form (role, labels, chat/task listen, mentionable) 2026-03-14 17:10:02 +01:00
dbaa48cf49 fix: system messages show 'Name — Система' 2026-03-14 10:11:56 +01:00
ce2bac9b00 fix: show date for messages older than today 2026-03-14 10:04:31 +01:00
7358b05b11 fix: system messages show actor name instead of 'Система (Name)' 2026-03-14 09:56:47 +01:00
b41bb8ab1c fix: mention slug regex includes hyphens + dropdown opaque background 2026-03-14 06:58:53 +01:00
665024e70b fix: streaming text accumulation via ref + rAF throttle (prevent duplicate chars) 2026-03-14 06:27:16 +01:00
7c0580e666 revert: restore full streaming display (text + thinking) 2026-03-14 06:22:42 +01:00
13a1748162 feat: slug change + streaming fix + specs 2026-03-13 22:55:53 +01:00
79541d133a UUID refactoring: project URLs by ID, mentions send member IDs, remove slug from JWT decode 2026-03-02 09:03:01 +01:00
407c065b49 Labels: separate page in settings + labels on agents
- /settings/labels — dedicated page for label CRUD
- Labels in AgentModal — toggle buttons for assigning labels to agents
- AgentConfig interface includes labels[]
- SettingsLayout: new 🏷️ Лейблы menu item
2026-02-28 00:47:10 +01:00
c314ac46d8 Global labels: move to app Settings, instant auto-assign toggle
- Labels management in /settings (not project settings)
- getLabels() no longer takes projectId
- Auto-assign toggle saves immediately on click
- Labels removed from ProjectSettings
2026-02-28 00:42:04 +01:00
34f473c935 Fix CreateTaskModal: backlog default, colored status circles
- Default status = backlog (was inheriting column)
- Status buttons with colored circles matching kanban columns
- Same style as priority selector
2026-02-28 00:37:08 +01:00
7ebff6d381 Full CreateTaskModal: type, assignee, reviewer, labels
All available fields at creation time:
- Title, Description, Type (task/bug/feature)
- Status, Priority
- Assignee + Reviewer (dropdowns with all members)
- Labels (toggle buttons, project-scoped)
- parent_id (when creating subtask)
Modal wider (max-w-lg), scrollable
2026-02-28 00:31:37 +01:00
9e24516bd0 Status selector in CreateTaskModal
Buttons: Бэклог, To Do, В работе, Ревью, Готово
Default from initialStatus (column where + was clicked)
2026-02-28 00:28:52 +01:00
60cc538b28 Task search autocomplete for dependency linking
- searchTasks API function (q= param)
- Autocomplete dropdown: search by number or title
- Shows task key + title, click to select
- Replaces raw ID input
2026-02-28 00:26:53 +01:00
3df1060970 Fix task modal: key above title, parent/child key on kanban
1. Task key + parent breadcrumb moved ABOVE title in modal header
2. Kanban cards show 'TE-1 / TE-3' for subtasks
3. Close button aligned with key row
2026-02-28 00:24:07 +01:00
f28909524c Create subtask button + parent_id in CreateTaskModal
- '+ Подзадача' button in TaskModal subtasks section
- CreateTaskModal accepts parentId/parentKey props
- Title shows 'Подзадача для TE-1' when creating subtask
- parent_id sent to API on creation
- Optimistic update: new subtask appended to parent's subtasks list
2026-02-28 00:14:52 +01:00
4770fc62d7 Subtasks UI in TaskModal (Jira-style)
- Parent breadcrumb: 'TE-1 / TE-3' with clickable parent link
- Subtasks section: colored status dots, clickable keys, assignee
- onOpenTask callback: close current modal, open clicked task
- SubtaskBrief interface in API types
2026-02-28 00:03:14 +01:00
aa7c45657b Auto-assign toggle in ProjectSettings
Toggle switch with description. Saved with other project settings.
Default: off. When enabled, new tasks auto-assigned by labels ↔ capabilities.
2026-02-27 23:56:01 +01:00
f3eeed5eb9 Labels UI + task labels on kanban + API functions
- Labels management in ProjectSettings (CRUD, color picker)
- Task labels displayed as colored pills on kanban cards
- API: getLabels, createLabel, deleteLabel, addTaskLabel, removeTaskLabel
- Task links API functions
2026-02-27 23:46:59 +01:00
be3007f40a Task dependencies UI in TaskModal + API
- Dependencies section shows links with colored labels
- Add dependency form (type + task ID)
- Delete link button
- API: getTaskLinks, createTaskLink, deleteTaskLink
2026-02-27 23:34:07 +01:00
a9da3672b9 Fix mobile viewport: h-screen → h-[100dvh] + scrollable settings
- All pages use 100dvh instead of 100vh (respects Android nav bar)
- ProjectSettings: overflow-y-auto + pb-20 for bottom padding
2026-02-27 23:04:39 +01:00
bd583384d1 Agent toggle switches in ProjectSettings
Agents shown as toggle switches (on/off) instead of dropdown + remove button.
Humans listed separately without remove option.
Toggle calls addProjectMember/removeProjectMember API.
2026-02-27 22:57:48 +01:00
82c2ff4c53 Tool log UI: collapsible block under agent messages
Shows 🔧 Инструменты (N) with tool names and truncated results.
Displayed between thinking and message content.
2026-02-27 11:55:24 +01:00
cede9fbfdf Fix: createTask uses project_id, CreateTaskModal accepts projectId 2026-02-27 09:39:11 +01:00
52be59dc9f UUID everywhere: all API calls use ID instead of slug
- Project API: project.id for all CRUD + files + members
- Member API: member.id for get/update/regenerate/revoke
- ProjectSettings: member selection by id
- ChatPanel/MentionInput: projectId prop
- AgentModal: agent.id for API, slug for display only
2026-02-27 09:37:28 +01:00
fd3e454dff Online list as objects {id, slug}, Message.actor support 2026-02-27 09:20:50 +01:00
4eeba5a81e System messages show actor name, mentions as objects 2026-02-27 08:33:43 +01:00
a1854eb4f5 Fix: dedup task in onCreated callback (duplicate with WS task.created) 2026-02-27 07:26:52 +01:00
d5eaa13b21 Phase 1: streaming UI + thinking blocks in ChatPanel
- Agent streaming: real-time text deltas in chat
- Thinking/reasoning: collapsible block with agent's thinking process
- Tool call indicators: shows running/completed tools
- Streaming bubble with pulse animation while agent generates
- Message type updated with 'thinking' field
2026-02-27 06:57:51 +01:00
92db42113d Add WS heartbeat every 30s to keep connection alive 2026-02-26 10:21:33 +01:00
a948b2f6fb типизация фронтенд: убран дубликат MemberBrief, мёртвые slug params, typed WS events 2026-02-25 14:40:14 +01:00
6ea653dbb1 Обновлены TypeScript типы для соответствия unified схемам
- Добавлен интерфейс MemberBrief
- Обновлены существующие интерфейсы для 1:1 соответствия Pydantic моделям
- Исправлены типы type: string вместо union types для гибкости
2026-02-25 14:08:44 +01:00
16f11d6882 Строгая типизация: TypeScript интерфейсы 1:1 с Pydantic-схемами
- Добавлен MemberBrief для вложенных объектов (author, assignee, reviewer, uploaded_by)
- Task.assignee/reviewer: Member → MemberBrief
- Message.author: Member → MemberBrief
- Step: добавлены task_id, created_at
- Task: добавлены created_at, updated_at
- Member: добавлен is_active
- ProjectFile: uploaded_by теперь MemberBrief вместо string
2026-02-25 14:03:42 +01:00
9e6cc84965 fix: extract and send @mentions from chat messages 2026-02-25 13:31:31 +01:00
b150f25949 fix: system messages show 'System' instead of actor name 2026-02-25 12:00:39 +01:00
8f2c999245 fix: auth on uploads (401→login redirect), token in download URLs 2026-02-25 11:16:10 +01:00
f676329206 fix: rewrite ProjectFiles — remove alerts, add debounce, multi-upload, hover actions, proper icons 2026-02-25 10:37:47 +01:00
2586dc7e6a Implement ProjectFiles component
- Complete project files UI with file list, icons, search
- Upload files via drag & drop or file picker with optional description
- Preview images as thumbnails
- Edit file descriptions inline
- Download files by clicking filename
- Delete files with confirmation
- Show file size, mime type icons, uploader, upload date
- Dark theme consistent with app design
- File size formatting helper
- Support for all common file types with appropriate icons
2026-02-25 09:19:50 +01:00
1671352ef9 feat: project files tab — upload, search, preview, descriptions, drag & drop 2026-02-25 09:18:56 +01:00
66beca5308 feat: file attachments in chat — upload, preview, download 2026-02-25 06:17:17 +01:00
f4693e8f0b feat: @mention autocomplete in chat input + mention highlighting 2026-02-25 06:01:30 +01:00
1c832ff99f fix: author_slug → author?.slug в TaskModal 2026-02-25 00:15:08 +01:00
c7144328fa refactor: UUID-based member refs in API types and components
- Task interface: assignee_id/assignee, reviewer_id/reviewer, watcher_ids
- Message interface: author_id/author вместо author_slug
- API functions: assignTask использует assignee_id
- KanbanBoard: обновлен под новые поля задач
- TaskModal: assignee selection по ID вместо slug
- ChatPanel: отображение author через relationship
2026-02-25 00:13:36 +01:00