RGJ
(Richard - Communiteq)
December 12, 2022, 4:33pm
1
Just encountered this. Look at time in the the left popup when I click first-second-first.
For example 2022-12-13T14:00:00Z would be ideal, although I could also probably make 2022-12-13T13:30:00Z ?
It only happens when the two dates are in the same paragraph, so pressing enter before “although” resolves the issue.
Gif
7 Likes
I played around with the calendar feature and found some weird stuff, might relate to the bug.
I am on mobile(iPad) by the way
2 Likes
ted
(Ted Johansson)
December 15, 2022, 2:58am
5
Great catch!
When we added dedicated support for date ranges we also added a fallback for the old, “automagic” way of detecting them (i.e. are there two dates in the paragraph, if so consider it a range.)
This fallback relies on checking the number of child elements in the paragraph. When expanding the modal, the modal element is added as a child element as well. This is why there are different results when clicking a date depending on whether a modal is already open or not.
Working on a fix.
4 Likes
ted
(Ted Johansson)
January 12, 2023, 10:58am
6
This has been fixed in PR#19477 .
discourse:main
← Drenmi:fix/remove-magic-time-ranges
opened 06:30AM - 15 Dec 22 UTC
### History
In #15474 we introduced dedicated support for date ranges. As par… t of that change we added a fallback of "magic" date ranges, which treats dates in any paragraph with _exactly_ two dates as a range. There were discussions about migrating all such paragraphs to use the new date range element, but it was ultimately decided against.
### What's the problem?
1️⃣ A minor [bug](https://meta.discourse.org/t/timezone-bug/248674) was reported relating to the "magic" date range. If a Tippy was already open when expanding a date, the date would be considered a single date, but if no Tippy was open, it would be considered a range. So expanding the same date could have different results based on the initial conditions.
(The reason this happened is the fallback relies on the number of elements in the paragraph being exactly 2, but the Tippy element was also added as a child of the same paragraph, resulting in 3 children.)
2️⃣ While working on this, I additionally found that using two date ranges in the same paragraph would result in all dates in the paragraph being treated as single dates, rather than being grouped together in ranges.
### How does this fix it?
Firstly, we remove the fallback to "magic" date ranges, as decided. This fixes the 1️⃣ problem.
Secondly, when looking at an element and it's parent paragraph, we now select all date range children and partition them two-by-two. This fixes the 2️⃣ problem.
### In summary
- Single dates are now always rendered as single dates.
- Multiple date ranges in the same paragraph now works correctly.
### In action
![discourse-date-ranges](https://user-images.githubusercontent.com/5259935/207788658-f754ab5e-53bb-40a2-83c6-57ad2334f63d.gif)
5 Likes