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
c6e1fce313
feat(ui) : add tabs to component detail page
2026-04-04 17:02:37 +02:00
63104dc155
feat(ui) : add tabs to piece detail page
2026-04-04 17:02:31 +02:00
2b96d20d56
feat(ui) : add tabs to machine page, compact header with site/reference badges
2026-04-04 17:00:02 +02:00
a8a3facec8
feat(ui) : create useUnsavedGuard composable for edit page navigation protection
2026-04-04 16:58:35 +02:00
54b3b03611
feat(ui) : create EntityTabs shared component for tabbed detail pages
2026-04-04 16:56:45 +02:00
6742da2fce
feat(ui) : align entity detail pages — category links and version lists on all three
2026-04-04 16:42:53 +02:00
1963ce261d
feat(ui) : replace div-inputs with plain text in entity detail pages read mode
2026-04-04 16:42:23 +02:00
a610284325
feat(ui) : add confirmation dialogs on all delete and unlink actions
2026-04-04 16:41:35 +02:00