Commit Graph

1152 Commits

Author SHA1 Message Date
Klaas van Schelven
b560628c19 Createsuperuser pre-start: don't do that when _any_ users exist in the DB
Fixes #54
2025-03-07 09:52:43 +01:00
Klaas van Schelven
97f03a8951 Rewrite 'eviction_target' comment 2025-03-06 14:03:51 +01:00
Klaas van Schelven
977aae1c25 Show remaining (in db, AKA 'available') number of events in the issue-list
prompted by a user being confused about the number of events in their DB;
not 100% sure I'll keep this info here, but I'm introducing it for now
at least
2025-03-06 13:32:32 +01:00
Klaas van Schelven
646b1ea090 Details page: be robust for top-level message-as-string
Fix #55
2025-03-06 13:09:29 +01:00
Klaas van Schelven
f99575b5c9 Support configuring the docker setup with Postgres
without making a statement about the maturity of Bugsink-on-Postgres,
enabling a postgres backend on Docker setups at least allows people
to experiment with it

See #21
2025-03-05 16:32:24 +01:00
Klaas van Schelven
3e5d6370ea Postgres on GitHub: attempt w/ explict username/pw combo (WIP, attempt 2) 2025-03-05 12:20:55 +01:00
Klaas van Schelven
1911ab4eb8 Postgres on GitHub: attempt w/ explict username/pw combo
attempting to work around 'failed: fe_sendauth: no password supplied'
2025-03-05 12:20:55 +01:00
Klaas van Schelven
f25d693804 Add postgres to GitHub CI
A first step towards (experimental) postgres support, see #21
2025-03-05 12:20:51 +01:00
Klaas van Schelven
b211d961ce Document github workflow choice 2025-03-05 11:16:54 +01:00
Klaas van Schelven
381a5caae4 Issue.calculated_* fields: fix lengths
as in a717dd7374, but for Issue as well as Event.
The need for this was exposed by running the testsuite
against mysql; this commit fixes the tests.
2025-03-05 11:14:19 +01:00
Klaas van Schelven
b98c1d4f44 MySQL recover from IntegrityError
as we do for the sqlite case

the need for this was revealed by running the testsuite against mysql
2025-03-05 11:04:41 +01:00
Klaas van Schelven
d5a6f03a2e Add mysql to GitHub CI 2025-03-05 10:36:54 +01:00
Klaas van Schelven
d400d98a02 Add setting to enable opting out of PHONEHOME
Fixes #52
2025-03-03 09:26:06 +01:00
Klaas van Schelven
1571a4f87f Linebreaks in event detail values
Prompted by .message; but more generally useful and applied.

Fixes #51
2025-03-03 09:12:06 +01:00
Klaas van Schelven
adf92f6b1b make_consistent: update has_releases when needed
See #50
2025-03-03 09:06:31 +01:00
Klaas van Schelven
60920b7299 fix 'n total observed' at top of event-list page
this was showing the project's count since 336e126e3e, i.e. since
it was introduced
2025-02-28 11:29:21 +01:00
Klaas van Schelven
d5228f9932 Add 'level' to logentry event details 2025-02-27 15:26:10 +01:00
Klaas van Schelven
e10c1bf7ca Remove 'store_events' command
this command to store all events on the local filesystem was useful
while 'scaffolding'; getting my hands on some initial event-data in
the early days of Bugsink, but it was never meant as a permanent tool
2025-02-27 15:14:05 +01:00
Klaas van Schelven
4b7ed8f4ec Rename get_contexts_enriched_with_ua
more closely match what's going on
2025-02-26 18:20:52 +01:00
Klaas van Schelven
348c2dc80f tox.ini rule, as per comment
the associated code got removed before checkin, but I still like to ignore this
rule in the future
2025-02-26 16:34:47 +01:00
Klaas van Schelven
70a26ebb0f Typo in changelog 2025-02-24 11:40:10 +01:00
Klaas van Schelven
e876944d42 Add note to 1.3.0 CHANGELOG 2025-02-20 22:07:54 +01:00
Klaas van Schelven
14d34807ca Snappea 'worker done': display task name
for the important case of 'quickly eye-balling what-took-you-so-long'
this saves those eye-balls a lookup
2025-02-20 21:38:14 +01:00
Klaas van Schelven
f6b2c8ffbf 1.3.0 CHANGELOG 2025-02-20 21:27:19 +01:00
Klaas van Schelven
af58c8174a QuietConsoleEmailBackend: prettier printing
message more clear, subject on a single line
2025-02-20 15:46:59 +01:00
Klaas van Schelven
757ee31bed Support for CORS
Tested in-browser with:

```
function main() {
    $.ajax({
        type: "POST",
        url: "http://bugsink:8000/api/1/store/",
        headers: {
            "Content-Type": "application/json",
            "X-Sentry-Auth": "Sentry sentry_key=a2df4cd647dc4b7a8a81b78a3601eba1, sentry_version=7, sentry_client=bugsink/0.0.1",
        },
        data: JSON.stringify({foo: "Bar"}),
        success: function(data) {
            console.log(data);
        }
    });
}
```
2025-02-20 14:43:10 +01:00
Klaas van Schelven
2354241e2c 2 email backend warning improvements
*,Don't mention EMAIL_BACKEND in the warning message: in the
  Docker setup, this isn't even a thing.

