-
This commit is contained in:
45
CLAUDE.md
45
CLAUDE.md
@@ -46,12 +46,25 @@ XX. **Nome Problema (FIX/IMPLEMENTATO DATA):** - **Problema:** Descrizione breve
|
||||
|
||||
## Quick Start - Session Recovery
|
||||
|
||||
**Ultima sessione:** 28 Novembre 2025 (tarda notte)
|
||||
**Ultima sessione:** 28 Novembre 2025 (pomeriggio - sera)
|
||||
|
||||
**Stato progetto:** Migrazione Oracle APEX → .NET + React TypeScript in corso
|
||||
|
||||
**Lavoro completato nell'ultima sessione:**
|
||||
|
||||
- **NUOVA FEATURE: Sistema Collaborazione Real-Time Globale** - IN CORSO
|
||||
- Migrato da sistema report-specific a sistema globale per tutta l'app
|
||||
- `CollaborationHub.cs` - Hub SignalR generico per qualsiasi entità/pagina
|
||||
- `collaboration.ts` - Service singleton per gestione connessione
|
||||
- `CollaborationContext.tsx` - React Context con hooks (`useCollaboration`, `useCollaborationRoom`)
|
||||
- `CollaborationIndicator.tsx` - Indicatore globale nella UI
|
||||
- Room-based collaboration con formato `{entityType}:{entityId}`
|
||||
- **FIX: Incompatibilità versione SignalR** - Rimosso package `Microsoft.AspNetCore.SignalR.Common` v10.0.0 incompatibile con .NET 9, downgrade client `@microsoft/signalr` a v8.0.7
|
||||
- **FIX: Auto-save non funzionante** - Usati `useRef` per evitare re-run dell'effect causato da `saveMutation` nelle dependencies
|
||||
- **IN DEBUG:** Sincronizzazione real-time tra sessioni - Il salvataggio manuale sincronizza, l'auto-save invia la notifica ma la sessione 2 non la riceve ancora
|
||||
|
||||
**Lavoro completato nelle sessioni precedenti (28 Novembre 2025 tarda notte):**
|
||||
|
||||
- **NUOVA FEATURE: Toolbar Report Designer Migliorata Drasticamente** - COMPLETATO
|
||||
- Design moderno stile Canva/Figma con gradient buttons e animazioni fluide
|
||||
- **Sezioni etichettate** su desktop (INSERISCI, MODIFICA, CRONOLOGIA, VISTA, ZOOM, PAGINA)
|
||||
@@ -1050,6 +1063,36 @@ frontend/src/
|
||||
- **Type aggiunto:** `textDecoration` in `AprtStyle`
|
||||
- **File:** `EditorToolbar.tsx`, `types/report.ts`
|
||||
|
||||
20. **Incompatibilità Versione SignalR (FIX 28/11/2025 pomeriggio):**
|
||||
- **Problema:** Errore "Method not found: 'System.String Microsoft.AspNetCore.SignalR.IInvocationBinder.GetTarget(System.ReadOnlySpan`1<Byte>)'." - connessioni SignalR fallivano immediatamente
|
||||
- **Causa:** Package `Microsoft.AspNetCore.SignalR.Common` v10.0.0 nel backend incompatibile con .NET 9 (è per .NET 10 preview)
|
||||
- **Soluzione:**
|
||||
- Rimosso `Microsoft.AspNetCore.SignalR.Common` dal .csproj (SignalR è già incluso in ASP.NET Core)
|
||||
- Downgrade frontend `@microsoft/signalr` da v10.0.0 a v8.0.7
|
||||
- **File:** `Apollinare.API.csproj`, `frontend/package.json`
|
||||
|
||||
21. **Auto-Save Non Funzionante (FIX 28/11/2025 pomeriggio):**
|
||||
- **Problema:** Con auto-save attivo, le modifiche non venivano salvate (l'indicatore mostrava "Non salvato" sempre)
|
||||
- **Causa:** `saveMutation` nell'array di dipendenze dell'`useEffect` causava il reset del timeout ad ogni render (React Query crea un nuovo oggetto ad ogni render)
|
||||
- **Soluzione:** Usati `useRef` per `saveMutation`, `template`, e `templateInfo` per evitare che l'effect si ri-esegua inutilmente
|
||||
- **File:** `ReportEditorPage.tsx`
|
||||
|
||||
22. **Sistema Collaborazione Real-Time (IN CORSO 28/11/2025):**
|
||||
- **Obiettivo:** Collaborazione stile Google Docs su tutto l'applicativo
|
||||
- **Architettura implementata:**
|
||||
- `CollaborationHub.cs` - Hub SignalR generico con room-based collaboration
|
||||
- `collaboration.ts` - Service singleton frontend
|
||||
- `CollaborationContext.tsx` - React Context con `useCollaborationRoom` hook
|
||||
- Room key format: `{entityType}:{entityId}` (es. `report-template:2`)
|
||||
- **Stato attuale:**
|
||||
- Connessione e join room funzionanti
|
||||
- Salvataggio manuale notifica le altre sessioni correttamente
|
||||
- Auto-save invia `sendDataSaved()` ma le altre sessioni non ricevono la notifica
|
||||
- **Debug in corso:** Aggiunto logging dettagliato per tracciare il flusso dei messaggi
|
||||
- **File principali:**
|
||||
- Backend: `CollaborationHub.cs`
|
||||
- Frontend: `collaboration.ts`, `CollaborationContext.tsx`, `ReportEditorPage.tsx`
|
||||
|
||||
### Schema Database Report System
|
||||
|
||||
Le tabelle sono già nel DbContext (`AppollinareDbContext.cs`):
|
||||
|
||||
Reference in New Issue
Block a user