Commit graph

595 commits

Author SHA1 Message Date
Pēteris Caune
4947aab26b
Upgrade to Django 4.1 2022-08-03 14:09:20 +03:00
Pēteris Caune
51fd339602
Add auto-refresh and running indicator in My Projects
Fixes: #681
2022-08-02 16:37:25 +03:00
Pēteris Caune
2f562bb502
Fix the checks list to preserve filters when adding/updating checks
Fixes: #684
2022-08-02 13:27:04 +03:00
Pēteris Caune
6644b43577
Fix the update_timeout view to record more information
Checks can flip from "up" to "down" state as a result of changing
check's schedule.  We don't want to send notifications when changing
schedule interactively in the web UI. So we update the `alert_after`
and `status` fields the same way as `sendalerts` would do. This is not
new, this was already being done.

With this change, we now additionally create Flip objects, recording
the fact that a check went down at such-and-such date. We fill the
"processed" field, to make sure sendalerts skips over these objects.

We need the Flip objects because otherwise the calculation
in Check.downtimes() could come out wrong (when a check later comes up,
we would have no record of when it went down).
2022-08-02 09:43:35 +03:00
Pēteris Caune
f9a716710b
Upgrade to requests 2.28.1, segno 1.5.2 2022-08-01 16:22:41 +03:00
Pēteris Caune
dd6be22ab4
Upgrade to fido2 1.0.0 2022-08-01 16:16:15 +03:00
Pēteris Caune
453b426090
Add testcase and update CHANGELOG 2022-07-29 12:58:58 +03:00
Pēteris Caune
c322fb8bbb
Add the "Badges" page in docs 2022-07-28 12:34:31 +03:00
Pēteris Caune
65cef0b271
Fix grouping and sorting in the text version of the report/nag emails
Fixes: #679
2022-07-27 15:22:41 +03:00
Pēteris Caune
438c94efb7
Fix a race condition in the "Change Email" flow
The race scenario was as follows:

* Alice initiates email address change to bob@example.org
* a verification link is sent to bob@example.org
* separately, somebody creates a new account for bob@example.org
* Alice clicks on the verification link

At this point,
- if the database has an uniqueness constraint on auth_user.email,
  Alice will receive a HTTP 500 error
- if there's no uniqueness constraint, the email change
  will succeed and the system will have two accounts with the
  same email address

The simple fix is to re-check the address availability just
before finalizing the email address change. Currently this is
not done in a transaction block, so the race condition still
exists in theory, but is much less likely to happen in practice.
2022-07-21 15:14:51 +03:00
Pēteris Caune
dc107ff7f5
Add ping endpoints for "log" events 2022-07-21 10:30:52 +03:00
Pēteris Caune
efa5acc1b4
Add support for the $JSON placeholder in webhook payloads 2022-07-20 12:06:39 +03:00
Pēteris Caune
5318e584fe
Upgrade to HiDPI screenshots in the documentation 2022-07-15 11:06:23 +03:00
Pēteris Caune
003d35d431
Add "Filter by keywords in the message body" feature
cc: #653
2022-07-12 15:46:15 +03:00
Pēteris Caune
272c2daa38
Upgrade to cron-descriptor 1.2.30 2022-07-04 10:33:27 +03:00
Pēteris Caune
0553f0a38a
Fix the display of ignored pings with non-zero exit status 2022-06-30 16:49:09 +03:00
Pēteris Caune
56a0d9f78b
Include last ping type in Slack, Mattermost, Discord notifications 2022-06-30 12:56:09 +03:00
Pēteris Caune
0c6223ffa5
Implement the "Add Check" dialog 2022-06-29 10:35:12 +03:00
Pēteris Caune
7912f1e4df
Update Dockerfile to start SMTP listener
Fixes: #668
2022-06-13 17:15:51 +03:00
Pēteris Caune
f4a30fb25a
Update CHANGELOG for release 2022-06-13 14:57:10 +03:00
Pēteris Caune
d0d36d5da5
Fix the version number displayed in the footer 2022-06-13 14:56:12 +03:00
Pēteris Caune
f2ce7aed8e
Improve the text version of the alert email template 2022-06-13 14:30:44 +03:00
Pēteris Caune
cce52bf298
Update CHANGELOG for release 2022-06-13 12:57:15 +03:00
Pēteris Caune
9e578f6dfc
Add "Disabled" priority for Pushover notifications
Fixes: #663
2022-06-10 18:19:12 +03:00
Pēteris Caune
51f7fe7332
Expose subject and subject_fail in API GET calls, improve docs 2022-06-03 09:59:20 +03:00
Pēteris Caune
b19ddab1bd
Add Gotify integration
Fixes: #270
2022-06-01 16:13:41 +03:00
Pēteris Caune
c1ff8875e3
Implement login link expiration
Login links will now expire in 1 hour.
2022-05-30 15:48:51 +03:00
Pēteris Caune
1d340d24aa
Add notes in docs about configuring uWSGI via UWSGI_ env vars
cc: #656
2022-05-27 15:13:03 +03:00
Pēteris Caune
a5e5b45983
Reduce logging, add Ctrl+C handler in sendalerts and sendreports
cc: #656
2022-05-27 14:49:44 +03:00
Pēteris Caune
6790d867a6
Add address verification step in the "Change Email" flow
A similar issue has come up multiple times: the user
changes account's email address, enters a bad address
by mistake, and gets locked out of their account.

