Overdue tasks listed twice in reminder e-mail

MariaDB [vikunja]> SELECT * FROM `tasks` WHERE (due_date is not null and due_date < '2022-09-30 00:55:00') AND (done = false);
+----+-----------------+-------------+------+---------------------+---------------------+---------+--------------+-------------+----------+---------------------+---------------------+-----------+--------------+-------+--------------------------------------+---------------------+---------------------+-----------+----------+-----------------+---------------+
| id | title           | description | done | done_at             | due_date            | list_id | repeat_after | repeat_mode | priority | start_date          | end_date            | hex_color | percent_done | index | uid                                  | created             | updated             | bucket_id | position | kanban_position | created_by_id |
+----+-----------------+-------------+------+---------------------+---------------------+---------+--------------+-------------+----------+---------------------+---------------------+-----------+--------------+-------+--------------------------------------+---------------------+---------------------+-----------+----------+-----------------+---------------+
|  1 | task of other   |             |    0 | NULL                | 2022-08-29 19:00:00 |       1 |            0 |           0 |        0 | NULL                | NULL                |           |            0 |     1 | 6e162813-093d-4ad2-a2d6-326ea170e00f | 2022-08-27 19:12:34 | 2022-08-27 19:21:40 |         1 |    65536 |           65536 |             1 |
| 22 | task 1          |             |    0 | 2022-09-24 19:31:02 | 2022-09-25 06:00:00 |      11 |        86400 |           0 |        1 | 2022-09-25 05:15:00 | 2022-09-25 05:30:00 |           |            0 |     1 | 1ddbe62f-dfb7-4b7c-966a-5741906e9bbb | 2022-09-02 23:59:41 | 2022-09-24 19:31:02 |        18 |        0 |           32768 |             2 |
| 30 | tast 2          |             |    0 | 2022-09-24 19:31:08 | 2022-09-25 06:00:00 |      11 |        86400 |           0 |        1 | 2022-09-25 05:30:00 | 2022-09-25 06:00:00 |           |            0 |     2 | 337e93b2-9867-4b4f-820e-fb823078d693 | 2022-09-04 21:01:28 | 2022-09-25 20:03:41 |        18 |        0 |           32768 |             2 |
| 39 | Test            |             |    0 | NULL                | 2022-09-24 19:00:00 |      13 |            0 |           0 |        4 | NULL                | NULL                |           |            0 |     1 | 380b58c6-e082-4ae3-8e34-bef2eb48ee92 | 2022-09-24 19:47:41 | 2022-09-24 21:41:48 |        21 |  2555904 |         2555904 |             2 |
+----+-----------------+-------------+------+---------------------+---------------------+---------+--------------+-------------+----------+---------------------+---------------------+-----------+--------------+-------+--------------------------------------+---------------------+---------------------+-----------+----------+-----------------+---------------+
4 rows in set (0.000 sec)

So; I get back 1 for another user and 3 for me.

I changed the titles (due to privacy reasons); but the lower three (22, 30, and 39) are the ones that should be reported for user 2 (me) (so three in total, whereas 6 are listed in the reports sent to me; with each one twice).

Ofc. below another log including the line [Undone Overdue Tasks Reminder] sent reminder email for %d tasks to user %d (although that one was also included in the previous posted log):

