Commit Graph

1828 Commits

Author SHA1 Message Date
Klaas van Schelven
cbeacca07e Fix: missing import 2026-01-07 21:52:23 +01:00
Klaas van Schelven
fc85b16567 MAX_RETENTION[_PER_PROJECT] as a setting 2026-01-07 21:47:41 +01:00
Klaas van Schelven
45add15c91 Merge pull request #297 from bugsink/dependabot/pip/python-packages-5e296d9793
Update jsonschema requirement from ==4.25.* to ==4.26.*
2026-01-07 18:21:17 +01:00
dependabot[bot]
34cbae68b5 Update jsonschema requirement in the python-packages group
Updates the requirements on [jsonschema](https://github.com/python-jsonschema/jsonschema) to permit the latest version.

Updates `jsonschema` to 4.26.0
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.25.0...v4.26.0)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-version: 4.26.0
  dependency-type: direct:production
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-07 17:15:57 +00:00
Klaas van Schelven
1a5ebee893 Dependabot: fix django-tailwind at 4.2.0 2026-01-07 18:13:48 +01:00
Klaas van Schelven
6cf0c3c08d Dependabot: don't upgrade verbose_csrf_middleware 2026-01-07 17:59:17 +01:00
Klaas van Schelven
cd35f89e79 USE_ADMIN: put it in the list of settings
avoids breakage outside of the development setup
2026-01-07 16:38:23 +01:00
Klaas van Schelven
5462b4ae57 More fully disable the admin when USE_ADMIN=False
Whatever we decide in the final conclusion for the 'decide status' questions
we better _actually_ turn this off when USE_ADMIN=False, this matches expectations
better

See #131
2026-01-07 16:35:25 +01:00
Klaas van Schelven
516d8b0731 Comments about usage of a few indexes on Event 2026-01-07 16:18:23 +01:00
Klaas van Schelven
a2e1caabd1 Add index for project-based quota checks
i.e. the code in check_for_thresholds (when the `qs` filters per project)

On SQLite the effect is like so, from:

EXPLAIN QUERY PLAN SELECT COUNT(*) AS "__count" FROM "events_event" WHERE ("events_event"."project_id" = 1 AND "events_event"."digested_at" >= '2025-12-07 15:12:24.479666');
QUERY PLAN
`--SEARCH events_event USING COVERING INDEX events_even_project_ac6fc7_idx (project_id=?)

to

EXPLAIN QUERY PLAN SELECT COUNT(*) AS "__count" FROM "events_event" WHERE ("events_event"."project_id" = 1 AND "events_event"."digested_at" >= '2025-12-07 15:12:24.479666');
QUERY PLAN
`--SEARCH events_event USING COVERING INDEX events_even_project_625413_idx (project_id=? AND digested_at>?)
2026-01-07 16:16:28 +01:00
Klaas van Schelven
b618575e83 Quota settings: per-month on project level; per-smaller on installation level
and make it configurable on in the templates & docker
2026-01-07 15:41:58 +01:00
Klaas van Schelven
618934cec6 Installation-level quota: warning message
like cdb9ef7fa7, 7bb6673e39
2026-01-07 15:31:52 +01:00
Klaas van Schelven
bd35c1efdb Installation quota: pick up on settings-changes
like 7b7cd66dfb but at the installation-level
2026-01-07 15:18:29 +01:00
Klaas van Schelven
7bb6673e39 Quota warning message: formatting 2026-01-07 14:51:08 +01:00
Klaas van Schelven
1c0d163f92 Express per hour more clear as '1 hour'
now that this info is used in the message string
2026-01-07 14:45:02 +01:00
Klaas van Schelven
cdb9ef7fa7 Project-level quota exceeded: show a message 2026-01-07 14:34:02 +01:00
Klaas van Schelven
7b7cd66dfb Project quota: pick up on settings-changes 2026-01-07 14:02:43 +01:00
Klaas van Schelven
7d550708f1 Rename 'count' for explictness (pure refactoring) 2026-01-07 11:41:47 +01:00
Klaas van Schelven
802768f63d Remove 'matter of taste' comment and max()
the amount of extra mental overhead this introduces is not offset by the
gain in correctness
2026-01-07 11:40:54 +01:00
Klaas van Schelven
1d261b4b7c Setting & check for site-wide per-month event ingestion maximum 2026-01-07 11:29:49 +01:00
Klaas van Schelven
fb5424db22 Renames/comment rewrites for understanding (pure refactoring) 2026-01-07 09:23:53 +01:00
Klaas van Schelven
c33eba8fbe Typo in command output ('snapea') 2026-01-06 21:39:33 +01:00
Klaas van Schelven
0d0b9b509f Add modelcounts command; useful in the context of housekeeping when servers are down 2026-01-06 20:41:43 +01:00
Klaas van Schelven
e6c163c674 When minidumps feature is turned off, don't 500 when sent
Fix #293
2026-01-06 19:33:07 +01:00
Klaas van Schelven
5cf185388e Fix exception for unsupported envelope items
See #293
2026-01-06 16:23:45 +01:00
Klaas van Schelven
d66765d469 CHANGELOG: more properly distinguish big & small changes 2026-01-06 11:46:01 +01:00
Klaas van Schelven
f34d8abec5 2.0.7 CHANGELOG 2026-01-06 11:42:41 +01:00
Klaas van Schelven
b7f6331cc6 Fix never_evict for the "conditional ummute" case
The key phrase from our codebase was:

