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
8df4179dd7
fix: мобильные кнопки Settings/Logout в header + дедупликация api.ts
2026-02-24 23:27:58 +01:00
1b93bd60c0
fix: remove duplicate removeProjectMember function
2026-02-24 23:21:28 +01:00
cd0f9a9d62
Add project members management UI in ProjectSettings
2026-02-24 23:19:57 +01:00
66c14d74c0
refactor: remove actor param — Tracker knows who from auth
2026-02-24 13:32:32 +01:00
9a1b7a8d57
feat: pass actor slug to all task updates (system messages show who did it)
2026-02-24 13:26:40 +01:00
44884d937c
refactor: remove compact/collapsible chat mode — ChatPanel is fullscreen only
2026-02-24 13:22:46 +01:00
a01bfbfc40
fix: apply message background colors in fullscreen chat too
2026-02-24 13:21:19 +01:00
b95fb074b1
fix: use inline styles for message backgrounds (Tailwind purge issue)
2026-02-24 13:17:48 +01:00
2210b6ae9f
feat: colored message backgrounds — yellow for system, green for agents
2026-02-24 12:32:56 +01:00
9b2026c5fa
feat: persist active tab in URL (?tab=chat survives reload)
2026-02-24 10:32:55 +01:00
f4f09bfeee
feat: infinite scroll — load older messages on scroll up
2026-02-24 10:30:47 +01:00
c96bd88f2a
fix: deduplicate WS messages in ChatPanel + remove StrictMode
2026-02-24 10:15:12 +01:00
f9d0bfd3a3
fix: auto-logout on WS auth.error (forces re-login with valid JWT)
2026-02-24 09:38:31 +01:00
3a2a32a50e
fix: restore all original components (KanbanBoard, ChatPanel, TaskModal, etc.)
...
Previous migration stubbed most components. Now properly ported from
Next.js with type-only imports and react-router-dom Link/navigation.
2026-02-24 09:33:04 +01:00
83bc168c30
fix: login endpoint path /api/v1/auth/login
2026-02-23 23:30:58 +01:00