* [#533] updated localisation of field + removed empty display for repetition
* [#533 & #545] fixed bug date in repetition field & set limit to repetition end to not be before start date
* [#490 & #489] Removed duplicated api call to get event data
* [#490] removed arbitrary timezone fallback to UTC/ETC & updated exdate formating
* [#490] updated test and fixed eventdiff utils to properly handle dates
* update minicalendar
* update left sidebar
* chore: update twake-mui to version 1.1.4
- Update @linagora/twake-mui from local file to npm package 1.1.4
- Add margin to TempCalendarsInput section in sidebar
- Remove margin from PeopleSearch component (moved to parent)
* Changed wording on my calendars and event creation button
---------
Co-authored-by: Camille Moussu <cmoussu@linagora.com>
* [#449] added debounce for websocket updates
* [#449] changed behavior to have disableable debounce + changed debounced messages data storage to be handled by websocket Gate
* Update loading screen to use Lottie animation
- Replace simple logo with Lottie animation from loadercalendar.lottie
- Center animation on screen with full viewport coverage
- Set animation width to 175px
- Install @lottiefiles/dotlottie-react package
* update spacing event modal
* add twake workplace logo to loading screen
* update spacing create calendar modal
* fix evenchip description color
* using variant instead of sx
* [#444] added refresh on sync token calendar update
* [#444] added refresh on register and tests
* [#444] extracted logic for useEffects and updates
* [#444] refactored code structure to use absolute paths
- Display 2-letter initials (e.g., "JD" for "John Doe") instead of single letter
- Add getInitials helper function in avatarUtils for reusability
- Update Avatar in PeopleSearch, CalendarSearch, and Menubar components
- Remove avatarUrl prop usage across all Avatar components
* [#405] added syncToken in calendar params and fetch with sync token
* [#405] changed reload to work with sync-token
* [#405] fixup promise handling, added calendar adding and removing hanlding with refresh
* [#405] fixed event expansion calls
* [#405 & refactor] added helperfunction to get base event uid + refactored synctoken updates management
* [#405] added pMap lib to process event expansion
* [#405] added flag for no synctoken / new synctoken
- When dragging from allday slot: open normal mode with allday checked, show start date and end date
- When dragging from week/month view grid: open normal mode with allday checked, show 4 fields (start date, start time, end date, end time)
- Update DateTimeFields logic to support displaying time fields when allday=true and hasEndDateChanged=true for multiple days events
Add setHasEndDateChanged(false) to resetAllStateToDefault function to prevent stale state when:
- User creates multi-day event from grid (sets hasEndDateChanged = true)
- Closes the modal
- Opens modal again for a single-day event
This ensures hasEndDateChanged is properly reset to false when modal is closed or reset.
Fix drag and drop logic: keep allday=false when dragging from week view
- Remove setAllDay(true) when dragging multiple days from week view grid
- Keep allday=false to show time fields for week view drag scenarios
- Add comprehensive test cases for drag and drop scenarios
- Test cases cover allday slot and week view drag scenarios
- Prevent regressions with test coverage for display logic
- Replace default TimePicker field with custom EditableTimeField
- Allow free typing with multiple formats (HH:mm, HHmm, H, etc.)
- Show dropdown on click while maintaining typing capability
- Center-align time input text
- Add separator '-' between start time and end time in normal mode
- Fix layout logic: keep single row for allday events in normal mode
- Remove auto-adjustment of start time when end time changes
- Update test case to match new behavior
- Add 150ms delay wait after time input change to ensure handler completes
- Fixes test case that was failing due to 0.1s delay in handleStartTimeChangeWithClose
- Remove label prop from all DatePicker and TimePicker components
- Add aria-label to inputProps for accessibility and testing
- Auto-close TimePicker dropdown when selecting an option
- Add 0.1s delay before calling time change handlers after closing dropdown
- Add test case to verify aria-label attributes
- Add logo click handler to navigate to current week view from any view (month, day, or week)
- Update MainTitle component to accept calendarRef and view change callbacks
- Implement handleLogoClick that changes view to week and navigates to current week
- Add comprehensive test cases for logo click behavior from all view types
Co-authored-by: Lê Nhân Phụng <lenhanphung@Phung-Mac-M4.local>