9e638c32b8
feat(bookstack) : add BookStackSearchResult API resource for shelf-scoped search
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:10:47 +01:00
bc331982d5
feat(bookstack) : add BookStackLink API resource with CRUD operations
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:10:24 +01:00
1e311242a9
feat(bookstack) : add BookStackShelf API resource for listing shelves
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:09:51 +01:00
97c6ef6a52
feat(bookstack) : add BookStackTestConnection API resource
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:09:36 +01:00
28fbc73248
feat(bookstack) : add BookStackSettings API resource with provider and processor
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:09:20 +01:00
df00b27a64
feat(bookstack) : add BookStackApiService
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:08:51 +01:00
ee38f99022
feat(bookstack) : add BookStackApiException
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:08:15 +01:00
06832c24e1
feat : add document upload processor, download controller and cleanup listener
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:05:58 +01:00
8fbafc1f8a
feat(bookstack) : add bookstackShelfId and bookstackShelfName to Project
2026-03-15 18:05:13 +01:00
585cc3368f
feat(bookstack) : add TaskBookStackLink entity and repository
2026-03-15 18:05:09 +01:00
043826075d
feat(bookstack) : add BookStackConfiguration entity and repository
2026-03-15 18:05:07 +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
3dd2d39222
refactor : rename GITEA_ENCRYPTION_KEY to ENCRYPTION_KEY
...
Generic encryption key name for shared use across Gitea and BookStack
token encryption.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:03:52 +01:00
cfaa6c42ec
feat : add TaskDocument entity with Task relation
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:03:20 +01:00
445f51b473
fix(gitea) : fetch only branch-specific commits using compare API
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-15 08:16:55 +01:00
f888a29e0a
refactor(frontend) : make page headers and filters sticky across all pages
...
Wrap title + filters in a sticky container (top-8 sm:top-12, z-20, bg-white)
on all pages for consistent scroll behavior. Also fix SidebarTimer icon
visibility when sidebar is collapsed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 09:21:45 +01:00
b48ca10304
feat : populate all projects with tasks, groups and time entries in fixtures
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 09:14:15 +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
94d7794c31
fix : add task:read group to Project gitea fields for TaskModal visibility
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:18:19 +01:00
Matthieu
5135e28e3a
feat : add branch name generation endpoint
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:59:32 +01:00
Matthieu
3d0fad3735
feat : add task Gitea pull requests endpoint
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:59:07 +01:00
Matthieu
dcbf5db308
feat : add task Gitea branches endpoints (list + create)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:58:41 +01:00
Matthieu
7b1aa22c15
feat : add Gitea repositories list endpoint
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:58:09 +01:00
Matthieu
5577884c13
feat : add Gitea test connection endpoint
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:57:50 +01:00
Matthieu
be2e7c60a3
feat : add Gitea settings API resource with provider/processor
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:57:31 +01:00
Matthieu
136d0eaaa4
feat : add GiteaApiService with branch/commit/PR methods
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:57:01 +01:00
Matthieu
0b8e2bfc63
feat : add GiteaApiException
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:56:25 +01:00
Matthieu
28e943b519
feat : add TokenEncryptor service with sodium encryption
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:56:14 +01:00
Matthieu
c82b6d1b32
feat : add gitea owner/repo fields to Project entity
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:55:19 +01:00
Matthieu
6ae014fe8a
feat : add GiteaConfiguration entity with repository
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 13:55:00 +01:00
Matthieu
bc9471e4ba
fix(backend) : add task:read serialization group to Project id
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:06:52 +01:00
Matthieu
7540c99501
feat : add my-tasks page with Kanban and List views
...
Add a /my-tasks page displaying all non-archived tasks across projects
with server-side filtering (assignee, project, group, priority, effort,
tags, status) and two view modes (Kanban columns by status, List view).
Includes sidebar navigation link and i18n translations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 11:34:16 +01:00
Matthieu
9a9e5093f5
feat : add archive/unarchive to TaskGroupDrawer and fix isFinal serialization
...
Fix TaskStatus getter naming (isFinal -> getIsFinal) so Symfony serializer
properly exposes the isFinal field. Add archive/unarchive buttons and
non-final tasks info message to TaskGroupDrawer. Remove obsolete TaskType
entity and repository.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 10:50:41 +01:00
Matthieu
517511177c
feat : add project code and task auto-numbering
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 08:20:31 +01:00
Matthieu
56275a9ebe
refactor : rename TaskType to TaskTag across the stack
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 08:20:21 +01:00
Matthieu
96a9f988c4
feat(backend) : set isFinal on Terminé status in fixtures
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 17:58:55 +01:00
Matthieu
e98d952871
feat(backend) : add archived field to TaskGroup entity
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 17:52:54 +01:00
Matthieu
8503111a4b
feat(backend) : add archived field to Task entity
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 17:51:59 +01:00
Matthieu
6801dae0f2
feat(backend) : add isFinal field to TaskStatus entity
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-12 17:51:14 +01:00
Matthieu
16c9b845a6
fix(fixtures) : create global statuses instead of per-project
2026-03-12 11:49:03 +01:00
Matthieu
5b8b4716df
refactor(backend) : remove project relationship from TaskStatus entity
2026-03-12 11:47:53 +01:00
c886506791
fix(time-tracking) : return empty collection instead of 404 for active timer endpoint
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-11 00:00:33 +01:00
576922200c
fix(backend) : fix TimeEntry API route order and config reference typo
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 23:19:41 +01:00
1e07eb1d64
feat(time-tracking) : add ActiveTimeEntryProvider, fixtures, and serialization groups
...
- ActiveTimeEntryProvider returns active timer for current user
- TimeEntry fixtures with 10 sample entries for the SIRH project
- Add time_entry:read group to Project, User, and TaskType for embedded serialization
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 22:22:34 +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
8c56ee6dd7
chore : update project documentation and config
...
Update CLAUDE.md structure, add implementation plans, fix
config/reference.php and MeProvider comment.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 23:40:49 +01:00
81797e10c0
feat : add User CRUD with admin management
...
Add User API operations (GET, POST, PATCH, DELETE) with password
hashing processor, frontend service, drawer and admin tab.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 23:40:49 +01:00
0a7856b37c
feat : add task data fixtures
...
Add fixtures for TaskStatus, TaskEffort, TaskPriority, TaskType,
TaskGroup and sample Task entries.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 23:40:48 +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