etouch
Sign in
Back to changelog
by Théo Daguier

Changelog — June 4, 2026

Major calendar overhaul with real E-Do reservation creation, minute-precision scheduling, per-machine date/time pickers, and analytics + dashboard fixes.

#feature#bugfix#refactor#calendar#analytics

Release

v1.48.3

✨ New Features

  • Real E-Do Reservations from Calendar — The calendar "+" dialog now creates actual reservations in the E-Do Booking system (client-linked, per-machine date/hour with one booking_sessions row per machine) instead of internal etouch sessions. Calendar renders one block per machine at its own day/hour. #682

  • Per-Machine Date/Time in Sessions — Each machine in a session can be scheduled at its own day and hour (e.g. live at 14:30, horizontal at 10:00). The session startedAt defaults to the earliest machine time. Calendar splits sessions into one block per machine. #683 #684

  • Redesigned Mode Switcher — New mode switcher with icons and navigation improvements for a cleaner app experience. #685

  • Client Combobox — New shadcn-based searchable client selector with org logo, scroll support, and quick-create (name + email). Reused across project, session, reservation, and transform dialogs. Quick-create sends full defaults (locale, timezone, storage limits, auto-archive). Search matches client name, company name, SIREN, and contact name. #687

  • Dashboard Refresh — Action-first overview with quick actions, recent projects, and team activity feed. #687

🐛 Bug Fixes

  • Analytics Charts Empty — Fixed empty analytics charts caused by recharts version conflict, ALL_TIME range handling, and resilient resolvers. Added hydration guards. #687

  • Reservation Reschedule Minute Granularity — The reschedule DateTimePicker was stuck at hour granularity despite #684 adding minute support. Now correctly uses granularity="minute", prefills the booking's arrival minute, and sends newArrivalMinute end-to-end. #686

  • Calendar Default Date Noise — Removed the redundant session-level "Date planifiée (par défaut)" field since machines now carry their own date/time. At least one machine is now required. #683

♻️ Refactoring & Technical Improvements

  • Notification UI Refresh — Shared icon resolver and badge updates for the notification system. #687

  • Shadcn Time Picker Component — Extracted a standalone reusable TimePicker (hour + optional minute Selects) into packages/ui. DateTimePicker now composes it with an hour-granularity mode for flows that don't need minutes. #683

📦 Dependencies & Infrastructure

  • Auth Env Fix — Linked apps/web/.env in worktree setup so Next loads the centralized env, fixing "Invalid origin" on login/logout. #687

  • Releasesv1.45.0v1.45.2 (calendar + dev fixes), v1.46.0 (reservation creation), v1.47.0 (reschedule pickers), v1.48.0 (mode switcher), v1.48.1v1.48.2 (reschedule granularity + analytics).