Commit graph

595 commits

Author SHA1 Message Date
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
Pēteris Caune
b9996e63c8
Fix django-compressor warning with github_actions.html
HTML files in /templates/docs/ are not Django templates,
they contain HTML content to be used verbatim in
hc.front.views.serve_doc view.

Some of these files contain "{{ ... }}" syntax. When
we run "./manage.py compress", django-compressor trips
up on this syntax because it treats them as Django templates.

The fix is to change file extension for these files
from .html to something else (I picked .html-fragment)
so django-compressor would ignore them.
2023-04-11 20:34:31 +03:00
Pēteris Caune
b1ce88d56a
Update CHANGELOG for v2.8 release 2023-04-11 08:26:15 +03:00
Pēteris Caune
80b6aa89ea
Add cron expression tester and samples in the cron cheatsheet page 2023-04-04 13:54:24 +03:00
Pēteris Caune
a5324ac13c
Make warnings about no backup second factor more assertive 2023-04-04 11:53:34 +03:00
Pēteris Caune
eab52ed73c
Add email fallback for Signal notifications that hit rate limit 2023-04-04 10:21:35 +03:00
Pēteris Caune
4ebe928d39
Upgrade to Django 4.2 and psycopg2 2.9.6 2023-04-03 15:12:06 +03:00
Pēteris Caune
f0267ce936
Add Arduino usage example 2023-04-01 12:13:39 +03:00
Pēteris Caune
e21ada67f1
Remove L10N markup from base.html, and associated translations 2023-03-29 19:19:03 +03:00
Pēteris Caune
bea84b744a
Update Trello onboarding form to allow longer Trello auth tokens
Trello token length change announcement:
https://community.developer.atlassian.com/t/trello-tokens-are-getting-longer/62964

Fixes: #806
2023-03-29 14:21:06 +03:00
Pēteris Caune
fdfab66a81
Fix notification query in the Log page
The bug: the Log page would sometimes show a number of "zombie"
notifications at the very end: notifications that should not be
shown to the user, but have not yet been garbage-collected.

The fix: when preparing the created__gte filter value for the
notification query, make sure the filter value is not lower than the
timestamp of the oldest visible ping.
2023-03-10 16:25:06 +02:00
Pēteris Caune
bad4b9adbf
Add a "Switch Project" menu in top navigation 2023-03-10 10:36:09 +02:00
Pēteris Caune
9e9bdfd353
Update CHANGELOG 2023-03-09 13:34:21 +02:00
Pēteris Caune
bb3f139335
Update the Dockerfile to use Python 3.11 2023-03-07 16:33:34 +02:00
Pēteris Caune
acc64e4e46
Add GitHub Actions examples 2023-03-06 19:31:12 +02:00
Pēteris Caune
bce9d4ddef
Update changelog for v2.7 release 2023-03-06 13:00:38 +02:00
Pēteris Caune
e2e289da2a
Add form double submit protection when registering a WebAuthn key 2023-02-20 11:05:55 +02:00
Pēteris Caune
04c9398da3
Fix the "Test" button in the Integrations screen for read-only users
(I broke it by accident in 963f1758de)
2023-02-20 10:21:41 +02:00
Pēteris Caune
3d728325fe
Fix the SameSite and Secure attributes on the "auto-login" cookie
The "auto-login" cookie is a part of a work-around for
some email clients automatically clicking links in emails:

- when sending an one-time sign-in link, server also sends the
  "auto-login" cookie to the client
- when end user clicks on the sign-in link, the server checks
  if client's request contains the "auto-login" cookie
- if the "auto-login" cookie is present, log the user in
- if the "auto-login" cookie is absent, serve a HTTP POST form
  with a submit button. The user must click the button to log in.

This commit fixes attributes on the "auto-login" cookie:

- it sets SameSite=Lax
- it sets Secure=true if SESSION_COOKIE_SECURE=True
2023-02-15 09:17:09 +02:00
Pēteris Caune
e46cf3725b
Add CSRF protection in the signup view 2023-02-14 09:15:46 +02:00
Pēteris Caune
0d0087d898
Update Telegram notification template to include more data 2023-02-08 15:28:39 +02:00
Pēteris Caune
311f7064dc
Fix a race condition in Check.ping method
The code in Check.ping() updates a Check object, then
creates a Ping object. There's a possible race condition
where the "sendalerts" command sees# the updated Check object
before the Ping object is created. This is especially likely
when offloading ping bodies to S3, because Ping gets created
*after* the upload completes, which can take some time.

To avoid this, put both operations inside a transaction,
but keep the S3 upload *outside* the transaction--uploads
can hang, and we want to avoid long transactions.
2023-02-08 13:12:05 +02:00
Pēteris Caune
08849d6f22
Update Docker image's uwsgi.ini to use SMTPD_PORT env var
Fixes: #791
2023-02-07 13:38:05 +02:00
Pēteris Caune
19383d0414
Improve the error message about rejected private IPs 2023-02-03 10:08:06 +02:00
Pēteris Caune
ba9ebc5a96
Update CHANGELOG 2023-02-01 13:25:15 +02:00
Pēteris Caune
3992c0927b
Add handling for ProtocolError exceptions in hc.lib.s3.get_object 2023-02-01 09:31:15 +02:00
Pēteris Caune
f4bd1d69f2
Fix URL validation to allow hostnames with no TLD
Fixes: #782
2023-01-30 11:19:51 +02:00
Pēteris Caune
09593c80d9
Fix a crash in the "createsuperuser" management command
Fixes: #779
2023-01-26 09:20:35 +02:00