3.3.1
Released
Fixes
The dashboard's Today section keeps two cycles of one recurring Quest apart when both overlap today (#859). Since 3.3.0 judges a cycle's window as instants, a 24-hour cycle that started before a spring-forward midnight runs an hour into the next local day, and a window longer than its cadence overlaps the next cycle, so
get_my_today_cycles()can return two cycles of the same template. Cards and their heading ids were keyed by the template, so those two cards shared a React key and an id, and a refresh after a tick could reconcile the wrong card. They are now keyed by the cycle's quest, and a daily cycle's window is labelled when its template has a second card today, so the two can be told apart.today-cycles.test.tsxrenders the spring-forward Sunday-and-Monday pair and checks two cards, distinct heading ids, each window and no duplicate-key warning.