etouch
Connexion
Retour aux nouveautés
par Théo Daguier

Changelog — April 15, 2026

Major release day with a notification center, analytics dashboard, asset delivery workflow, dark mode, E2E test suite, and numerous UX and accessibility improvements across the platform.

#feature#bugfix#ux#a11y#testing#design-system#refactor

Release

v1.31.7

✨ New Features

  • In-App Notification Center — Full notification system with a dedicated page, real-time dropdown updates, and GraphQL subscriptions for marking notifications as read. #398

  • Analytics & Usage Tracking Dashboard — New analytics page with overview charts, trend data, and KPI widgets powered by dedicated GraphQL resolvers. #389

  • Project Delivery Page for Client Downloads — Branded delivery page at /projects/[id]/delivery allowing clients to browse and download finalized assets. #382

  • Batch Asset Download with ZIP Packaging — "Download Selected" button in the gallery with server-side ZIP fallback for large batches, plus authorization flow for client delivery. #397

  • Dark Mode Toggle — Theme switcher added to the navigation header, persisted via user preferences. #395

  • Retouch Workflow UX Improvements — Status badges on retouched assets, before/after comparison view, and empty-state components for the retouch pipeline. #383

  • Asset Selection UX Enhancements — Keyboard shortcuts for multi-select, shift-click range select, and a sticky bulk action bar in the gallery. #384

  • Error Boundaries for Route Segments — Dedicated error.tsx files for the (auth) and root locale route groups, improving crash recovery. #392

🐛 Bug Fixes

  • Studio Sessions — Empty Client List — Fixed studioClients GraphQL query returning an empty list due to a missing organization scope filter. #386

  • Reactive Client List in Project & Session Dialogs — Client dropdowns now update reactively after creation; inline client creation added to session dialog (EDOAAA-138, EDOAAA-142). #388

  • Test Regressions (Post-Merge Audit) — Fixed 3 regressions in shared and web test suites caught during post-merge validation. #385

  • Accessibility — Timer Controls — Added aria-labels to icon-only machine timer controls and resolved mobile TypeScript compilation errors. #391

♻️ Refactoring & Technical Improvements

  • Design System Consistency — Replaced all hardcoded hex color values with CSS custom property tokens across the codebase for theme coherence. #390

  • Form UX Polish — Improved form field borders, focus ring visibility, and inline validation feedback across sign-in, reset-password, and project/session dialogs. #393

📦 Dependencies & Infrastructure

  • Playwright E2E Test Suite — Added end-to-end tests covering auth, clients, navigation, projects, and sessions with shared fixtures and global setup. #396

  • Prisma Schema & SDK Regeneration — Schema extended with notification/analytics models; generated client, SDK operations, and GraphQL types fully regenerated.