Matthieu
1ae2d9ac2c
feat : add task_collaborator migration
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 09:54:28 +02:00
Matthieu
7e36b6fd49
feat : migration for TaskRecurrence, ZimbraConfiguration, and Task calendar fields
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 18:10:35 +01:00
Matthieu
1c6f473dff
feat(mcp) : add clientTicket relation to time entries
...
Add ManyToOne relation from TimeEntry to ClientTicket entity.
MCP tools create-time-entry, update-time-entry, and list-time-entries
now support clientTicketId parameter for linking tickets to time entries.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-16 14:28:31 +01:00
e4fc34b90f
refactor : simplify codebase and fix critical issues
...
Backend:
- Add MCP Serializer to centralize entity-to-array conversion (~300 lines deduped)
- Fix race condition in task/ticket number generation (SELECT FOR UPDATE + transaction)
- Add unique constraint on task (project_id, number) with migration
- Fix MIME type validation: use server-detected finfo instead of client-supplied type
- Add allowlist of permitted MIME types for uploads
- Fix TaskDocumentDownloadController: allow ROLE_CLIENT access, add priority:1
- Fix notification sent even when ticket status unchanged
- Remove redundant exception constructors
- Simplify services (BookStackApi double fetch, TokenEncryptor, GiteaApi)
- Consolidate duplicate checks in processors
Frontend:
- Fix useApi isHandlingUnauthorized scope (module-level to prevent double 401 redirect)
- Fix client-tickets toast key copy-paste bug
- Merge duplicated tasks service methods (getByProject + getByProjectArchived)
- Extract shared uploadWithRelation helper in task-documents service
- Extract formatFileSize utility from duplicated component code
- Extract status transition logic into useClientTicketHelpers composable
- Remove dead code (unused router, handleLogout, empty script blocks)
- Merge duplicate watchers and onMounted calls
- Normalize arrow functions to function declarations per convention
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 22:09:16 +01:00
63315c0a15
feat(avatar) : add avatarFileName field to User entity
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 21:53:43 +01:00
669c36cea1
feat(notification) : add Notification entity, repository, and migration
2026-03-15 19:45:47 +01:00
e16fd2053e
feat : MCP server infrastructure setup
...
Install symfony/mcp-bundle, add STDIO + HTTP transport config,
API token auth on User entity with custom authenticator and firewall,
generate-api-token console command, Nginx /_mcp location, fixture token.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 19:33:52 +01:00
10cde5e2f9
feat : add client portal migration
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 19:25:36 +01:00
52063cb4fa
feat(bookstack) : add migration for BookStack tables and Project columns
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:06:14 +01:00
8ec98a593a
feat : add task_document migration
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:04:14 +01:00
0733ac16cd
feat : add project archiving feature
...
Allow projects to be archived/unarchived from the ProjectDrawer, with a
toggle filter on the projects page to show/hide archived projects.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 08:58:29 +01:00
Matthieu
50690e6680
feat : add migration for GiteaConfiguration and Project gitea fields
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:55:39 +01:00
Matthieu
2c2ca0a8b6
feat(backend) : add migration for isFinal, archived fields
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 17:58:20 +01:00
Matthieu
df29214509
feat(backend) : add migration to remove project_id from task_status
2026-03-12 11:48:43 +01:00
e9ca888971
feat(time-tracking) : add TimeEntry entity and migration
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 22:10:27 +01:00
66bb94fc98
feat(backend) : add project relation to TaskStatus entity with migration and fixtures
...
Add ManyToOne project field on TaskStatus, SearchFilter for API filtering,
migration to add the column, and update fixtures to create statuses per project.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 21:58:41 +01:00
1d50e5dcb3
feat : add Task entities, repositories and migration
...
Add Task, TaskStatus, TaskEffort, TaskPriority, TaskType, TaskGroup
entities with Doctrine mappings and API Platform CRUD operations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 23:40:48 +01:00
b56d2f6526
feat : add Project entity with CRUD API and Client relation
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 23:40:48 +01:00
0621388ee6
feat : add Client entity with CRUD API
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 23:40:48 +01:00
47562fbdec
feat : config + login
2026-03-08 19:47:19 +01:00