Skip to content

Dev calendar#10442

Merged
tutao-jenkins merged 20 commits intomasterfrom
dev-calendar
Mar 24, 2026
Merged

Dev calendar#10442
tutao-jenkins merged 20 commits intomasterfrom
dev-calendar

Conversation

@andrehgdias
Copy link
Contributor

No description provided.

@andrehgdias andrehgdias force-pushed the dev-calendar branch 6 times, most recently from 0abda3c to 82c476c Compare March 12, 2026 11:29
@andrehgdias andrehgdias force-pushed the dev-calendar branch 2 times, most recently from 56ef449 to cbc96b0 Compare March 17, 2026 07:27
@andrehgdias andrehgdias force-pushed the dev-calendar branch 2 times, most recently from 6cf6ab5 to 735ef14 Compare March 18, 2026 06:11
@andrehgdias andrehgdias force-pushed the dev-calendar branch 4 times, most recently from 15dd211 to 6398119 Compare March 24, 2026 14:20
@andrehgdias andrehgdias marked this pull request as ready for review March 24, 2026 14:48
andrehgdias and others added 13 commits March 24, 2026 17:17
Ensure compatibility with Kotlin 2.2.20 by removing deprecated methods.
Also improve widget logs.

Closes #10408
Co-authored-by: and <and@tutao.de>
…ssing.

Refactor CalendarEventDao to use IdTupleCustom, and give IdTupleCustom
serialization capability.

Rename loadEvents overload to loadEventsFromCache
in WidgetDataRepository

Co-authored-by: and <and@tutao.de>
Co-authored-by: and <and@tutao.de>
…ing/decoding.

android.util.Base64 is designed to throw
 errors whenever it is run in a test.
 java.util.Base64 is functionally identical as the
 android version that uses NO_WRAP.

Co-authored-by: and <and@tutao.de>
Co-authored-by: and <and@tutao.de>
Rendering logic changed to use the same high-level
logic as on android, including using separate TodayCard
and OtherDayCard.

DayWithWeekday is also now separate from the EventBody
because keeping it there would cause the CalendarIndicator
to grow to be too tall and inconsistent in different places.

Co-authored-by: and <and@tutao.de>
Co-authored-by: bed <bed@tutao.de>
Rearrange the Today Card so the Header Text, all day events, and Event List
are in the same column. This ensures that we don't have any unused empty
space in case there are no all day events.
The New Event button has absolute positioning in the top right part of the card.

Co-authored-by: and <and@tutao.de>
Co-authored-by: and <and@tutao.de>
andrehgdias and others added 6 commits March 24, 2026 17:17
In order to prevent out of memory errors during instance generation, we
preemptively try to allocate the necessary memory before pushing to the
dates vector in hopes this will reduce SDK crashes(mainly on iOS).

This commit also fixes an error with BYWEEKNO applied to ANNUAL events
where It would silently skip any event in a series with week number.
Context:
When creating event instances for a repeating event there was an
implicit limit of how many occurences can becreated, it was defined by
u8::MAX. So we never calculated more than 255 instances.
For an event that has been created a year ago and repeats daily these
events would never be generated.

- This fix ensures that all event occurences are always calculated until
a given max_date, which now sets the limit.
- Public functions have been renamed to calculate_event_occurrences and
apply_by_rules.
- Also the exported uniffi implementation has changed to be just a small
wrapper that gets exported.

Closes #10427

Co-authored-by: and <and@tutao.de>
@tutao-jenkins tutao-jenkins merged commit 56f2b1d into master Mar 24, 2026
15 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants