Calendar view bug on project with default open tasks filter

Hi,

first of all, before anyone brings it up, I know the original Calendar plugin is not maintained anymore and stopped at v1.1.1, but the andrewcz 1.2.0 version that is installed via Extension list auto installer doesn’t seem to be deprecated ?

Anyway… it works fine, but for 1 (major) bug : the calendar Project view (with default filter “status:open”) returns an empty calendar.

URL being called is

[MY_KANBOARD]?controller=CalendarController&action=project&project_id=4&search=status%3Aopen&plugin=Calendar#month

what seems strange to me is that other filters (or just an additional one) display correctly. for instance :

[MY_KANBOARD]?controller=CalendarController&action=project&plugin=Calendar&project_id=4&search=status%3Aopen+assignee%3Aanybody#month

or

[MY_KANBOARD]?controller=CalendarController&action=project&project_id=4&search=status%3Aall&plugin=Calendar#month

and

[MY_KANBOARD]?controller=CalendarController&action=project&project_id=4&search=status%3Aclosed&plugin=Calendar#month

Also the User view works just fine…

Maybe someone here can spot what’s wrong ?

(I’ve got a few plugins installed, as you can see below, but I uninstalled them one by one to test behaviour and it doesn’t make any difference)

1 Like

I’ve tested all the views/filters you mentioned, no problem.

But a task requirement for being displayed in calendar is having a start date set. Maybe is this your issue?

yes, I know. and this is not the issue. for instance, here are the details of an open task (with start and due date) that should display :

in the project calendar view, with default “status:open” filter, here’s my October calendar :

completely empty as you can see, nothing displaying on Oct. 28th…

if I had the “assignee:anybody” filter, the task appears in the project calendar view, in October, as it’s supposed to :

and in my user calendar view (since the task is assigned to me), it displays fine :

I’m now heading to phpmyadmin in order to check everything is okay in the db, since it’s been quite a long journey to get everything in its right place after my SQLite malformed db problems… will let you know if I find anything wrong there… but everything seems ok here too :

1 Like

hi there,

I narrowed the bug down to a javascript error, thanks to the browser console which returns :

Uncaught TypeError: s is undefined

renderFgSegEls https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:7
each https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
each https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
renderFgSegEls https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:7
renderFgSegs https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:8
renderFgEvents https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:7
renderEvents https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:7
renderEvents https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:10
executeEventsRender https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
then https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:7
executeEventsRender https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
requestEventsRender https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
i https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
e https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
Dt https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
e https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
requestEventsRender https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
handleEvents https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
setEvents https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
i https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
n https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:7
dispatch https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
handle https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
trigger https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
triggerHandler https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
trigger https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:7
i https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
h https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
c https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
f https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
c https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
u https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
g https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
fullCalendar https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
each https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
each https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
fullCalendar https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
viewRender https://prog.sillonlz.fr/plugins/Calendar/Assets/calendar.js?1611617706:117
c https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
fireWith https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
l https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
o https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
send https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
ajax https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
i https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
getJSON https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
viewRender https://prog.sillonlz.fr/plugins/Calendar/Assets/calendar.js?1611617706:115
B https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
publiclyTrigger https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
triggerRender https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
onDateRender https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
executeDateRender https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
then https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:7
executeDateRender https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
requestDateRender https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
i https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
e https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
Dt https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
e https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
requestDateRender https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
handleDate https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
handleRawDate https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
setDate https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:9
u https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
o https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
s https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
fullCalendar https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
each https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
each https://prog.sillonlz.fr/assets/js/vendor.min.js?1663756531:2
fullCalendar https://prog.sillonlz.fr/plugins/Calendar/Assets/fullcalendar.min.js?1611617706:6
render https://prog.sillonlz.fr/plugins/Calendar/Assets/calendar.js?1611617706:16
render https://prog.sillonlz.fr/assets/js/app.min.js?1663756530:26
<anonymous> https://prog.sillonlz.fr/assets/js/app.min.js?1663756530:290
EventListener.handleEvent* https://prog.sillonlz.fr/assets/js/app.min.js?1663756530:290

fullcalendar.min.js:7:25321

(fullcalendar.min.js is based on https://fullcalendar.io/ )

Unfortunately I really know nothing about JS… :thinking: :face_with_monocle:

hey !
good news (although without reason / explanation) : our project’s calendar is back…
we can close this topic…

1 Like

I seem to have the same problem (empty calendar) after upgrading from 1.2.21 to 1.2.24. Going back to 1.2.21 resolves the problem. How was it resolved on your end, just by magic?

I have the same issue using the docker image version v1.2.23 and v1.2.24 (latest), v1.2.22 works without issues. I also used a clean install with only the calendar plugin.
Only the monthly view works for me, weekly and daily views are blank.
Weekly will show the task only if start date and due date are not on the same day ( a task that starts today and is due on the next day is shown in the weekly view ).
Here is the browser error log when switching to the weekly view:

fullcalendar.min.js?1611617706:7 Uncaught TypeError: Cannot read properties of undefined (reading 'event')
    at HTMLDivElement.<anonymous> (fullcalendar.min.js?1611617706:7:25340)
    at Function.each (vendor.min.js?1665356338:2:3003)
    at S.fn.init.each (vendor.min.js?1665356338:2:1481)
    at e.constructor.renderFgSegEls (fullcalendar.min.js?1611617706:7:25289)
    at e.constructor.renderFgSegsIntoContainers (fullcalendar.min.js?1611617706:8:28642)
    at e.constructor.renderFgSegs (fullcalendar.min.js?1611617706:8:26924)
    at e.constructor.renderFgEvents (fullcalendar.min.js?1611617706:7:24907)
    at e.constructor.renderEvents (fullcalendar.min.js?1611617706:7:24735)
    at e.constructor.renderEvents (fullcalendar.min.js?1611617706:10:6863)
    at fullcalendar.min.js?1611617706:9:8289

I would recommand this fork of kanboard-plugin-calendar

It works great at docker version of v1.2.24 (latest) and it have extra function that list tasks have no due date.

But anyone can help add a function that can drag a subtask to revise its due date(should require subtaskduedate plugin)?

1 Like

One side note, I found Calendar plugin can not work tith group-assign under php8(docker version 1.2.20+) even with above fork frde/kanboard-plugin-calendar

This evening when I change line 64 in GroupAssignCalendarModel
if ($startDate == 0) { $startDate = $endDate; }
to
if ($startDate == ’ ') { $startDate = $endDate; }

Then suddenly it function OK with calendar plugin

@creecros Could you help check if any help because I think grouo-assign and Calendar plug is most needed plugin for kanboard.

Nice one, which seems to work much better…

(@TJJager, actually my issues were not 100% resolved before I installed the fork suggested by @neotaburiss : only the view months worked, as @alepeh stated also, and not even in the long run, but only on the current month view…)

@neotaburiss, do you know if we can deactivate the list of tasks on the side ?