Commit graph

1377 commits

Author SHA1 Message Date
Pēteris Caune
ca93e95632
Eliminate bootstrap's list-group 2022-02-01 09:06:35 +02:00
Pēteris Caune
622755f7aa
Improve the X-Forwarded-Proto note
cc: #597
2022-01-24 15:58:24 +02:00
Pēteris Caune
e5ac8d7dbc
Update the "Add TOTP" form to display plaintext TOTP secret
Fixes: #602
2022-01-24 15:17:48 +02:00
Pēteris Caune
15be40ce6b
Add note about X-Forwarded-Proto
cc: #597
2022-01-17 11:34:06 +02:00
Pēteris Caune
82663a2a52
Update Signal integration to use JSON RPC over UNIX socket 2022-01-13 18:12:33 +02:00
Pēteris Caune
24a36beb77
Update email bounce handler to mark email channels as disabled
User can re-enable a disabled email channel by editing it
(in the Integrations page, click the "Fix..." button).

Fixes: #446
2022-01-13 12:10:08 +02:00
Pēteris Caune
6805d75a29
Bump the min. Python version to 3.8 (as required by Django 4) 2022-01-05 16:13:49 +02:00
Pēteris Caune
a155f40861
Upgrade to Django 4
Replace usages of pytz with zoneinfo, upgrade to cronsim==2.0,
which is compatible with zoneinfo.
2022-01-05 16:01:48 +02:00
Pēteris Caune
d15ea01077
Bump the minimal Python version from 3.6 (EOL) to 3.7 2022-01-05 14:25:07 +02:00
Pēteris Caune
7317adc7f7
Refactor transport classes, add Channel.disabled field
- Refactor transport classes to raise exceptions
  on delivery problems, instead of returning error
  message as string. Exceptions can carry extra meta
  information (see TransportError.permanent field, see
  MigrationRequiredError subclass). I considered attaching
  the extra information to strings by subclassing str, but
  using exceptions felt cleaner and less hacky.

- Add Channel.disabled field, for disabling integrations
  on permanent errors. For example, if Slack returns
  HTTP 404, we will now mark the integration as disabled
  and will not make requests to that Slack endpoint again.
2022-01-05 09:46:39 +02:00
Pēteris Caune
ee8cd29f63
Remove prunepings mention from selfhosted docs
cc: #591
2022-01-03 10:09:09 +02:00
Pēteris Caune
d8f1659e45
Implement Telegram group to supergroup migration
Fixes: #132
2021-12-30 11:54:02 +02:00
Pēteris Caune
abb7bc7150
Add support for Telegram channels
To make this work, existing installations must re-run
the "settelegramwebhook" management command.

Fixes: #592
2021-12-28 18:50:06 +02:00
Pēteris Caune
cc3a402042
Remove site_scheme template tag, it was used in a single template 2021-12-10 13:27:20 +02:00
Pēteris Caune
1da1a02be4
Add "The following checks are also down: ..." in Signal notifications 2021-12-10 11:30:48 +02:00
Pēteris Caune
5943c8017a
Improve formatting in pushover_message.html 2021-12-10 11:15:59 +02:00
Pēteris Caune
336c55e601
Implement "linemode" tag, improve formatting in telegram_message.html 2021-12-09 17:45:52 +02:00
Pēteris Caune
d317b8e38e
Add a size limit for the "The following checks are also down" section 2021-12-08 16:58:01 +02:00
Pēteris Caune
307dfbb99e
Add "The following checks are also down: ..." in Telegram notifications 2021-12-08 16:06:08 +02:00
Pēteris Caune
c7c48477df
Fix report templates to not show the "started" status 2021-12-08 09:41:49 +02:00
Pēteris Caune
1da03f1662
Add HTTP POST example in PowerShell usage examples
Fixes #575
2021-12-02 15:42:15 +02:00
Pēteris Caune
9e36eb5fcc
Remove the "welcome" landing page
Redirect unauthenticated users to the sign in page
instead. Rationale:

- The content on the welcome page is what often belongs
  to a separate "marketing site". The marketing content
  is of no use on self-hosted instances, which typically
  have new signups disabled and are for internal use only
