Calendar: a day's links drop the kinds filter, so \"and N more\" opens a different set of events #452
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#452
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found on 2026-09-29 in a read-only review of postulo at
95348908d, following every link the calendar page builds.Related to #238.
Checked again on 2026-10-01 against
mainat0a5cad587: still present. The code is now atapplications/agenda.py:413-415(Day.url),:459-473(month_grid),:476-482(week_days) and:503(url_for's docstring), and the links are drawn attemplates/applications/calendar.html:237(day number),:256(and N more) and:290(week view heading).Every link on a narrowed calendar keeps its
?kinds=except the ones that open a single day. The day number in a month cell, the cell's and N more link and the day headings of the week view all lead to the unfiltered day, so a calendar narrowed to deadlines widens without the person asking.applications/agenda.py:352-354,Day.url:return url_for("day", self.date), with no kinds.Dayhas no kinds field, andmonth_grid(:387-400) andweek_days(:403-409) do not pass the page's. The links are drawn attemplates/applications/calendar.html:139(day number),:151(and N more) and:174(week view heading).url_for's docstring (:430) says "The kinds travel with it, so Earlier does not quietly widen a narrowed calendar", and the switcher, the legend, Earlier, Later and Today all passkinds.?month=2026-09&kinds=deadline. A cell reads and 2 more, counted over deadlines only. Following it opens that day with every interview, reminder, closing date and answer due as well, and the legend shows all five kinds switched back on. The day holds more than the cell promised.Dayakindsfield, set bymonth_gridandweek_daysfrom the kindsbuildalready holds, and returnurl_for("day", self.date, self.kinds)fromDay.url.Done when
tests/test_calendar.pyrenders?month=...&kinds=deadlinewith a day holding three deadlines and asserts that the day link and the and 1 more link carrykinds=deadline; it fails today. The same for a week view's day heading.