This commit adds an extra step in the "Change Email" flow:

* In "Account Settings", user clicks on [Change Email]
* User gets a prompt for a 6-digit confirmation code, which
  has been sent to their old address. This is to prevent
  account takeover when Eve sits down at a computer where Alice
  is logged in.
* The user enters the confirmation code, and a "Change Email"
  form loads.
* The user enters their new email address.
* (The new step!) Instead of changing the email right away,
  we send a special login link to user's specified new address.
* (The new step, continued) The user clicks on the login link,
  their account's email address gets updated, and they get
  logged in.

The additional step makes sure the user can receive email
at their new address. If they cannot receive email there,
they cannot complete the "Change Email" procedure.
2022-05-20 17:54:45 +03:00
Pēteris Caune
7247983fdd
Add logic to handle ContentDecodingError exceptions 2022-05-17 16:16:24 +03:00
Pēteris Caune
fb0e3bc10d
Update hc.front.views.channels to handle empty strings in settings
Fixes: #635
2022-05-16 15:10:26 +03:00
Pēteris Caune
e3ff8bf3ca
Update CHANGELOG for v2.1 release 2022-05-10 16:32:03 +03:00
Pēteris Caune
e7076155e7
Add "Ping-Body-Limit" response header in ping API responses
The header format is:

    Ping-Body-Limit: n

Where "n" is an integer number, the value of the  PING_BODY_LIMIT
configuration setting.

Clients can use this header to decide how much POST data to send
in HTTP requests. If a client sends more than "n" bytes in the
request body, Healthchecks will store the first "n" bytes, and
ignore the rest.

The default value for PING_BODY_LIMIT is 10000 (10KB).
2022-05-10 15:44:27 +03:00
Pēteris Caune
f8382fd84e
Increase max displayed duration from 24h to 72h
Fixes: #644
2022-05-02 12:07:14 +03:00
Pēteris Caune
d1d9dd5021
Fix "Test" button for integrations that only send "up" notifications 2022-05-02 11:55:00 +03:00
Pēteris Caune
0bd09a6e65
Update the C# snippet 2022-04-25 20:55:16 +03:00
Pēteris Caune
156fc321bc
Upgrade to django-compressor 4.0
Fixes: #615
2022-04-23 18:12:20 +03:00
Pēteris Caune
b776762ba9
Fix prunenotifications to handle checks with missing pings
Fixes: #636
2022-04-20 16:25:19 +03:00
Pēteris Caune
aa2571b7fc
Add small delay in transports.Email.notify to allow ping body to upload 2022-04-19 11:37:48 +03:00
Pēteris Caune
32f021b9c5
Update email template to handle not yet uploaded ping bodies 2022-04-13 10:43:12 +03:00
Pēteris Caune
bb38ad3187
Remove the Signal CAPTCHA form (use "submitchallenge" command instead) 2022-04-11 14:24:28 +03:00
Pēteris Caune
7bd916558b
Add @login_required and update CHANGELOG 2022-04-09 16:35:57 +03:00
Pēteris Caune
c5e677681b
Add test for hc_check_up and update CHANGELOG 2022-04-08 11:47:50 +03:00
Pēteris Caune
a3d1bc7386
Implement the "started" progress spinner in the details pages 2022-04-08 10:56:36 +03:00
Pēteris Caune
911d63a2eb
Add logic to alert ADMINS when Signal transport hits a CAPTCHA challenge 2022-04-07 09:31:20 +03:00
Pēteris Caune
c4bbb4432a
Fix unwanted localization in badge SVG generation
Fixes: #629
2022-04-01 15:58:17 +03:00
Pēteris Caune
d54dcb5ea6
Fix the GHA workflow for building arm/v7 docker image 2022-03-18 13:24:18 +02:00
Pēteris Caune
e2a8e712c4
Update CHANGELOG for v2.0 release 2022-03-18 09:05:55 +02:00
Pēteris Caune
6958a9e898
Add a "Download Original" link in the "Ping Details" dialog 2022-03-16 17:31:01 +02:00