Commit graph

622 commits

Author SHA1 Message Date
Pēteris Caune
60630c1dee
Fix special character escaping in ntfy notifications 2023-10-23 11:22:14 +03:00
Pēteris Caune
7e7cbe9f75
Fix the Login form to not perform form validation in GET requests 2023-10-22 10:45:06 +03:00
Pēteris Caune
52ab8c4703
Improve type hints in hc.lib.curl and hc.api.transports
This results in changes in other places too:

* curl.post() does not accept `data` as positional arg,
  it must now be a keyword argument
* we need asserts and if clauses in a few places to make sure
  we are not passing `None` in the arguments to hc.lib.curl.request
2023-10-20 19:11:08 +03:00
Pēteris Caune
02888e6db9
Fix sending test notification to a group integration 2023-10-17 11:37:12 +03:00
Pēteris Caune
1553a79205
Update CHANGELOG for v3.0 release 2023-10-16 09:24:18 +03:00
Pēteris Caune
fd54bf87bf
Update changelog 2023-10-06 17:08:43 +03:00
Pēteris Caune
7b1258ceaa
Improve type hints in accounts admin, fix HTML escaping issue
In Project admin, when listing project members, for single-member
projects the owner's email address was being displayed
unescaped. This allowed unescaped amperstand and quote characters
to appear in HTML output.
2023-10-05 16:04:21 +03:00
Pēteris Caune
633e612b59
Increase bottom margin for modal windows to work around Safari issue
cc: #899
2023-10-04 10:22:53 +03:00
Pēteris Caune
5d99c544ee
Increase the precision in hc.lib.date.format_approx_duration
Format durations in one of the following forms:

