Commit graph

3239 commits

Author SHA1 Message Date
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
05742f42f9
Update the senddeletionscheduled command to notify team members too 2023-07-14 09:51:36 +03:00
Pēteris Caune
c4851f3b49
Fix lint issues 2023-07-12 13:44:35 +03:00
Pēteris Caune
774471e4e8
Improve type annotations in hc.api.views._update 2023-07-12 12:23:45 +03:00
Pēteris Caune
4a0ddb989e
Reformat bad markdown->HTML conversion 2023-07-12 12:22:51 +03:00
Pēteris Caune
ef88aa3a85
Silence a ruff warning about local_settings import 2023-07-12 11:37:10 +03:00
Pēteris Caune
792cc59bef
Fix lint issues 2023-07-12 10:29:55 +03:00
Pēteris Caune
58cc623377
Format migration files with black 2023-07-12 10:11:07 +03:00
Pēteris Caune
f6a04d2256
Fix lint issues 2023-07-12 10:07:14 +03:00
Pēteris Caune
a3965fcae5
Add last notify date in channel admin 2023-07-12 08:51:54 +03:00
Pēteris Caune
5b322e5c5e
Optimize queries in admin 2023-07-11 16:45:02 +03:00
Pēteris Caune
88016c4317
Add over_limit_date in Profile admin's list view 2023-07-11 12:36:41 +03:00
Pēteris Caune
e26830ea99
Tweak Profile admin's list view 2023-07-11 12:28:58 +03:00
Pēteris Caune
32b607533a
Make QoL improvements in admin
* Add "view on site" links in Check, Channel, and Project admins
* Expose over_limit_date in Profile admin
* Display last notify duration ("Time" column) in Channel admin
* Add last notify duration filter for Channel admin
2023-07-11 12:14:45 +03:00
Pēteris Caune
4adba44381
Add convenience functions in Profile model
* is_past_over_limit_grace(): Returns True if this profile is
over limits for 31 or more days.
* schedule_for_deletion(): Sets the deletion_scheduled_date
field to 31 days in the future.
2023-07-11 10:14:10 +03:00
Pēteris Caune
fb58a50301
Exclude "apiv2" from docs search 2023-07-08 10:54:55 +03:00
Pēteris Caune
7ecbe8fc4e
Make log output more compact 2023-07-08 10:39:47 +03:00
Pēteris Caune
89c26b46a4
Refactor sendalerts and Flip.send_alerts() for cleaner logs 2023-07-08 10:28:40 +03:00
Pēteris Caune
fc41af50f4
Fix sorting of NULLs when fetching a Flip in sendalerts 2023-07-07 18:21:26 +03:00
Pēteris Caune
68bcc5389f
Fix sendalerts to allow "handle_going_down()" to run more often 2023-07-07 17:58:55 +03:00
Pēteris Caune
368e76016d
Add Channel.last_notify_duration, use in sendalerts for prioritization 2023-07-07 16:40:23 +03:00
Pēteris Caune
39682d900f
Update screenshots in docs to show the slug field 2023-07-07 10:22:35 +03:00
Pēteris Caune
9c00938516
Update email bounce handler to log diagnostic codes 2023-07-06 15:21:02 +03:00
Pēteris Caune
c69c1f5ec4
Add management command for sending "scheduled for deletion" warnings 2023-07-04 12:50:50 +03:00
Pēteris Caune
9304536131
Upgrade to Django 4.2.3 2023-07-04 09:10:10 +03:00
Viktor Szépe
1bfd1d22b0
Add link to CI badge in README (#856) 2023-07-02 15:32:20 +03:00
Pēteris Caune
fc1db22ec7
Fix JS error in the login page when REGISTRATION_OPEN=False 2023-07-02 15:29:41 +03:00
Viktor Szépe
dedb17feb9
Fix JS name and remove references to .map files (#854) 2023-07-02 15:25:04 +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
e208b7f543
Upgrade cronsim to 2.5 2023-07-01 10:54:21 +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
b2c43a57db
Update Telegram onboarding instructions 2023-06-28 15:47:52 +03:00
Pēteris Caune
011b97f75a
Fix signup tests to pass regardless of REGISTRATION_OPEN value 2023-06-28 15:26:39 +03:00
Pēteris Caune
68c42db58c
Add support for Telegram topics
Fixes: #852
2023-06-28 15:22:59 +03:00
Pēteris Caune
931876a737
Upgrade selectize.js to v0.15.2, fix CSS issues
Fixed CSS issues:

* In the tag input element, when entering a new tag,
  the "Add ..." item was missing padding. Padding added.
* In the timezone selects the caret was hidden, so it was
  hard to discover that timezone options can be filtered by typing.
  Caret in timezone selects is now visible and blinking.
2023-06-28 11:42:00 +03:00
Pēteris Caune
161c274586
Update requirement versions 2023-06-28 10:55:17 +03:00
Pēteris Caune
68cbcf9039
Fix syntax highlighting in docs 2023-06-27 15:25:06 +03:00
Pēteris Caune
a53e79cc49
Add a note about pre-built images in docs/docker 2023-06-27 15:20:53 +03:00
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
58d317adc7
Make check auto-provisioning opt-in
cc: #849, #626
2023-06-27 09:45:38 +03:00
Pēteris Caune
e342f057df
Hopefully fix DB connection timeouts in manage.py smtpd
The smtpd management command runs a SMTP listener for receiving
ping signals as emails. If emails arrive infrequently, the
database connections can time out. A brute-force workaround for
this was to call `connections.close_all()` before making new
DB queries.

Code moved around while migrating to aiosmtpd, and looks like
the workaround did not work any more – #847. This commit
replaces `connections.close_all()` with `connection.close()` and
moves it to the `_process_message()` function, which *hopefully* fixes 
the problem.
2023-06-26 16:24:56 +03:00
Pēteris Caune
730d448c76
Fix pinging by slug to return 201 when a check is auto-created
cc: #849, #626
2023-06-26 13:06:20 +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
db07a4d796
Update docs with notes about auto-provisioning
cc: #626
2023-06-22 14:48:06 +03:00
Pēteris Caune
34530e0e91
Add Profile.over_limit_date DB field 2023-06-16 16:28:03 +03:00
Pēteris Caune
1ffb9ed18f
Highlight the number of checks in the over-limit notice 2023-06-16 15:16:58 +03:00
Pēteris Caune
2677c052c8
Fix plan name lookup 2023-06-16 15:04:34 +03:00
Pēteris Caune
928f82e220
Add "Your account is currently over its check limit" notice 2023-06-16 15:00:33 +03:00
Pēteris Caune
228516b4a2
Add samarpan-rai/healthchecks_wrapper to the 3rd-party resouces page 2023-06-16 13:12:07 +03:00