api_1       | 2022-09-29T18:45:00.00682335Z: DEBUG      ▶ models/getTasksWithRemindersDueAndTheirUsers d42 [Task Reminder Cron] Looking for reminders between 2022-09-29 18:45:00 +0000 GMT and 2022-09-29 18:46:00 +0000 GMT to send...
api_1       | 2022-09-29T18:45:00.007382185Z: INFO      ▶ [DATABASE] d43 [SQL] SELECT `id`, `title`, `description`, `done`, `done_at`, `due_date`, `list_id`, `repeat_after`, `repeat_mode`, `priority`, `start_date`, `end_date`, `hex_color`, `percent_done`, `index`, `uid`, `created`, `updated`, `bucket_id`, `position`, `kanban_position`, `created_by_id` FROM `tasks` WHERE (due_date is not null and due_date < ?) AND (done = false) [2022-09-30 08:46:00] - 539.005µs
api_1       | 2022-09-29T18:45:00.007426314Z: DEBUG     ▶ [DATABASE] d44 empty zone key[due_date] : 2022-08-29 19:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007462433Z: DEBUG     ▶ [DATABASE] d45 empty zone key[created] : 2022-08-27 19:12:34 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007470907Z: DEBUG     ▶ [DATABASE] d46 empty zone key[updated] : 2022-08-27 19:21:40 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007487822Z: DEBUG     ▶ [DATABASE] d47 empty zone key[done_at] : 2022-09-24 19:31:02 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.00749608Z: DEBUG      ▶ [DATABASE] d48 empty zone key[due_date] : 2022-09-25 06:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.00750612Z: DEBUG      ▶ [DATABASE] d49 empty zone key[start_date] : 2022-09-25 05:15:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007528599Z: DEBUG     ▶ [DATABASE] d4a empty zone key[end_date] : 2022-09-25 05:30:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007540657Z: DEBUG     ▶ [DATABASE] d4b empty zone key[created] : 2022-09-02 23:59:41 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007547156Z: DEBUG     ▶ [DATABASE] d4c empty zone key[updated] : 2022-09-24 19:31:02 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007565496Z: DEBUG     ▶ [DATABASE] d4d empty zone key[done_at] : 2022-09-24 19:31:08 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007572089Z: DEBUG     ▶ [DATABASE] d4e empty zone key[due_date] : 2022-09-25 06:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007580482Z: DEBUG     ▶ [DATABASE] d4f empty zone key[start_date] : 2022-09-25 05:30:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007586587Z: DEBUG     ▶ [DATABASE] d50 empty zone key[end_date] : 2022-09-25 06:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007612831Z: DEBUG     ▶ [DATABASE] d51 empty zone key[created] : 2022-09-04 21:01:28 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007628377Z: DEBUG     ▶ [DATABASE] d52 empty zone key[updated] : 2022-09-25 20:03:41 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007646552Z: DEBUG     ▶ [DATABASE] d53 empty zone key[due_date] : 2022-09-24 19:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.00766079Z: DEBUG      ▶ [DATABASE] d54 empty zone key[created] : 2022-09-24 19:47:41 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.007682719Z: DEBUG     ▶ [DATABASE] d55 empty zone key[updated] : 2022-09-24 21:41:48 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008004291Z: INFO      ▶ [DATABASE] d56 [SQL] SELECT * FROM `task_reminders` INNER JOIN `tasks` ON tasks.id = task_reminders.task_id WHERE (reminder >= ? and reminder < ?) AND (tasks.done = false) [2022-09-29 06:45:00 2022-09-30 08:46:00] - 1.125721ms
api_1       | 2022-09-29T18:45:00.008063597Z: DEBUG     ▶ [DATABASE] d57 empty zone key[reminder] : 2022-09-30 06:30:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.00809491Z: DEBUG      ▶ [DATABASE] d58 empty zone key[created] : 2022-09-24 19:31:23 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008167667Z: DEBUG     ▶ models/getTasksWithRemindersDueAndTheirUsers d59 [Task Reminder Cron] Found 1 reminders
api_1       | 2022-09-29T18:45:00.008462812Z: INFO      ▶ [DATABASE] d5a [SQL] SELECT users.* FROM `users` LEFT JOIN `tasks` ON tasks.created_by_id = users.id WHERE `tasks`.`id` IN (?) AND users.email_reminders_enabled=? GROUP BY tasks.id, users.id, users.username, users.email, users.name, users.timezone [29 true] - 236.639µs
api_1       | 2022-09-29T18:45:00.008532783Z: DEBUG     ▶ [DATABASE] d5b empty zone key[created] : 2022-08-27 20:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008592585Z: DEBUG     ▶ [DATABASE] d5c empty zone key[updated] : 2022-09-29 18:44:28 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008663267Z: INFO      ▶ [DATABASE] d5d [SQL] SELECT users.* FROM `users` LEFT JOIN `tasks` ON tasks.created_by_id = users.id WHERE `tasks`.`id` IN (?,?,?,?) AND users.overdue_tasks_reminders_enabled=? GROUP BY tasks.id, users.id, users.username, users.email, users.name, users.timezone [1 22 30 39 true] - 882.425µs
api_1       | 2022-09-29T18:45:00.008696194Z: DEBUG     ▶ [DATABASE] d5e empty zone key[created] : 2022-08-27 19:10:49 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008723651Z: DEBUG     ▶ [DATABASE] d5f empty zone key[updated] : 2022-09-28 16:39:01 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008750206Z: DEBUG     ▶ [DATABASE] d60 empty zone key[created] : 2022-08-27 20:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008758647Z: DEBUG     ▶ [DATABASE] d61 empty zone key[updated] : 2022-09-29 18:44:28 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008785954Z: DEBUG     ▶ [DATABASE] d62 empty zone key[created] : 2022-08-27 20:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008793937Z: DEBUG     ▶ [DATABASE] d63 empty zone key[updated] : 2022-09-29 18:44:28 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008818107Z: DEBUG     ▶ [DATABASE] d64 empty zone key[created] : 2022-08-27 20:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.008826446Z: DEBUG     ▶ [DATABASE] d65 empty zone key[updated] : 2022-09-29 18:44:28 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009029223Z: INFO      ▶ [DATABASE] d66 [SQL] SELECT `id`, `title`, `description`, `done`, `done_at`, `due_date`, `list_id`, `repeat_after`, `repeat_mode`, `priority`, `start_date`, `end_date`, `hex_color`, `percent_done`, `index`, `uid`, `created`, `updated`, `bucket_id`, `position`, `kanban_position`, `created_by_id` FROM `tasks` WHERE `id` IN (?) [29] - 390.444µs
api_1       | 2022-09-29T18:45:00.009054772Z: DEBUG     ▶ [DATABASE] d67 empty zone key[done_at] : 2022-09-24 19:31:23 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009065387Z: DEBUG     ▶ [DATABASE] d68 empty zone key[due_date] : 2022-09-30 10:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009078485Z: DEBUG     ▶ [DATABASE] d69 empty zone key[created] : 2022-09-04 17:19:56 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.00910568Z: DEBUG      ▶ [DATABASE] d6a empty zone key[updated] : 2022-09-24 19:31:23 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009335531Z: INFO      ▶ [DATABASE] d6b [SQL] SELECT `id`, `title`, `description`, `done`, `done_at`, `due_date`, `list_id`, `repeat_after`, `repeat_mode`, `priority`, `start_date`, `end_date`, `hex_color`, `percent_done`, `index`, `uid`, `created`, `updated`, `bucket_id`, `position`, `kanban_position`, `created_by_id` FROM `tasks` WHERE `id` IN (?,?,?,?) [1 22 30 39] - 470.689µs
api_1       | 2022-09-29T18:45:00.00939401Z: DEBUG      ▶ [DATABASE] d6c empty zone key[due_date] : 2022-08-29 19:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009425682Z: DEBUG     ▶ [DATABASE] d6d empty zone key[created] : 2022-08-27 19:12:34 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009433327Z: DEBUG     ▶ [DATABASE] d6e empty zone key[updated] : 2022-08-27 19:21:40 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009449223Z: DEBUG     ▶ [DATABASE] d6f empty zone key[done_at] : 2022-09-24 19:31:02 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.0094558Z: DEBUG       ▶ [DATABASE] d70 empty zone key[due_date] : 2022-09-25 06:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009463468Z: DEBUG     ▶ [DATABASE] d71 empty zone key[start_date] : 2022-09-25 05:15:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009469673Z: DEBUG     ▶ [DATABASE] d72 empty zone key[end_date] : 2022-09-25 05:30:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.00947768Z: DEBUG      ▶ [DATABASE] d73 empty zone key[created] : 2022-09-02 23:59:41 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.00948388Z: DEBUG      ▶ [DATABASE] d74 empty zone key[updated] : 2022-09-24 19:31:02 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009498373Z: DEBUG     ▶ [DATABASE] d75 empty zone key[done_at] : 2022-09-24 19:31:08 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009505837Z: DEBUG     ▶ [DATABASE] d76 empty zone key[due_date] : 2022-09-25 06:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009536029Z: DEBUG     ▶ [DATABASE] d77 empty zone key[start_date] : 2022-09-25 05:30:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009551459Z: INFO      ▶ [DATABASE] d78 [SQL] SELECT task_id, users.* FROM `task_assignees` INNER JOIN `users` ON task_assignees.user_id = users.id WHERE `task_id` IN (?) AND users.email_reminders_enabled=? [29 true] - 382.787µs
api_1       | 2022-09-29T18:45:00.009568696Z: DEBUG     ▶ [DATABASE] d79 empty zone key[end_date] : 2022-09-25 06:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009602979Z: DEBUG     ▶ [DATABASE] d7a empty zone key[created] : 2022-08-27 20:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009616176Z: DEBUG     ▶ [DATABASE] d7c empty zone key[updated] : 2022-09-29 18:44:28 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009612759Z: DEBUG     ▶ [DATABASE] d7b empty zone key[created] : 2022-09-04 21:01:28 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.00967871Z: DEBUG      ▶ [DATABASE] d7e empty zone key[updated] : 2022-09-25 20:03:41 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009699849Z: DEBUG     ▶ [DATABASE] d7f empty zone key[due_date] : 2022-09-24 19:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.00971373Z: DEBUG      ▶ [DATABASE] d80 empty zone key[created] : 2022-09-24 19:47:41 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009722368Z: DEBUG     ▶ [DATABASE] d81 empty zone key[updated] : 2022-09-24 21:41:48 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009643825Z: DEBUG     ▶ [DATABASE] d7d empty zone key[created] : 2022-08-27 19:10:49 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.009755536Z: DEBUG     ▶ [DATABASE] d82 empty zone key[updated] : 2022-09-28 16:39:01 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.011827524Z: INFO      ▶ [DATABASE] d83 [SQL] SELECT task_id, users.* FROM `task_assignees` INNER JOIN `users` ON task_assignees.user_id = users.id WHERE `task_id` IN (?,?,?,?) AND users.overdue_tasks_reminders_enabled=? [1 22 30 39 true] - 2.057237ms
api_1       | 2022-09-29T18:45:00.011874454Z: DEBUG     ▶ [DATABASE] d84 empty zone key[created] : 2022-08-27 20:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.011888276Z: DEBUG     ▶ [DATABASE] d85 empty zone key[updated] : 2022-09-29 18:44:28 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.011920738Z: DEBUG     ▶ [DATABASE] d86 empty zone key[created] : 2022-08-27 20:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.011929999Z: DEBUG     ▶ [DATABASE] d87 empty zone key[updated] : 2022-09-29 18:44:28 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.011954797Z: DEBUG     ▶ [DATABASE] d88 empty zone key[created] : 2022-08-27 20:00:00 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.011962462Z: DEBUG     ▶ [DATABASE] d89 empty zone key[updated] : 2022-09-29 18:44:28 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.011989337Z: DEBUG     ▶ [DATABASE] d8a empty zone key[created] : 2022-08-27 19:10:49 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.011997493Z: DEBUG     ▶ [DATABASE] d8b empty zone key[updated] : 2022-09-28 16:39:01 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.012064694Z: DEBUG     ▶ models/func1 d8c [Undone Overdue Tasks Reminder] Sending reminders to 1 users
api_1       | 2022-09-29T18:45:00.012372904Z: DEBUG     ▶ models/func1 d8d [Undone Overdue Tasks Reminder] Sent reminder email for 6 tasks to user 2
api_1       | 2022-09-29T18:45:00.693885632Z: INFO      ▶ [DATABASE] d8e [SQL] SELECT `id`, `notifiable_id`, `notification`, `name`, `subject_id`, `read_at`, `created` FROM `notifications` WHERE (notifiable_id = ?) ORDER BY id DESC LIMIT 50 [2] - 1.204101ms
api_1       | 2022-09-29T18:45:00.694087657Z: DEBUG     ▶ [DATABASE] d8f empty zone key[read_at] : 2022-08-30 20:53:26 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.694134554Z: DEBUG     ▶ [DATABASE] d90 empty zone key[created] : 2022-08-30 18:59:12 +0000 UTC | zone: UTC | location: {name:UTC zone:[] tx:[] extend: cacheStart:0 cacheEnd:0 cacheZone:<nil>}
api_1       |
api_1       | 2022-09-29T18:45:00.695254387Z: INFO      ▶ [DATABASE] d91 [SQL] SELECT count(*) FROM `notifications` WHERE (notifiable_id = ?) [2] - 940.387µs
api_1       | 2022-09-29T18:45:00.695562643Z: WEB       ▶ 31.201.240.248  GET 200 /api/v1/notifications?page=1 3.191626ms - Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0

