# Acadenice Patches Liste des patches custom appliques sur le fork Acadenice de Docmost. Ce document est maintenu manuellement pour faciliter le rebase upstream. Repo upstream : `github.com/docmost/docmost` Branche fork : `acadenice/main` ## Conventions - Chaque patch est commit isole avec scope `feat(rebrand)` / `feat(custom)` / etc. - Les modifications in-line de fichiers upstream sont documentees ici avec rationale. - Les nouveaux fichiers (extensions Tiptap custom, hooks, etc.) vont dans des emplacements dedies pour minimiser les conflits de rebase. --- ## Patch 001 — Rebrand minimal "Docmost" -> "DocAdenice" **Date** : 2026-05-07 **Scope** : strings UI visibles utilisateur uniquement **Rationale** : nom temporaire pour les beta-testeurs en attendant le vrai rebranding (logo SVG + design system + manifest PWA). Conserve les identifiants techniques pour ne rien casser et faciliter le rebase upstream. ### Fichiers modifies | Fichier | Avant | Apres | |---------|-------|-------| | `apps/client/index.html` | `
| ` : ajout `data-testid={`cell-${row.id}-${field.name}`}` — permet de cibler une cellule specifique par row ID et nom de champ. #### `apps/client/src/features/acadenice/database-view/components/inline-editor.tsx` - Branche `!canWrite` : ajout `data-testid="inline-editor-readonly"` sur le `` — permet aux tests RBAC de verifier que l'editeur est bien en lecture seule. - Branche `default` (`TextInput`) : ajout `data-testid="inline-editor-input"` — permet de cibler l'input dans les tests d'edition inline. #### `apps/client/src/features/acadenice/database-view/renderers/kanban-renderer.tsx` - `KanbanCard` wrapper div : ajout `data-testid={`kanban-card-${row.id}`}` — ciblage par row ID pour les tests de drag. - `KanbanColumn` wrapper div : ajout `data-testid={`kanban-column-${column.label}`}` — ciblage par label de colonne. - Board div (DndContext child) : ajout `data-testid="kanban-board"` — detection de la presence du kanban dans la page. #### `apps/client/src/features/acadenice/database-view/renderers/calendar-renderer.tsx` - Root div du composant : ajout `data-testid="calendar-renderer"` — detection de la presence du calendrier. #### `apps/client/Dockerfile.e2e` (nouveau) - Cree pour docker-compose.e2e.yml : build Vite du client + serve via `serve@14` sur le port 5173. - Utilise uniquement pour les e2e — pas de changement sur le Dockerfile de production. ### Raison des choix - `data-testid` sur les elements conteneurs plutot que sur les elements internes — plus stable face aux refactors de structure interne. - Pas de `data-testid` sur les elements Mantine (Button, Select, etc.) : ces composants ont leurs propres selectors d'accessibilite (role, aria-label) que Playwright prefere nativement. - Aucun `data-testid` ajoute dans les hooks, services, ou extension Tiptap — non necessaire pour les assertions UI e2e. ### Tests impactes 7 scenarios e2e dans `e2e/tests/` utilisent ces testids : - `database-view-insert.spec.ts` : `table-renderer` - `database-view-edit-inline.spec.ts` : `cell-{rowId}-{fieldName}`, `inline-editor-input` - `database-view-realtime-sse.spec.ts` : `table-renderer` - `database-view-rbac-denied.spec.ts` : `inline-editor-readonly` - `database-view-kanban-drag.spec.ts` : `kanban-board`, `kanban-column-{label}`, `kanban-card-{rowId}` - `database-view-calendar-reschedule.spec.ts` : `calendar-renderer` |