merge-upstream-5.0.1 #66

Merged
778a69cd merged 80 commits from merge-upstream-5.0.1 into main 2024-12-26 12:55:41 +01:00
Collaborator
No description provided.
summersamara added 79 commits 2024-12-26 12:48:41 +01:00
Using Repo.aggregate() to count the total of elements is incompatible with group_by().

Changing this to a subquery with a count(*) of results permit to use group_by().
- Removed "Everything" choice for search, default to "Events"
- Add radio button for search type selection (events, activities, groups)
- Label now have a cursor pointer
- Remove the confusing concept of EVENTS, SHORTEVENTS and LONGEVENTS. There is only EVENTS and LONGEVENTS.
- tz-offset is not a valid parameter for <o-datetimepicker> so the offset was ignored.
- also remove invalid horizontal-time-picker and first-day-of-week parameters from <o-datetimepicker>
Javascript Date() objects are based on "the host environment (user's device)".

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
"The above approach attempts to manipulate the Date object's time zone by shifting the Unix timestamp by some other time zone offset. However, since the Date object only tracks time in UTC, it actually just makes the Date object represent a different point in time. [...] When doing so, any access to non-UTC properties must be avoided. "

See: https://stackoverflow.com/a/15171030
Solves the "date is not updated issue" on iOS 17
The user time zone setting is now available in the event display page
- the time zone is used to calculate the date
- use the offset to know if beginsOn and endsOn are the same day
- refactor the <o-switch>

Solves, for example, this display problem :

The date range "2024-12-31 17:45 to 2025-01-01 01:00" in the Asia/Shanghai time zone (spanning different years and days) is equivalent to "2024-12-31 at 10:45 to 2024-12-31 at 18:00" in the Europe/Paris time zone (same year and same day).
If an event do not have a time zone, use the user's setting time zone for display or the browser time zone otherwise
Remove MATCH_DESC for events for consistency.

Options stays available in backend and GraphQL.
The user menu always opened to the right. This made the menu extend over
the boundary of the screen, add a horizontal scrollbar and cut off the
menu. This fix opens the menu to the left, preventing such behavior
Instead of showing the no event found text
The actual long_event implementation is only done for search and long_event is a parameter of the search request.

This change is needed for the the front-end to know if an event is a long_event everywhere an event is received.

The computed field (Ecto virtual field) is set after the Ecto request with the function with_virtual_fields().

with_virtual_fields() handles cases where there is an event, a list of events and a paginated list of events returned.
- longevents -> long_events (back-end)
- longevents -> longEvents (front-end)
778a69cd added 1 commit 2024-12-26 12:52:12 +01:00
778a69cd merged commit 20d0b49941 into main 2024-12-26 12:55:41 +01:00
778a69cd deleted branch merge-upstream-5.0.1 2024-12-26 12:55:41 +01:00
Sign in to join this conversation.
No description provided.