Commit graph

595 commits

Author SHA1 Message Date
Pēteris Caune
65b9dd371f
Add system check to validate settings.SITE_ROOT
Fixes: #895
2023-12-15 11:04:21 +02:00
Pēteris Caune
6172a0bbaa
Update Spike.sh instructions 2023-12-14 12:20:36 +02:00
Pēteris Caune
be004c3e0d
Update Opsgenie instructions 2023-12-14 11:41:23 +02:00
Pēteris Caune
24a741f630
Update CHANGELOG for v3.1 release 2023-12-13 14:45:02 +02:00
Pēteris Caune
d65f41d192
Add support for systemd's OnCalendar schedules
(work-in-progress)

cc: #919
2023-12-06 15:42:57 +02:00
Pēteris Caune
5daa13a57f
Upgrade to Django 5.0 2023-12-06 11:19:57 +02:00
Pēteris Caune
0f62a8cd14
Update the Signal integration to disable channel on UNREGISTERED_FAILURE 2023-11-28 13:57:27 +02:00
Pēteris Caune
9c8bb54f7f
Update Twilio integrations to not retry error 21211 2023-11-23 16:18:05 +02:00
Pēteris Caune
7c8dbec62e
Fix webauthn registration failure on Firefox < 119 with Ed25519 keys 2023-11-15 15:58:32 +02:00
Pēteris Caune
cff4138774
Fix webauthn registration failure on Firefox with Bitwarden extension 2023-11-15 10:13:40 +02:00
Pēteris Caune
ee62dc174c
Implement audo-submit in TOTP entry screen. Fixes #905 2023-11-13 15:20:23 +02:00
Pēteris Caune
1b942a8e77
Update the Pushover integration to not retry on invalid user errors 2023-11-13 11:27:01 +02:00
Pēteris Caune
4a3a6f2b03
Improve Pushover notifications (include tags, period, last ping type) 2023-11-13 10:29:03 +02:00
Pēteris Caune
49d6f3fe5b
Fix "Ping Details" dialog to handle email bodies not yet uploaded to S3 2023-11-10 12:49:10 +02:00
Pēteris Caune
71f1a8d9a8
Update Slack integration to not retry when it hits 400 "invalid_token" 2023-11-09 12:52:25 +02:00
Pēteris Caune
97ec5c6ee0
Update the Splunk On-Call integration to not retry HTTP 404 responses 2023-11-02 13:32:09 +02:00
Pēteris Caune
c18d2ea1dd
Update logging configuration to write logs to database 2023-11-01 09:34:45 +02:00
Pēteris Caune
f08ac87888
Update CHANGELOG for v3.0.1 release 2023-10-30 12:52:17 +02:00
Pēteris Caune
f8a9077c76
Fix DST handling in Check.get_grace_start() 2023-10-30 11:53:52 +02:00
Pēteris Caune
a7b8799e36
Fix Signal transport to handle JSON-RPC messages with no ids 2023-10-27 21:30:26 +03:00
Pēteris Caune
fe67db5726
Fix the "Update Check" API call to handle concurrent deletes 2023-10-27 14:21:10 +03:00
Pēteris Caune
f962e869ba
Fix a race condition in concurrent "Delete Check" API calls 2023-10-27 13:36:47 +03:00
Pēteris Caune
dea66b85af
Switch to using Pydantic for parsing ntfy configuration
Also, fix a bug in the "Edit ntfy integration" form,
where the token was not filled in the form on page load.
2023-10-26 10:32:41 +03:00
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