0
0
Fork 0
mirror of https://github.com/healthchecks/healthchecks.git synced 2025-04-15 01:18:30 +00:00
Commit graph

446 commits

Author SHA1 Message Date
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
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
seidnerj
87841b6038
Update the ping details dialog to show the "HTML" tab by default (if available) ()
* typo correction in README.md

* when opening the "ping details" dialog, by default set the active tab to "HTML" (if html content exists), otherwise set the active tab to "Text".
2023-03-09 13:17:16 +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
f27e7c82a2
Optimize SQL query in hc.front.views.status
Filter checks by project.id instead of project.code,
this avoids a JOIN in the query.
2023-02-10 12:06:56 +02:00
Pēteris Caune
a9b084ec9a
Add "Start Keyword" filtering for inbound emails
Fixes: 
2023-01-16 13:19:35 +02:00
Pēteris Caune
4716168da2
Fix check transfer between same account's projects when at check limit 2023-01-12 09:46:02 +02:00
Pēteris Caune
a161498e85
Tighten Signal number verification rate limiting 2023-01-11 15:33:04 +02:00
Pēteris Caune
8d06a3e896
Add a "verify number" step in the Signal onboarding flow 2023-01-10 12:54:25 +02:00
Pēteris Caune
afbce84731
Reduce SQL queries in "status_single", "details", "log" views 2022-12-22 14:35:24 +02:00
Pēteris Caune
18c17fb4b5
Fix project sort order to be case-insensitive everywhere in the UI
Fixes: 
2022-12-22 11:39:20 +02:00
Pēteris Caune
4863dda6c3
Add /api/v2/ which reports check's status slightly differently
cc: 
2022-12-19 22:31:38 +02:00
Pēteris Caune
260f6e36a7
Fix templates to use user's timezone when displaying dates 2022-12-01 15:21:40 +02:00
Pēteris Caune
818ccad56f
Fix week, month boundary calculation to use user's timezone 2022-12-01 13:46:21 +02:00
Pēteris Caune
a65aa171f4
Replace var=[...];if var: [...] usages with the walrus operator 2022-12-01 09:16:19 +02:00
Pēteris Caune
c3e6fca6a7
Fix "get body" views to preserve body bytes, avoid string conversions 2022-11-28 14:48:55 +02:00
Pēteris Caune
8930bedd4a
Refactor the other "edit channel" views, add type hints 2022-11-25 12:48:04 +02:00
Pēteris Caune
346ebc184c
Refactor hc.front.views.ntfy_form, add type hints 2022-11-25 11:23:58 +02:00
Pēteris Caune
646aa1cb48
Add ".txt" suffix to the filename when downloading ping body
Fixes: 
2022-11-24 18:22:34 +02:00
Pēteris Caune
413b97c48f
Fix ntfy edit form initialization 2022-11-24 14:48:19 +02:00
Pēteris Caune
3dcc7d60a2
Add ntfy integration
Fixes: 
2022-11-24 12:09:53 +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
seidnerj
b6027fa126
Added support for a "run id" parameter ()
Add support for specifying a run ID via a "rid" query parameter

cc: 
2022-11-08 11:34:26 +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
d100cb7ead
Fix duration calculation bug in _get_events
The bug: _get_events sometimes does not have enough data to
calculate all durations correctly (some needed "start" events
may be outside the fetched data). The fix is to fall back to
Ping.duration() in these cases.
2022-11-01 12:04:14 +02:00
Pēteris Caune
26b6e20fda
Fix hc.front.views.ping_details to set duration on all ping instances
The code in hc.front.views.ping_details calculates durations
and sets them on the Ping.duration field, overriding the cached
property. But, it only does this for pings where the duration can
be calculated. If there's a streak of "success" pings with no
"start" pings between, the loop will not set the Ping.duration
field for most of them. So, when rendering the template, the
property code will run and cause an additional SQL query for each
ping. The fix is, in hc.front.views.ping_details, to set the
Ping.duration field for each and every ping.
2022-11-01 09:22:29 +02:00
seidnerj
c82c1a3a4a
Added duration to ping details ()
* Added duration to ping details. This is useful on a device with a small screen, since the duration cannot be seen in the main view so now one can see it in the ping's details.
* Changed terms across the board from "delta" to "duration"
* timedelta is now consistently imported as "td" across the entire project (even in Django generated migration files)
2022-11-01 09:18:34 +02:00
Pēteris Caune
20a5e3ffca
Add tests and usability tweaks for the signal_captcha view 2022-10-27 13:00:12 +03:00
Pēteris Caune
8d75f1adc3
Add a form for submitting Signal CAPTCHA solutions 2022-10-27 11:57:52 +03:00
Pēteris Caune
161430fb10
Sort imports and add "from __future__ import annotations" 2022-10-17 16:52:15 +03:00
Pēteris Caune
5969e940a5
Switch to using "from __future__ import annotations" 2022-10-17 16:29:48 +03:00
Pēteris Caune
963f1758de
Improve type hints 2022-10-09 11:51:13 +03:00
Pēteris Caune
4d69ff937e
Add support for custom topics in Zulip notifications
Fixes: 
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
599b4d2e52
Add more type hints 2022-09-27 18:54:22 +03:00
Pēteris Caune
ec25b319ab
Upgrade to cronsim 2.2 2022-09-22 16:16:39 +03:00
Pēteris Caune
94b49b5f34
Fix the earliest ping lookup query to order by n instead of id
Ordering by id causes Postgres to pick a bad
index (api_ping_pkey). Ordering by n gives equivalent results,
but Postgres picks a better index (owner_id)

Fixes: 
2022-09-19 19:34:14 +03:00
Pēteris Caune
5b4073374e
Clean up hc.front.views.log 2022-09-09 16:43:21 +03:00
Pēteris Caune
37bbe5a9c7
Add date filters in the Log page 2022-09-09 14:16:17 +03:00
Pēteris Caune
914202e45b
Tweak the search snippet size 2022-08-22 13:02:58 +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
5a0bf4062f
Add API support for resuming paused checks
Fixes: 
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
b9de55043a
Fix duration calculation again, kind can also be "" (empty string) 2022-08-04 10:29:53 +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
51fd339602
Add auto-refresh and running indicator in My Projects
Fixes: 
2022-08-02 16:37:25 +03:00
Pēteris Caune
2f562bb502
Fix the checks list to preserve filters when adding/updating checks
Fixes: 
2022-08-02 13:27:04 +03:00