- (the real reason, let's be honest) a number of
  self-hosted instances are accessible over the public
  internet. Search engines index the nearly identical
  landing pages and see them as duplicated content.
2021-11-10 11:59:55 +02:00
Pēteris Caune
e0d2f36928
Improve period and grace controls, allow up to 365 day periods
Fixes: #281
2021-11-04 15:44:51 +02:00
Pēteris Caune
cfd0bd2a6e
Change "Add Users from Other Teams" -> "Add Users from Other Projects" 2021-11-03 10:34:56 +02:00
Pēteris Caune
bcc7009437
Update channels.html to use Channel.last_notify
Channel.last_notify is the datetime of the most recent
notification sent via the channel. Channel.last_error is
the error message (blank if the delivery was successful).

In the integrations list, "Last Notification" column,
use these fields instead of looking up the most recent
Notification object. This saves some db queries,
and also fixes a subtle issue: if prunenotifications
cleans up all notifications for a given channel, the
"Last Notification" column would display "Never", which
would not be correct – not any more.
2021-10-21 11:42:13 +03:00
Pēteris Caune
38c480bab5
Update PowerShell example 2021-10-19 16:33:37 +03:00
Pēteris Caune
dc0ea1e8ce
Remove unused bits from the base email template 2021-10-18 18:58:39 +03:00
Pēteris Caune
d2c701fb77
Add {% spaceless %} tags to reduce uncompressed email size
If the email body is above a certain size, Gmail trims it
and displays "[Message clipped]  View entire message" at
the end. The spaceless tag is a quick fix to reduce
HTML size a bit and allow more table rows to fit before
clipping.
2021-10-18 17:47:01 +03:00
Pēteris Caune
141d71d9fe
Switch from croniter to cronsim (vendored in hc.lib.cronsim) 2021-10-14 12:42:31 +03:00
Pēteris Caune
b8771b9eb8
Add uuid/slug switcher in the Details page 2021-10-06 16:12:28 +03:00
Pēteris Caune
5fe4a60b30
Upgrade to jQuery 3.6.0 2021-10-01 13:12:20 +03:00
Pēteris Caune
b5f7ec1324
Add "Ping Key Required" dialog
In the Details page, if the user click "Ping Now",
and the project is using {ping-key}/{slug} URLs,
but the ping key is not set, then show a
"Ping Key Required" message instead of trying to ping
and invalid URL.
2021-09-24 16:25:24 +03:00
Pēteris Caune
4618108046
Make "or" bold
cc: #547
2021-09-20 08:44:33 +03:00
Pēteris Caune
2adf4b6aee
Add "(not unique)" note next to ambiguous ping URLs 2021-09-17 15:09:31 +03:00
Pēteris Caune
7f766e4f48
Improve docs 2021-09-16 09:16:29 +03:00
Pēteris Caune
9299ee4516
Improve response code descriptions in Ping API docs 2021-09-15 13:30:19 +03:00
Pēteris Caune
be66ec73e5
Add the slug-based endpoints in Ping API docs 2021-09-15 11:39:05 +03:00
Pēteris Caune
5905560583
Add content about the new slug-based ping URLs in docs/introduction.md 2021-09-14 16:40:29 +03:00
Pēteris Caune
66af88145a
Add "if read-write" conditionals for modals in project.html 2021-09-09 15:13:04 +03:00
Pēteris Caune
3dfdbc09ca
Add ability to create/revoke individual keys 2021-09-09 14:55:17 +03:00
Pēteris Caune
9517035501
Fix N+1 queries issue in "My Checks" and clean up Check.url() 2021-09-09 10:56:23 +03:00
Pēteris Caune
5b9008e321
Implement alternative ping URLs, WIP 2021-09-09 09:32:10 +03:00
Pēteris Caune
5fafc871dd
Fix unwanted text wrapping in the URL cell 2021-08-26 17:24:04 +03:00
Pēteris Caune
3f078e6cda
Optimize HTML in the "list of checks" page
In a project with ~300 checks,

* HTML size (uncompressed) before: 772KiB
* HTML size (uncompressed) after: 703KiB
2021-08-26 17:11:56 +03:00
Pēteris Caune
be641aea96
Add tests for LINE and Trello transports 2021-08-26 15:54:05 +03:00
Pēteris Caune
2c662dac20
Fix HTML validation issues 2021-08-26 12:02:09 +03:00
Pēteris Caune
6f5a22fd98
Improve up/down flag validation
In SMS, Signal and WhatsApp forms, reject the form if
user unchecks both "alert when check goes DOWN" and
"alert when check goes UP".
2021-08-26 10:35:05 +03:00
Pēteris Caune
8541ec59ca
Add ability to edit existing WhatsApp integrations 2021-08-26 10:17:01 +03:00
Pēteris Caune
5af09ed4dd
Add ability to edit existing Signal integrations 2021-08-26 10:01:09 +03:00
Pēteris Caune
3807c200ce
Add ability to edit existing SMS integrations 2021-08-26 09:42:35 +03:00