So this is the log from trigger-time and included everything until I recieved the e-mail (including the line you are looking for).

Are you assigned to the tasks you get duplicates for?

Yes, for the doubles yes.

Although, I now - after another test inspired by your question - know that even when I unassign myself (I tested with one), I keep getting reminders for it (not double anymore but single… but since I am not assigned anymore this is still awry). So: as soon as it is put on my name; I get it double, and after unassigning it will only remove one from the reminder list (the other will perpetually stay there).

It seems that one is acting actively as expected (responding to removal etc.), while the other (the double) is rogue / static.

Meaning once a task has been put on my name; it will be double as long as it is on my name, but will never leave the overdue-report.

:thinking: Hmmm… now that I think of it…

These are not real life cases… I test-added them “in the past” from the get-go. Maybe that explains why others are not experiencing it?

Could you add a task choosing an historical date during the creation process and test the overdue mail @kolaente (or anyone else reading this t.b.f.)?

It looks like the overdue tasks are sent twice for users who created the task (or list) and are assigned to it. That kind of makes sense because Vikunja looks for creators and task assignees. I was able to replicate that.

Will push a fix.

Fix is up: 45defebcf4

The CI is currently building an unstable build. Can you check once the build is done if your issue is fixed?

Hophop! That makes a whole lot of sense!

I can (and want) do that; but I may need some instructions on how to build the container.

Would it be as simple as a mere rebuild; or should I refer to a specific unstable tag in the docker-compose or how would I go about installing the unstable version?

It should be as simple as adding :unstable in your docker config so that it automatically pulls the last unstable build.

Confirmed - topic marked [Solved]! :ok_hand:

Awesome it’s working!

When will this be in latest build?

I reckon it already is?

It is in the latest build, yes (at least in unstable).

Can I switch to unstable without hesitation or rather wait until it is in latest?

You can switch, but make a backup. Also it is not tested to go back to the last stable release. If you want to go back I’d reccomend waiting for the next stable release.