72795e924e
feat(t2-live): archi audio Voie A + Bugs 4/5/6 + indicateur de prise de parole (Sprint 6e)
...
- Voie A WAV : AudioContext unique au rate natif, tap AudioWorklet sur mixGain, uplink rate-aware 16k, alignement par horloge unique (fin offset/resample/concat). Anti-echo candidat. Cycle start=ws.onopen / stop=Terminer / cancel=aucun WAV.
- Bug 4 : 'Voir le rapport' route vers le rapport (navigatingAwayRef).
- Bug 5 : 'Annuler' (cancelDialogue) - arret sans evaluation, sans WAV, sans production.
- Bug 6 : 'Nouvelle simulation' route selon le type via champ tache propage (Report).
- Indicateur de prise de parole : state machine USER_SPEAKING/USER_SILENT (RMS + hysteresis).
- Cleanup : retrait instrumentation [BISECT] ; ref VAD renomme lastAiChunkTsRef.
- Removed : code mort mixTracksToInt16, resample16kTo24k + tests.
2026-06-29 14:31:38 +03:00
1d95166611
Sprint 6c — Frontend T2 Live UI + state machine + integration
...
feat(t2-live): state machine pure 9 states x 8 events (resolves FTD-09)
feat(t2-live): useT2LiveSession WS orchestrator + audio hooks + close codes
feat(t2-live): T2SujetsPage, T2PreparationPage (2min timer + notes + ideas),
T2DialoguePage (3:30 dialogue + terminal screen with WAV download)
feat(t2-live): T2LiveContext provider for sujet sharing between pages
fix(TaskSelector): unlock EO_T2_LIVE card via hasAccess (resolves FTD-33)
chore: Tache type + labels + config extended with EO_T2_LIVE
test: 21 t2-machine tests — 259/259 green (+21)
2026-04-26 20:32:02 +03:00
04019f8348
feat(rapport/eo): support 5 critères × /4 — Phonologie (Sprint 4.8 frontend)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 03:30:49 +03:00
d1c8b548bb
feat(eo): complete EO simulation flow (T1 + T3) with Gemini transcription
...
- Gemini batch transcription (no Deepgram live)
- blobToBase64 helper (shared/lib/audio.ts)
- AudioRecorder: remove onChunk, add maxSeconds/onMaxReached auto-submit
- Timer stops at maxSeconds and triggers auto-submission
- EnregistrementEOPage: audioBase64 to backend, fix race condition step=done
- SimulationFlowProvider: submitEoAudio(audioBase64, mimeType, nclcCible)
- MIME normalization (strip codec params)
- Split CORRECTION_EE_TIMEOUT_MS (60s) / CORRECTION_EO_TIMEOUT_MS (120s)
- PresentationGenereeT1Page: localStorage persistence
Typecheck: OK · Tests: 159/159 ✅
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 08:28:51 +03:00
99617f117c
style: prettier format
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 03:17:16 +03:00
a60c298605
feat(progression): page /progression + section Dashboard Premium — patterns, exercices long terme, indice de préparation (Sprint 3.6c)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 23:12:23 +03:00
a752029c19
feat(historique): page /historique — liste paginée des productions + gating plan (Sprint 3.7)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 21:29:32 +03:00
f51caa1b75
feat(rapport): Sprint 3.6b — RapportPage enrichie, exercices dynamiques, production modèle, sélecteur NCLC
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 20:14:38 +03:00
8390e8b873
feat(corrections): Sprint 3.6a — nouveaux prompts + taxonomie erreurs + génération parallèle
...
Côté frontend : timeout corrections 30→60s (aligné avec backend 55s),
FTD-23 documentée, TAXONOMIE_ERREURS.md ajouté.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 17:28:02 +03:00
18f92098cb
refactor(simulation-ee): Sprint 3.5 clean — FTD-17/18/19 résolus, factorisation SimulationForm
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 14:03:46 +03:00
ae8d8af1df
feat(simulations): resume session + RapportPage tolère rapport=null (FTD-21)
2026-04-21 04:52:51 +03:00
d395a04193
feat(production): types SimulationState + API autosave/updateSujet (FTD-21)
2026-04-21 03:51:16 +03:00
67eb3411c5
feat(simulations): getIdees API + hook useIdees (G5)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 03:09:01 +03:00
4245d0bcf1
feat(production): getSujets() — GET /sujets?mode=&tache=
2026-04-21 01:07:30 +03:00
e130d3792e
feat(production): exposer SujetData dans Production + FTD-21 persistance session
2026-04-20 23:05:01 +03:00
fb3de2865f
fix(report): aligner types sur backend — note→score, exercices string[], supprimer Exercice
2026-04-20 06:01:29 +03:00
1dbca24c35
fix(report): aligner payloads corrections/ee et eo sur contrat backend réel
2026-04-20 03:45:52 +03:00
b31e8666a5
feat(entities): production + report — types, lib, api, tests floutage (Sprint 3 étape 13)
2026-04-19 03:37:41 +03:00
107a37d197
feat(entities/user): PlanStatus + getPlanStatus + hook usePlan (Sprint 1 étape 1)
...
Fondations data plan utilisateur pour le dashboard conditionnel :
- entities/user/types.ts : interface PlanStatus (plan, permissions, simulations_used/remaining, plan_expires_at)
- entities/user/api.ts : getPlanStatus() via apiFetch<PlanStatus>('/plans/status')
- features/dashboard/hooks/usePlan.ts : useQuery + PLAN_QUERY_KEY + staleTime 5 min
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 02:00:12 +03:00
720d4dbbf8
style(format): appliquer Prettier sur 6 fichiers du scaffold Sprint 0
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 17:56:20 +03:00
ef9a84433e
feat(entities/user): access.ts (copie backend) + lib.ts (hasAccess/canSimulate) + 37 tests
2026-04-17 17:45:40 +03:00