7d98c1598c
fix(deps) : update composer.lock with symfony/mime
...
Auto Tag Develop / tag (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:54:09 +02:00
gitea-actions
4772f057a3
chore : bump version to v1.9.19
Auto Tag Develop / tag (push) Successful in 8s
Build & Push Docker Image / build (push) Failing after 9s
v1.9.19
2026-04-06 14:52:56 +00:00
6680423e64
fix(deps) : add symfony/mime as explicit dependency
...
Auto Tag Develop / tag (push) Has been cancelled
Was previously pulled as transitive dependency but disappeared after
composer update, causing 500 errors on document upload in production.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:52:42 +02:00
2c2de8bc00
test(machine-detail) : add hierarchy loading and override data integrity tests
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:52:42 +02:00
150aceac24
test(piece-edit,documents) : add productIds sync, error paths, and document CRUD tests
2026-04-06 16:52:42 +02:00
972f30e772
test(component-create) : add structure, error path, and null handling tests
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:52:42 +02:00
8af68c9628
test(component-edit) : add document, error path, and null handling tests
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:52:42 +02:00
eb68336723
test(machine-custom-fields) : add checkbox and data integrity tests
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:52:42 +02:00
eeba229574
test(piece-edit) : add edit flow and product slot data integrity tests
2026-04-06 16:52:41 +02:00
4454bbea3d
test(component-edit) : add edit flow and slot data integrity tests
2026-04-06 16:52:41 +02:00
1e40334e11
test(component-create) : add creation flow data integrity tests
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:52:41 +02:00
83c75ecf69
test(crud) : add CRUD cache data integrity tests for products, composants, pieces
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:52:41 +02:00
b54739f6de
test(custom-fields) : add data integrity tests for all field types
2026-04-06 16:52:41 +02:00
82cbeb91a5
test(constructeur-links) : add sync algorithm data integrity tests
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:52:41 +02:00
e70c66e215
test(fixtures) : add shared mock data for data integrity tests
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 16:52:41 +02:00
gitea-actions
1c07c96184
chore : bump version to v1.9.18
Auto Tag Develop / tag (push) Successful in 8s
Build & Push Docker Image / build (push) Successful in 37s
v1.9.18
2026-04-06 09:39:15 +00:00
122170c3fd
feat(ui) : add documentation page
...
Auto Tag Develop / tag (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 11:34:18 +02:00
gitea-actions
3f5e4b7f51
chore : bump version to v1.9.17
Auto Tag Develop / tag (push) Successful in 16s
Build & Push Docker Image / build (push) Successful in 38s
v1.9.17
2026-04-06 09:23:53 +00:00
0832af86cc
Merge branch 'feat/ux-quick-wins' into develop
...
Auto Tag Develop / tag (push) Has been cancelled
# Conflicts:
# frontend/app/components/ComponentItem.vue
# frontend/app/components/PieceItem.vue
# frontend/app/components/machine/MachineInfoCard.vue
# frontend/app/composables/usePieceEdit.ts
# frontend/app/pages/component/[id]/index.vue
# frontend/app/pages/piece/[id].vue
# frontend/app/pages/product/[id]/edit.vue
# frontend/app/pages/product/[id]/index.vue
# frontend/app/pages/product/create.vue
# frontend/app/shared/utils/customFields.ts
2026-04-06 11:23:21 +02:00
44b6e0998c
fix(custom-fields) : fix declaration order in useComponentEdit and useComponentCreate
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 11:20:08 +02:00
c4ed8c8edc
refactor(custom-fields) : unify 3 parallel implementations into 1 module
...
Replace ~2900 lines across 9 files with ~400 lines in 2 files:
- shared/utils/customFields.ts (types + pure helpers)
- composables/useCustomFieldInputs.ts (reactive composable)
Migrated all consumers:
- Backend: add defaultValue to API Platform serialization groups
- Standalone pages: component edit/create, piece edit/create, product edit/create/detail
- Machine page: MachineCustomFieldsCard, MachineInfoCard, useMachineDetailCustomFields
- Hierarchy: ComponentItem, PieceItem
- Shared: CustomFieldDisplay, CustomFieldInputGrid
- Category editor: componentStructure.ts
Deleted:
- entityCustomFieldLogic.ts (335 lines)
- customFieldUtils.ts (440 lines)
- customFieldFormUtils.ts (404 lines)
- useEntityCustomFields.ts (181 lines)
- customFieldFormUtils.test.ts
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 11:20:08 +02:00
6d3cbf9157
docs : fix task ordering — category editor before machine page
...
normalizeStructureForEditor is used by useMachineDetailCustomFields.
Must clean it (Task 6) before migrating the machine page (Task 7).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 11:20:08 +02:00
464633a288
docs : update implementation plan with review fixes
...
Addresses 8 issues found by dual code review:
- Add readOnly + optionsText to CustomFieldInput type
- Replace computed with mutable ref + refresh() in composable
- Add metadata fallback for fields without customFieldId
- Add onValueCreated callback to keep parent reactive state in sync
- Merge Task 4+5 to avoid type mismatch in intermediate state
- Detail surgical refactoring of transformComponentCustomFields
- Define data contract for ComponentItem/PieceItem (pre-merged)
- Fix hasDisplayableValue to handle readOnly fields
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 11:20:08 +02:00
52e6912a1a
docs : add custom fields simplification implementation plan
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 11:20:08 +02:00
a9428f6bae
docs : add custom fields simplification design spec
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 11:20:08 +02:00
201485552a
fix(ui) : remove legacy edit pages and history composables, unify create/edit forms
...
Consolidate create and edit pages into single create pages with edit mode support.
Remove obsolete catalog pages, history composables, and fix remaining code review issues.
Include migration to relink orphaned custom fields.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 11:19:50 +02:00
cfaf234419
fix(test) : disable rate limiter in test env — fixes 214 false auth failures
...
The login rate limiter (5 req/min) was triggering 429 on most tests
since each test creates its own authenticated client via POST /api/session/profile.
Set limit to 10000 in test env so the full suite can run unthrottled.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-05 18:38:29 +02:00
244bfdc3e4
fix : code review — correct 15 issues across UX overhaul (phases 1-4)
...
Critical fixes:
- Make MigrateConstructeurLinks migration no-op (legacy tables already dropped)
- Add explicit ON CONFLICT (id) target in RestoreConstructeurLinks migration
- Replace N+1 queries with 4 bulk GROUP BY in ConstructeurStatsController
- Declare missing versionListRef template ref in machine detail page
- Add missing await on removeMachineDocument, cast activeTab as string
Important fixes:
- Add lang="ts" to ToastContainer and constructeurs page
- Type entityType as union in UsedInSection/useUsedIn
- Remove dead duration param from showError
- Update back-link props to new /catalogues/* URLs (3 pages)
- Replace raw error blocks with EmptyState in component/piece detail pages
- Type handleFillEntity params and machineInfoCardRef
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-05 18:26:05 +02:00
8a841832b2
docs : add full session summary for UX overhaul (phases 1-4)
2026-04-05 17:48:43 +02:00
6b8422fd03
fix(migration) : restore constructeur links from backup data — fallback for prod
2026-04-05 17:46:46 +02:00
7c2ad165e4
fix(migration) : migrate constructeur links from legacy M2M tables to new link entities
2026-04-05 17:29:33 +02:00
eef4b01d74
fix(api) : add priority to constructeurs/stats route to avoid {id} conflict
2026-04-04 19:30:55 +02:00
3a5860c83c
fix(ui) : use correct component names without path prefix (EmptyState, UsedInSection)
2026-04-04 19:29:00 +02:00
ef4e208828
feat(ui) : enrich category related items modal with machine counts and navigation links
2026-04-04 17:31:34 +02:00
14ed38704f
feat(api) : add machine count to category related items endpoint
2026-04-04 17:29:39 +02:00
8b02f821d3
feat(ui) : add UsedInSection showing reverse entity relationships on detail pages
2026-04-04 17:29:13 +02:00
4afbc8ba8a
feat(api) : add constructeur stats endpoints with entity counts
2026-04-04 17:26:06 +02:00
b484a426e0
feat(api) : add /api/{entityType}/{id}/used-in endpoint for reverse entity lookups
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 17:25:43 +02:00
5b06e2ba51
feat(ui) : improve mobile responsiveness — breadcrumb truncation, tabs scroll, form grids
2026-04-04 17:25:36 +02:00
7f91b30bf6
feat(ui) : error toasts persist until dismissed, add progress bar on auto-dismiss toasts
2026-04-04 17:25:00 +02:00
8e0e3a3b33
fix(custom-fields) : fix resolvedStructure declaration order and remove duplicate in usePieceEdit
2026-04-04 17:20:14 +02:00
fea51fb66b
fix(custom-fields) : fix declaration order of resolvedStructure in usePieceEdit
2026-04-04 17:18:52 +02:00
644b05c30a
fix(ui) : add lang=ts to script tags using TypeScript syntax
...
ComponentItem, PieceItem, and machine/[id] used 'as string' type
assertions but were missing lang="ts" on their script tags.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 17:16:58 +02:00
48beff753e
feat(ui) : reorganize navbar by business domain — Catalogues + Administration
2026-04-04 17:14:02 +02:00
db6fd8f36a
feat(ui) : add legacy URL redirects for old catalog and category routes
2026-04-04 17:13:23 +02:00
6a43f08df8
fix(ui) : phase 1 review fixes — machine context links, type annotations, double arrow
...
- Add ?from=machine&machineId=xxx query params to entity NuxtLinks in hierarchy
- Add useRoute + machineId computed to ComponentItem, PieceItem, MachineProductsCard
- Add :string type to confirmRemove* handlers in machine page
- Remove unicode arrow from DetailHeader backLabel (icon already provides it)
- Add !isEditMode guard on product links in MachineProductsCard
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 17:12:20 +02:00
8a355aad11
feat(ui) : create unified catalog+category pages under /catalogues/
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 17:10:19 +02:00
72c10ced40
feat(ui) : add contextual breadcrumb navigation
2026-04-04 17:08:17 +02:00
71cf131e56
feat(ui) : add tabs to piece and product detail pages
2026-04-04 17:06:09 +02:00
5b37404b9e
feat(ui) : add tabs to product detail page
2026-04-04 17:05:30 +02:00