> # .save() will be called by the caller of this function

But this wasn't the case for the conditionally called path.

Adds data-fixing migration too.

Fix #292
2026-01-06 11:07:53 +01:00
Klaas van Schelven
4fe8bd3fad ingest ParseError: don't raise a 500; make this the SDK's problem (400)
500 was just fine when I was still calibrating the envelope parsing, but AFAICT it's
correct now, so I'd rather not get notified about 'remaining problems' (which are SDK problems)
2025-12-09 15:58:48 +01:00
Klaas van Schelven
ec6d480cd1 Cleanup: harmonize import-style for exceptions 2025-12-09 15:56:02 +01:00
Klaas van Schelven
e3f1c92fd1 Upgrade Verbose CSRF Middleware to match Django 5.2 2025-12-06 21:27:40 +01:00
Klaas van Schelven
535f152873 Dead code removal
2 earlier attemts at capture_stacktrace
2025-12-06 19:36:58 +01:00
Klaas van Schelven
4564131ff5 Fix for pygements mishandling a weird case w/ ruby
See https://github.com/pygments/pygments/issues/2998
2025-12-06 19:32:29 +01:00
Klaas van Schelven
66b9b63c1e Clarify brotli error wording 2025-11-26 12:46:13 +01:00
Klaas van Schelven
bee889f2cd Raise 413 for the 'content too large' case 2025-11-26 12:45:22 +01:00
Klaas van Schelven
11228dfa5d 'All tags...' link: italic
to distinguish it from the actual tag headers
2025-11-26 12:22:27 +01:00
Klaas van Schelven
609e92935d Note about 'megaphone' icon 2025-11-26 10:46:28 +01:00
Klaas van Schelven
2ac297c012 Slack alerts: issue title in message title
Fix #283
2025-11-26 10:35:26 +01:00
Klaas van Schelven
1ecd03634c Note about Discord & channels
See #281
2025-11-26 10:20:53 +01:00
Klaas van Schelven
e6096a0472 Note about Slack & channels
See #281
2025-11-26 10:06:35 +01:00
Klaas van Schelven
164a1b5c5c Channel support for Mattermost
based on the work in 62fdfb7623, tested for both channels and users

Fix #281
2025-11-26 09:48:40 +01:00
Klaas van Schelven
2a90d6ab1e Message service backend setup: switch config form per-service in the UI
See #281, which this commit prepares for
2025-11-26 09:10:14 +01:00
Klaas van Schelven
e0e4104cae Comment-out console.log 2025-11-26 08:34:33 +01:00
Klaas van Schelven
1cc5c32f10 Typo in docstring 2025-11-26 08:29:50 +01:00
Klaas van Schelven
4e71f4f04c Discord alert backend: send 'valid' URLs only
Fix #280
2025-11-25 21:26:41 +01:00
Klaas van Schelven
ae80403c7c Merge pull request #279 from bugsink/hijacked-pr-265
Add discord backend support
2025-11-25 13:40:09 +01:00
Klaas van Schelven
e35f10b5d4 Formatting (no behavior change)
Facilitate visual comparison with the 'reference impl' (slack).
The service backends do heavy copy/pasting, good to keep the beast
in check by at least limiting the changes to the bits that actually
diverge
2025-11-25 13:08:31 +01:00
neverabsolute
c8792e5c84 Add Discord backend support to MessagingServiceConfig and related tests
Fix #121
2025-11-25 13:08:22 +01:00
Klaas van Schelven
3f8c77784a Merge pull request #278 from bugsink/hijacked-pr-253
Mattermost Alert Backend
2025-11-25 12:47:39 +01:00
Klaas van Schelven
167fe8bbc9 Mattermost Alert Backend
W.r.t. the user-contributed version, this:

* removes commented-out code
* removes channels (not supported at the UI level)
* removes all other things

Said differently: the mattermost Alert Service Backend is simply the Slack version
with edits to make it mattermost-specific (and nothing else).

(In a few places I've edited the slack backend to make comparing easier).

Fix #277
See #253
2025-11-25 12:40:18 +01:00