Commit Graph

834 Commits

Author SHA1 Message Date
Klaas van Schelven
b322a1e2fa Get up-to-date event.schema.json
6d2c435b8c
2024-09-16 14:22:05 +02:00
Klaas van Schelven
5f29a20765 send_json: print understandable json errors
at least: this works in the current set of circumstances
2024-09-16 14:20:21 +02:00
Klaas van Schelven
519c09b662 Syntax error fix 2024-09-16 14:19:34 +02:00
Klaas van Schelven
f1b75aab81 api.json.schema: put back in code, make test fail on invalidness and related fixes
This reverts course on 4201fbd778, and restores event.schema.json from that
commit.  In that commit we said: 'this is not used'. Not true: it's used in a
test, though this test used the validity check to silently skip.

In this commit:

1. Do _not_ just silently skip invalid samples. Since we have a way of properly
   validating, let's use that so that we know how useful the samples that we have
   actually are.

2. Deal with "_meta", a field that we sometimes see in the "private samples" (data
   that ultimately comes from running a somewhat recent python-sdk against my
   actual codebase). The need for this was exposed by [1]

3. Add a test for the up-to-date-ness of event.json.schema

4. remove special-cased attribute-checks in `is_valid`; `send_json` was, at the
   time, an opportunistic way to just get my hands on some sample data. the
   approach at validation reflected that: I just did some tests on the existence
   of certain attributes to determine which json files were even events. But in
   the end I did a full validation using an API schema, which kinda made the
   whole business useless. This commit cleans up the individual checks.
2024-09-16 11:28:05 +02:00
Klaas van Schelven
359953cee2 Remove 'marketing' directory 2024-09-13 17:47:52 +02:00
Klaas van Schelven
4201fbd778 remove vendored event.schema.json from codebase, document where it can be found in the future 2024-09-13 17:47:25 +02:00
Klaas van Schelven
138382cf13 Note about parsed_data.user 2024-09-13 17:17:48 +02:00
Klaas van Schelven
2dc07a0aae 'issue key info' header box
alignment still feels slightly off (too high) but OK for now
2024-09-13 15:57:37 +02:00
Klaas van Schelven
b912182bcb Show (event, not issue-histogram) tags in box in RHS 2024-09-13 15:47:27 +02:00
Klaas van Schelven
80a3ae0077 Get rid of 'max-parallel in github workflows
I can't imagine this really helps much in terms of costs
(only 1 was postponed), but running only 4 in parallel doubles the
tests' execution time
2024-09-13 14:31:57 +02:00
Klaas van Schelven
e3be6146a2 Restore a comment in github workflows 2024-09-13 14:29:49 +02:00
Klaas van Schelven
8ae2510a2a makemigrations --check as part of tests
I briefly considered making this a separate job, but I can't really justify that;
the 'separate' job would have to do all kinds of similar setup (pip install), and
to what end really? Broken is broken, I just want a notification. I'll see quickly
enought that it's about makemigrations
2024-09-13 14:28:30 +02:00
Klaas van Schelven
386057be5b Explicitly point out licences of dependencies and included components in our own LICENCE 2024-09-13 14:17:12 +02:00
Klaas van Schelven
2e8d6eee34 Add LICENCE to sentry directory
As per the git-log, the contents of that directory were actually copied to
Bugsink from GlitchTip at GlitchTip's commit af9a700a8706, but GlitchTip itself
had copied it from Open Source Sentry, as noted in the LICENCE that they
included in their sentry directory.

(Checking Bugsink's git-log, I see that some code has since been removed from
the sentry directory, but other than that nothing substantial has been
changed).
2024-09-13 14:02:02 +02:00
Klaas van Schelven
985854230d Reorganize github actions into single workflow
Easier to click on the right thing and see everything on one page
2024-09-13 11:55:38 +02:00
Klaas van Schelven
55aa917436 Integration test using the extracted event-samples 2024-09-13 11:46:25 +02:00
Klaas van Schelven
497fbacb03 Remove event-samples from codebase
Properly sourced and licensed they are now at https://github.com/bugsink/event-samples
2024-09-13 11:11:12 +02:00
Klaas van Schelven
eec8d51491 Remove various non-TODOs
either already done, or more of a 'this is a way this code could potentially
evolve in the future' (but not a 'we must do this')
2024-09-13 10:05:22 +02:00
Klaas van Schelven
79c9413256 Remove TODO about indexing on Project (id, sentry_key)
This was probably about the making Project.objects.get(id, sentry_key)
more efficient, but

* I don't have an indication it's a bottleneck
* It may very well be turned into a get-by-id, check-for-key idiom,
  in which case the index won't help.
