[GH-ISSUE #1236] Text report mismatches columns for new checks #835

Closed
opened 2026-02-25 23:43:45 +03:00 by kerem · 2 comments
Owner

Originally created by @adelton on GitHub (Dec 1, 2025).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/1236

I just got an email monthly report for November from docker.io/healthchecks/healthchecks:v3.13. I notice that the text/plain version mismatches the All good! for checks that were only created in November, putting it to October. The report looks like this (redacted):

Project "automation"
+--------+--------------------------------------------------+-----------+-----------+
| Status | Name                                             | Oct. 2025 | Nov. 2025 |
+========+==================================================+===========+===========+
| up     | https://example.com/repo01/example-check-12346   | All good! |
+--------+--------------------------------------------------+-----------+-----------+
| up     | https://example.com/repo02/example-check-2345678 | All good! |
+--------+--------------------------------------------------+-----------+-----------+
| up     | https://example.com/repo03/example-check-3456789 | All good! |
+--------+--------------------------------------------------+-----------+-----------+

Looking at github.com/healthchecks/healthchecks@5e274e6aeb/templates/emails/report-body-text.html (L19-L35) there should be a The check didn't exist yet there in October column but it looks like {% for d in check.past_downtimes %} does not get to loop over October at all.

Originally created by @adelton on GitHub (Dec 1, 2025). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/1236 I just got an email monthly report for November from `docker.io/healthchecks/healthchecks:v3.13`. I notice that the text/plain version mismatches the `All good!` for checks that were only created in November, putting it to October. The report looks like this (redacted): ``` Project "automation" +--------+--------------------------------------------------+-----------+-----------+ | Status | Name | Oct. 2025 | Nov. 2025 | +========+==================================================+===========+===========+ | up | https://example.com/repo01/example-check-12346 | All good! | +--------+--------------------------------------------------+-----------+-----------+ | up | https://example.com/repo02/example-check-2345678 | All good! | +--------+--------------------------------------------------+-----------+-----------+ | up | https://example.com/repo03/example-check-3456789 | All good! | +--------+--------------------------------------------------+-----------+-----------+ ``` Looking at https://github.com/healthchecks/healthchecks/blob/5e274e6aebf71fa69f83cd29fadf10fb40fba7a2/templates/emails/report-body-text.html#L19-L35 there should be a `The check didn't exist yet` there in October column but it looks like `{% for d in check.past_downtimes %}` does not get to loop over October at all.
kerem closed this issue 2026-02-25 23:43:45 +03:00
Author
Owner

@adelton commented on GitHub (Dec 1, 2025):

Ah, unlike the HTML version github.com/healthchecks/healthchecks@5e274e6aeb/templates/emails/report-summary-html.html (L75-L81) which adds the <td> ... </td> around the whole if ... endif, the text version has the cell only in the All good! case.

Filed https://github.com/healthchecks/healthchecks/pull/1237 with a proposed fix.

<!-- gh-comment-id:3595771238 --> @adelton commented on GitHub (Dec 1, 2025): Ah, unlike the HTML version https://github.com/healthchecks/healthchecks/blob/5e274e6aebf71fa69f83cd29fadf10fb40fba7a2/templates/emails/report-summary-html.html#L75-L81 which adds the `<td>` ... `</td>` around the whole `if` ... `endif`, the text version has the `cell` only in the `All good!` case. Filed https://github.com/healthchecks/healthchecks/pull/1237 with a proposed fix.
Author
Owner

@cuu508 commented on GitHub (Dec 1, 2025):

Thanks for the report and the PR, good catch!

<!-- gh-comment-id:3595882430 --> @cuu508 commented on GitHub (Dec 1, 2025): Thanks for the report and the PR, good catch!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/healthchecks#835
No description provided.