Commit graph

622 commits

Author SHA1 Message Date
Pēteris Caune
e962429e79
Update CHANGELOG 2022-11-22 17:52:22 +02:00
Pēteris Caune
e58a9ee71e
Add protection for n queries problem in _get_events
If every fetched ping is a success event, and has an unique
run ID, then we cannot determine the duration just from the
fetched data, and must fall back to Ping.duration(). This
would generate a SQL query per displayed ping.

The solution is to count how many times we would need to use
the fallback, and if it goes above some threshold (currently,
10 times), then disable duration display altogether.
2022-11-08 12:41:46 +02:00
Pēteris Caune
ccfcf26e65
Update Mattermost setup instructions 2022-11-02 14:45:44 +02:00
Pēteris Caune
d3406aef25
Fix the most recent ping lookup in the "Ping Details" dialog 2022-11-01 13:42:09 +02:00
Pēteris Caune
e29235c5a5
Improve tests 2022-11-01 12:15:54 +02:00
Pēteris Caune
8d75f1adc3
Add a form for submitting Signal CAPTCHA solutions 2022-10-27 11:57:52 +03:00
Pēteris Caune
e4a956679e
Move port scrubbing to hc.api.views.ping, add test case
cc: #714
2022-10-20 11:59:19 +03:00
Pēteris Caune
a944c05f68
Upgrade to fido2 1.1.0 and simplify hc.lib.webauthn 2022-10-19 09:16:01 +03:00
Pēteris Caune
85dcadd053
Update CHANGELOG for v2.4.1 2022-10-18 17:45:52 +03:00
Pēteris Caune
414d5a9424
Fix MySQL 8 support in the Docker image (#717) 2022-10-18 14:06:05 +03:00
Pēteris Caune
4d69ff937e
Add support for custom topics in Zulip notifications
Fixes: #583
2022-10-09 11:23:14 +03:00
Pēteris Caune
291323a531
Implement the "Clear Events" function 2022-10-07 11:19:08 +03:00
Pēteris Caune
51d7216e30
Upgrade to cronsim 2.3 2022-09-29 08:35:41 +03:00
Pēteris Caune
e5e369257c
Update the "Supported Placeholders" dialog 2022-09-26 10:35:04 +03:00
Pēteris Caune
ec25b319ab
Upgrade to cronsim 2.2 2022-09-22 16:16:39 +03:00
Pēteris Caune
37bbe5a9c7
Add date filters in the Log page 2022-09-09 14:16:17 +03:00
Pēteris Caune
5d5e469347
Implement documentation search 2022-08-22 11:56:02 +03:00
Pēteris Caune
3a50396806
Switch from requests to pycurl in integration onboarding views 2022-08-17 12:02:06 +03:00
Pēteris Caune
64bb43f74f
Limit allowed protocols, add INTEGRATIONS_ALLOW_PRIVATE_IPS setting 2022-08-16 11:13:14 +03:00
Pēteris Caune
3799bd3c20
Fix the handling of TooManyRedirects exceptions 2022-08-15 10:52:50 +03:00
Pēteris Caune
04403bbba0
Update CHANGELOG 2022-08-09 08:33:31 +03:00
Pēteris Caune
16083d1037
Update CHANGELOG for v2.3 release 2022-08-05 12:08:55 +03:00
Pēteris Caune
5a0bf4062f
Add API support for resuming paused checks
Fixes: #687
2022-08-04 14:00:46 +03:00
Pēteris Caune
47e624900f
Fix the pause views to create Flip objects
I found a bug in the downtime statistics calculation. The
scenario:

* at T=0 a check goes down
* at T=5 some time later the user pauses it
* at T=10 the check receives a ping and goes up

If we don't record a status change (a flip) at T=5, then
the calculated total downtime will come out wrong (10)

This change fixes the pause views (hc.api.views.pause,
hc.front.views.pause) to create Flip objects.
2022-08-04 12:20:06 +03:00
Pēteris Caune
c44148e715
Fix duration calculation to skip "log" and "ign" events 2022-08-04 09:26:40 +03:00
Pēteris Caune
ea810e286b
Upgrade to Django 4.1 and django-compressor 4.1 2022-08-04 09:01:15 +03:00
Pēteris Caune
2c545c4b38
Downgrade to Django 4.0.7
I jumped the gun here, django-compressor doesn't yet have a Django 4.1
compatible release. With Django 4.1, "manage.py compress" currently
throws an error.
2022-08-03 14:50:50 +03:00
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