* "{x} days {y} h"
* "{y} h {z} min"
* "{z} min {w} sec"
2023-10-02 12:50:59 +03:00
Pēteris Caune
f7af738c76
Add monthly uptime percentage display in Check Details page
Fixes: #773
2023-09-27 13:44:35 +03:00
Pēteris Caune
e48d361331
Fix time interval formatting in check details - downtime summary
In hc.lib.date.format_approx_duration, we were calling
timedeltaobj.total_seconds() and basing all calculations off that.
This method returns float, so the final result was "2.0 hours" or
"3.0 days" and similar. We now convert it to int, to get "2 hours",
"3 days" etc.
2023-09-26 10:30:34 +03:00
Pēteris Caune
3c19d51836
Drop Python 3.8 and Python 3.9 support 2023-09-06 10:31:13 +03:00
Pēteris Caune
26725b9f4e
Add an "Account closed." confirmation message after closing an account 2023-08-24 09:07:41 +03:00
Pēteris Caune
bc192df0b3
Improve ntfy notifications (include tags, period, last ping type etc.) 2023-08-23 15:32:06 +03:00
Pēteris Caune
bbb06ff358
Add support for ntfy access tokens
Fixes: #879
2023-08-23 14:52:50 +03:00
Pēteris Caune
646f79c54e
Update email reminders to only show checks in the "down" state
Fixes: #881
2023-08-22 15:04:14 +03:00
Pēteris Caune
ea89237c16
Fix hc.accounts.views.check_token to handle non-UUID usernames
Fixes: #882
2023-08-22 13:45:54 +03:00
Pēteris Caune
a7395115db
Fix "createsuperuser" to reject already registered email addresses
Fixes: #880
2023-08-21 13:57:40 +03:00
Pēteris Caune
897cf0088b
Add bold and monospace text formatting in Signal notifications 2023-08-04 12:38:34 +03:00
Pēteris Caune
d164e12de3
Add "Time Zone" field in Trello notifications
Also, fix the escaping of "*" symbols in Trello notifications.
2023-08-03 14:58:57 +03:00
Pēteris Caune
f8c869596a
Fix "senddeletionnotices" to recognize "Supporter" subscriptions 2023-08-02 12:40:29 +03:00
Pēteris Caune
763e7caf2d
Update Telegram integration to treat blocked bot as permanent error 2023-07-14 10:14:42 +03:00
Pēteris Caune
368e76016d
Add Channel.last_notify_duration, use in sendalerts for prioritization 2023-07-07 16:40:23 +03:00
Viktor Szépe
573b76a082
Fix typos (#855) 2023-07-02 15:14:13 +03:00
Pēteris Caune
a2fdb5dc52
Update CHANGELOG for v2.10 release 2023-07-02 10:07:02 +03:00
Pēteris Caune
dba356c5d4
For cron checks, change default display timezone to check's timezone
In the "Details" and "Log" pages Healthchecks displays a list
of events (incoming pings and sent alerts). At the top of the
events list is a two- or three-way selector for selecting
the timezone for formatting event dates and times. The selector
options are "UTC", check's configured timezone, and "Browser's
time zone". The "Browser's time zone" used to be default, initial
selection for all checks.

With this change, for checks that use cron schedule, the default
selected timezone will be the check's configured timezone.
The "Browser's time zone" option is of course still there and the
user can switch to it to see dates and times in their local time.

Rationale: I semi-regularly get support requests about unexpected
or missing alerts, where the problem boil downs to a timezone
mismatch between the client and the Healthchecks server. Sometimes
the confusion seems to be caused by the user seeing ping arrival
times in  their local time zone, comparing them to their cron
expression, and not realizing their server may be using a different
timezone. By switching the default display timezone to the check's
configured timezone, I hope users will be more likely to notice
discrepancies between ping arrival times, the cron schedule,
and their local clock.

For checks using simple schedules (timeout and grace), we still
default to browser's timezone for display.
2023-06-29 12:12:54 +03:00
Pēteris Caune
68c42db58c
Add support for Telegram topics
Fixes: #852
2023-06-28 15:22:59 +03:00
Pēteris Caune
651aec4ac7
Add API support for filtering checks by slug
Fixes: #844
2023-06-27 12:41:31 +03:00
Pēteris Caune
b062caa2eb
Add support for the $EXITSTATUS placeholder in webhook payloads
Fixes: #826
2023-06-22 17:53:03 +03:00
Pēteris Caune
fc09d4c084
Implement check auto-provisioning when pinging by slug
cc: #626
2023-06-15 15:36:16 +03:00
Pēteris Caune
6dbd665c67
Update Dockerfile to use Debian Bookworm as the base 2023-06-15 09:09:17 +03:00
Pēteris Caune
4ccee09f73
Add /api/v3/ (adds ability to set slug when creating or updating checks) 2023-06-14 16:52:45 +03:00
Pēteris Caune
002bc9b083
Decouple check's name from slug, allow users to set hand-picked slugs 2023-06-14 15:06:37 +03:00
Pēteris Caune
db9fd529e2
Make hc.lib.emails raise exceptions when EMAIL_ settings are not set 2023-06-13 13:27:58 +03:00
Pēteris Caune
dec5d51e87
Configure logging to log exceptions to console even when DEBUG=False
Fixes: #835
2023-06-08 10:51:49 +03:00
Pēteris Caune
98c0917b69
Fix dl/dt/dd CSS for the "Pinging API" page on mobile screens 2023-06-07 15:45:08 +03:00
Pēteris Caune
ee73091b72
Update CHANGELOG for v2.9.2 release 2023-06-05 23:27:23 +03:00
Pēteris Caune
3a07a94098
Update CHANGELOG for v2.9.1 release 2023-06-05 16:24:08 +03:00
Pēteris Caune
1f0ca10185
Update CHANGELOG for v2.9 release 2023-06-05 11:33:31 +03:00
Pēteris Caune
eb7dfe5c63
Add Rocket.Chat integration
cc: #463
2023-05-30 12:30:29 +03:00
Pēteris Caune
4b05fc6a8c
Update the smtpd management command to use the aiosmtpd library
smtpd from the standard library is deprecated and will
be removed in Python 3.12. aiosmtpd is the recommended
replacement.
2023-05-09 17:23:18 +03:00
Pēteris Caune
d0216a861c
Fix the checks list to preserve filters when changing sort order
Fixes: #828
2023-05-09 10:14:30 +03:00
Pēteris Caune
db1b75e966
Add support for specifying MessagingServiceSid in Twilio API requests 2023-05-03 13:06:08 +03:00
Pēteris Caune
6375b0aac4
Fix a race condition when pinging and deleting checks at the same time 2023-05-02 13:22:16 +03:00
Pēteris Caune
c3b80b06cf
Add Profile.deletion_scheduled_deleted field and UI banner when it's set 2023-04-28 15:03:04 +03:00
Pēteris Caune
cb6bdf0dd3
Update Signal notification template to include more data 2023-04-28 13:11:33 +03:00
Pēteris Caune
9ddae08437
Upgrade to cronsim 2.4 2023-04-26 18:18:31 +03:00
Pēteris Caune
dcd174f761
Add statsd metric collection in hc.lib.s3.get_object() 2023-04-14 13:23:16 +03:00
Pēteris Caune
dc58910bb5
Switch from CssAbsoluteFilter to CssRelativeFilter
cc: #822

This should fix icon font loading when serving Healthchecks
from a subdirectory.
2023-04-12 11:37:14 +03:00
Pēteris Caune
05722cbf9e
Update CHANGELOG for v2.8.1 release 2023-04-11 20:51:31 +03:00