* In the single-server setup, when email is unconfigured, use
  an explict Quiet backend. This will make sure you don't just
  get failure-to-send, instead you'll get the nice yellow banner.
  This will not affect existing setups (by design) because of
  the template-based setup (those setups will have their version
  already deployed)
2025-02-20 10:21:25 +01:00
Klaas van Schelven
387d037c7c Slight rewording in the README 2025-02-20 09:29:57 +01:00
Klaas van Schelven
934764dd8c Tests: Better error message for failing integration tests 2025-02-20 09:26:04 +01:00
Klaas van Schelven
93ae506230 Don't 'eat your own dogfood' (send errors) while running tests
this was generally already so, but as per issue 4078 at sentry-python, not in all cases
2025-02-19 21:31:37 +01:00
Klaas van Schelven
bc1541050d thousand-separators for counts
useful when there are very many events
2025-02-19 16:58:54 +01:00
Klaas van Schelven
154dceb2af EVENT_STORAGE (FileEventStorage): docker-configurable 2025-02-19 16:09:01 +01:00
Klaas van Schelven
b169749231 Send welcome email: as a command 2025-02-19 14:52:48 +01:00
Klaas van Schelven
073bc7aaec make_consistent: add --dry-run 2025-02-19 12:06:16 +01:00
Klaas van Schelven
f4250d2db8 make_consistent: document possible way forward 2025-02-19 11:56:21 +01:00
Klaas van Schelven
92425890cd make_consistent: take 'points to missing' into account while deleting
also: switch a number of deletions from in-the-loop deletions to
delete-using-sql.
2025-02-19 11:42:44 +01:00
Klaas van Schelven
918b1ef54c Add ids to 2 system-checks 2025-02-18 12:10:32 +01:00
Klaas van Schelven
3cb07246b9 Add system-check for EVENT_STORAGES setting 2025-02-18 12:08:05 +01:00
Klaas van Schelven
10f8e10607 DB indexes for the issue-lits (including filters)
simply by reasoning about what they should be; no performance testing (on the issue-list
and on the event-ingestion) was done for these)
2025-02-18 10:32:06 +01:00
Klaas van Schelven
2cb87f8334 Issues list pagination 2025-02-18 09:47:30 +01:00
Klaas van Schelven
7b32e71e1c Merge pull request #45 from bugsink/dependabot/pip/python-packages-8f6e7d9701
Update sentry-sdk requirement from ==2.21.* to ==2.22.*
2025-02-17 21:44:02 +01:00
Klaas van Schelven
14bc3688c7 retention: deletion counts, more defensive idiom
the dict as returned by Django won't contain 'events.Event' if none are deleted;
no observed bug for this line, but good measure to fix it anyway
2025-02-17 21:36:08 +01:00
Klaas van Schelven
3a1fe9acec allow long-running queries on 'nuke' and 'make_consistent' 2025-02-17 21:32:39 +01:00
Klaas van Schelven
5766fb8485 Make_consistent: run in a transaction
'Nice consistency you got here. Be a shame if anything happened to it.'
2025-02-17 21:11:44 +01:00
Klaas van Schelven
e37274c9aa nuke_events: improvements
* better name
* better confirmation box
* more complete deletion (turning points, groupings)
* run in transaction
2025-02-17 21:00:12 +01:00
dependabot[bot]
9b3e810950 Update sentry-sdk requirement in the python-packages group
Updates the requirements on [sentry-sdk](https://github.com/getsentry/sentry-python) to permit the latest version.

Updates `sentry-sdk` to 2.22.0
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/2.21.0...2.22.0)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 16:10:10 +00:00
Klaas van Schelven
443014f0b1 Dead code removal
this comment was added for-reference, was accidentally checked in
2025-02-17 16:45:10 +01:00
Klaas van Schelven
bab889cd84 transaction semaphore: ensure release for exceptions while _entering_ the transaction
Similar to 415da94093b0; but this time focussing on potential problems in `__enter__`.
i.e. `BEGIN IMMEDIATE` (or `BEGIN`) can _also_ fail for whatever reason, which
is yet another case where the semaphore should be released.

Rather than wrapping more parts of code (in this case, in `__enter__`) with try/except,
this made it clear to me that a separation of concerns was in order. Simply making 2
context processors, and stacking those is more transparently correct. As per the quoted
SO answer:

> Don't re-invent the wheel; this is not as simple as it looks.
2025-02-17 15:43:50 +01:00
Klaas van Schelven
ff11b29e1b MoreLoudlyFailingTransport: avoid infinite recursion
since logger.error tries to use sentry in typical setups, using that to report
trouble with sentry is not a good idea
2025-02-17 15:31:04 +01:00
Klaas van Schelven
fad34de68f Move MoreLoudlyFailingTransport out of the default 'eat_your_own_dogfood' conf
it's an extra convinience function for Bugsink developers (me), but the
less stability/more ergonomics tradeoff is not right in the general
case of running Bugsink

(for an example of an actually materializing stability problem, see the
upcoming commit)
2025-02-17 15:27:55 +01:00