2024-09-13 10:03:20 +02:00
Klaas van Schelven
6f679bc172 Settings 'TODOs'; reflect current thinking on them 2024-09-13 09:52:06 +02:00
Klaas van Schelven
ff618099dc event-model TODOs: reorganize and reflect that these are not TODOs for now 2024-09-13 09:51:30 +02:00
Klaas van Schelven
98caf0ec55 Notifications: link to /accounts/preferences/ 2024-09-13 09:41:44 +02:00
Klaas van Schelven
3d66a60b41 Hide away links to admin interface 2024-09-13 09:12:28 +02:00
Klaas van Schelven
a118066129 Django admin forms: do not mess up my specially crafted fields please
* no stripping
* no introduction of '\r'
2024-09-12 14:08:46 +02:00
Klaas van Schelven
eb08bd562c When there's no (meaningful) release info, don't display it 2024-09-12 13:58:36 +02:00
Klaas van Schelven
e340fab784 SVG dropdown icons: properly grey-out when disabled
this went wrong in 0df5f891c4, when we turned these into SVGs
2024-09-12 13:34:56 +02:00
Klaas van Schelven
cdf08b6d46 Hide the thead-checkbox in the issue_list if there's no issues 2024-09-12 12:54:23 +02:00
Klaas van Schelven
49bf71731f Sprinkle atomic_for_request_method decorartr through users/views.py
<<mubles something about middleware>>
2024-09-12 12:46:12 +02:00
Klaas van Schelven
7b5aaca3ac Preferences form 2024-09-12 12:41:40 +02:00
Klaas van Schelven
9e4b326ab6 whitespace 2024-09-12 12:41:22 +02:00
Klaas van Schelven
10c91ccbdc fix tests
recently introduced (e59fd3a225) caching made it so that repeated calls to
create_release_if_needed no longer work if releases have been created in the
meantime.

In actual usage create_release_if_needed is always called on a single project
so I _think_ just calling `fresh` in the tests is good way to get to green
tests again.
2024-09-12 12:17:47 +02:00
Klaas van Schelven
d5c84ded0e Add system check for SINGLE_USER mode 2024-09-12 11:05:29 +02:00
Klaas van Schelven
7bae9a0c91 deduce_allowed_hosts developer ergnomics fix 2024-09-12 10:27:30 +02:00
Klaas van Schelven
7500649566 HTTPS configuration: implement 2 system-check warnings 2024-09-12 10:22:46 +02:00
Klaas van Schelven
e59fd3a225 Implement 'occurs_in_last_release' 2024-09-12 09:49:22 +02:00
Klaas van Schelven
a198eaf9df ALLOWED_HOSTS: deduce from BASE_URL 2024-09-12 09:15:44 +02:00
Klaas van Schelven
3064b1ec8c Add _sanitize to settings (initially: for BASE_URL)
I thought about removing the 'no trailing slash' remark everywhere, but that
would leave people that actually care about these things guessing. (with, without, both ok?)
2024-09-11 16:26:49 +02:00
Klaas van Schelven
c893293c50 textual, SDK setup (WIP) 2024-09-11 09:23:16 +02:00
Klaas van Schelven
288f25f7a1 in SINGLE_TEAM mode, don't show 'teams' on the homepage 2024-09-10 22:19:49 +02:00
Klaas van Schelven
952e00f79d USER_REGISTRATION: default to CB_MEMBERS
In the trade-off between "virality" (easy access) and security, I'd
like to err a bit more towards security for this case.

My current thinking: complete openness would be too surprising. And
at the level we're at post-commit, at least one more action must be
taken by the superuser before it's potentially out-of-control (that
action being: inviting someone who's then inviting the world)
2024-09-10 13:07:41 +02:00
Klaas van Schelven
1f03445554 Add settings view 2024-09-10 12:58:49 +02:00
Klaas van Schelven
02687ff9f4 Fix new-project permission-check
to match what I already had decided the model was, namely the condition for 'can_create'
in the project_list view
2024-09-10 09:02:30 +02:00
Klaas van Schelven
d4d292e4be Remove perm-based permission-checks
For now, sticking to "how it actually works" is more important than "what we
might need in the future". We don't have an admin-group with actually handed
out perms yet, and we do have the recommendation to create a superuser in the
installation docs. So let's just explicity check for that.

(I found these checks while working on actual breakage in the previous commit)
2024-09-10 08:51:00 +02:00
Klaas van Schelven
3b0b11d069 Fix team creation permissions
settings.TEAM_CREATION was simply unused; an oversight.
2024-09-10 08:48:46 +02:00
Klaas van Schelven
2e70197825 Add check_migrations command
this way, at least in the Docker setup, you'll get a meaningful error when you
try to start up a half-baked server
2024-09-09 15:31:14 +02:00
Klaas van Schelven
67cfbb58d7 Use 'monofy' package now that it is extracted 2024-09-04 22:54:27 +02:00
Klaas van Schelven
ce6fe06315 Update tagline 2024-09-04 09:22:52 +02:00
Klaas van Schelven
dfcfb41ea9 Remove another comment about ALLOWED_HOSTS
We already removed this one from the place where it matters most, i.e. the
recommended template.

The key bit of info is: the hard bit is in doing this for HTTPS/SSL, because
in that case you don't have a certificate (it could be for any web address).
Details are in the website's repo, in templates/production-install.html.
2024-09-04 09:14:08 +02:00
Klaas van Schelven
e18cdac8ea Ignore built Docker images 0.1.8 2024-08-29 11:02:50 +02:00
Klaas van Schelven
68c556cdca Comment update about WAL & Snappea 2024-08-29 10:23:10 +02:00