f5e41bc377
docs : add client portal design spec
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:54:49 +01:00
f978df6a4b
fix(frontend) : explicit import for ConfirmDeleteDocumentModal
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:53:39 +01:00
98e832afa5
fix(frontend) : use dedicated confirm modal component for document deletion
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:48:10 +01:00
cbfbb16c59
feat(frontend) : replace confirm() with themed modal for document deletion
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:33:44 +01:00
354d994766
fix : tag TaskDocumentListener as doctrine entity listener
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:32:02 +01:00
06771c17e0
fix(bookstack) : add uriVariables to BookStackLink and BookStackSearchResult
...
API Platform 4 requires explicit uriVariables declaration for
URI template parameters on DTO resources.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:27:57 +01:00
9908f34580
fix(frontend) : refresh documents locally after upload/delete and improve progress UX
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:21:04 +01:00
7bf632c1da
feat(bookstack) : integrate TaskBookStackLinks into TaskModal
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:39 +01:00
66a75c6b6a
feat(bookstack) : add TaskBookStackLinks component
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:37 +01:00
f53b2f3d1f
feat(bookstack) : add shelf select to ProjectDrawer
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:34 +01:00
c9a3c7c5f8
feat(bookstack) : add BookStack tab to admin page
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:30 +01:00
5777e8386f
feat(bookstack) : add AdminBookStackTab component
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:27 +01:00
06f2a9e1ea
feat(bookstack) : add i18n translations for BookStack
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:24 +01:00
b5fa9e7d06
feat(bookstack) : add frontend BookStack service
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:20 +01:00
73ecbbc95b
feat(bookstack) : add frontend BookStack DTOs
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-15 18:15:12 +01:00
5327155a80
fix(frontend) : add missing useTaskDocumentService imports
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:12:29 +01:00
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
245a8a932e
feat(frontend) : integrate documents into TaskModal
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:09:20 +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
48ef434f8b
feat(frontend) : add document upload, list and preview components
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:08:10 +01:00
e53862d71f
feat(frontend) : add TaskDocument DTO, service and i18n translations
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:07:00 +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
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
a36cd92a7f
feat(config) : set upload limits to 50MB and add uploads volume
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:02:09 +01:00
bfffbe7041
docs : add BookStack connector implementation plan
...
21-task plan covering backend (entities, migration, service, API
resources) and frontend (DTOs, service, admin tab, project drawer,
task modal integration). Reviewed and fixed: readonly class issue,
page URL construction, Delete provider handling, task:read group,
search query syntax, security attributes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 18:00:34 +01:00
c9993ef32d
docs : add task documents implementation plan
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 17:59:29 +01:00
efc3742fff
docs : update task documents spec after review
...
Address review findings: add EntityListener for file cleanup on
cascade delete, dedicated download endpoint, sequential upload,
i18n keys, .gitignore entry, and error handling strategy.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 08:49:18 +01:00
e047b98bed
docs : update BookStack spec with review fixes
...
Address critical and important review findings: search-in-shelf
algorithm detail, unique constraint, TokenEncryptor refactoring,
pagination specifics, and technical notes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 08:48:10 +01:00
758c9f6fbd
docs : add task documents upload design spec
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 08:46:10 +01:00
2c93e83e6b
docs : add BookStack connector design spec
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 08:45:30 +01:00
25b648a1b1
fix(frontend) : align time-tracking filters with view mode toggle
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-15 08:34:07 +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
802659434f
fix(frontend) : fix time-tracking page scroll with fixed header and filters
...
Restructure time-tracking page layout so the page title and filters
stay fixed while only the calendar grid body scrolls internally.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 09:10:04 +01:00
25aef9b2d5
feat : add dashboard with Chart.js charts and filters
...
Implement the dashboard page with real data from the API:
- KPI cards (hours, active tasks, total tasks, projects)
- Charts: hours by day (line), hours by project (doughnut),
tasks by status (doughnut), tasks by priority (bar),
tasks by project (horizontal stacked bar)
- Filters: period (week/month), project, user
- Add chart.js and vue-chartjs dependencies
- Add dashboard sidebar icon and translations
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 09:05:35 +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
c0b16ef6dc
refactor(frontend) : redesign TaskGitSection with tabs and collapsible commits, add scrollable modal
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 16:44:30 +01:00
Matthieu
c89f9c5596
fix : load Gitea URL on modal open instead of onMounted
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 14:19:54 +01:00