Commit Graph

1681 Commits

Author SHA1 Message Date
Klaas van Schelven
d0e7b75dbb Better hints for malformed Token headers 2025-09-26 15:15:31 +02:00
Klaas van Schelven
afd31d2263 API: datetime objects always in UTC
i.e. avoid the pain of time-conversions when 'talking with computers'.
2025-09-26 15:01:55 +02:00
Klaas van Schelven
0ca3e33e1f API: remove 'is_deleted' as a field
it's implicit(ly not so): soft-deleted items should
not be returned, and everything that's returned isn't
deleted
2025-09-26 13:53:51 +02:00
Klaas van Schelven
16eccea851 Fix null constraint failure when remote_addr is None and user is '{{auto}}'
Fix #229
2025-09-23 10:14:28 +02:00
Klaas van Schelven
3e0309a422 2.0.2 CHANGELOG 2.0.2 2025-09-22 21:07:20 +02:00
Klaas van Schelven
5913af4824 Checkbox: restore dark mode to pre-migration behavior
Before the Tailwind 4 migration, checkboxes behaved as follows:

  Light mode
    checked   → cyan bg + white checkmark
    unchecked → white bg
  Dark mode
    checked   → cyan bg + white checkmark
    unchecked → dark bg

In the last commit, we fixed white-on-white, but because we removed
dark:bg-... as well, unchecked boxes in dark mode regressed to white,
standing out like a sore thumb against the dark background.

The current commit adds back the pre-migration behavior; it's not
actually a value-judgement on it other than "it was at least functioning".
(this non-value-judgement is directed at "do I really like cyan bg + white
checkmark in dark mode... I might not)

Fix #225
2025-09-22 20:34:25 +02:00
Klaas van Schelven
0b863b97a4 Checkbox styling: remove bg-white to fix invisible checkmark
After upgrading to Tailwind 4, the styled checkbox showed no checkmark when
checked. DevTools inspection showed a white-on-white rendering: the checkmark
SVG was filled white while the background was also white. Removing the
bg-white class restores the intended text-* color, making the checkmark
visible again.

The class bg-white was added in 4c8fb20daa i.e. in our first attempt
to get a non-ugly checkbox styling; whether it was "ever needed for realz"
is of historic interest mostly.

Fix #225
2025-09-22 16:39:44 +02:00
Klaas van Schelven
e60fbb2cd5 Fix invalid focus:ring-3-* classnames from migration
Tailwind 3 -> 4 migration renamed `ring` -> `ring-3`, but colors like
`ring-cyan-200` were also changed to `ring-3-cyan-200` which doesn't
actually exist.

broken in ac8e2e8cd6

See #225 (the present commit is related, but not a full fix)
2025-09-22 09:50:35 +02:00
Klaas van Schelven
4d3756f621 API: leave notes on get_object's future 2025-09-18 20:12:28 +02:00
Klaas van Schelven
3f6e062bed Merge pull request #223 from bugsink/dependabot/pip/python-packages-fe51b871b5
Update whitenoise requirement from ==6.10.* to ==6.11.* in the python-packages group
2025-09-18 19:42:24 +02:00
dependabot[bot]
1e81c95924 Update whitenoise requirement in the python-packages group
Updates the requirements on [whitenoise](https://github.com/evansd/whitenoise) to permit the latest version.

Updates `whitenoise` to 6.11.0
- [Changelog](https://github.com/evansd/whitenoise/blob/main/docs/changelog.rst)
- [Commits](https://github.com/evansd/whitenoise/compare/6.10.0...6.11.0)

---
updated-dependencies:
- dependency-name: whitenoise
  dependency-version: 6.11.0
  dependency-type: direct:production
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-18 15:16:04 +00:00
Klaas van Schelven
018e934bdb Reference sourcemaps instruction in JS SDK page 2025-09-17 20:49:22 +02:00
Klaas van Schelven
cc343d4f2c GitHub workflows: add minimal test for the Docker build (#221) 2025-09-16 12:19:16 +02:00
Klaas van Schelven
03081407cd 2.0.1 CHANGELOG 2025-09-16 12:13:58 +02:00
Klaas van Schelven
7bf74fda67 Merge pull request #220 from bugsink/workflow-do-test-without-settings
GitHub workflows: bugsink-manage in settingless mode
2025-09-16 11:50:25 +02:00
Klaas van Schelven
88bc283939 GitHub workflows: bugsink-manage in settingless mode
Fix #219
2025-09-16 11:44:03 +02:00
Klaas van Schelven
aa799e9c94 Fix import order between Bugsink and DRF
Move DRF/OpenAPI authentication import out of bugsink/__init__.py into
bugsink/authentication.py.

Before: running bugsink-manage imported the bugsink package, whose __init__
pulled in drf_spectacular → DRF → DRF’s api_settings before Django settings
were configured, raising ImproperlyConfigured. (Did not happen in dev where
apps are loaded after settings.)

After: DRF is first touched during server load via urls → routers → views →
schemas. Only then does DRF’s api_settings resolve DEFAULT_AUTHENTICATION_CLASSES,
importing bugsink.authentication at a point where settings are already ready.
2.0.1
2025-09-16 11:08:21 +02:00
Klaas van Schelven
e346f8d5c2 Fix useradd in Dockerfile*
exposed while trying to release 2.0.0
2025-09-16 10:55:29 +02:00
Klaas van Schelven
4fd0ba04fd Update hardcoded list of branches in GitHub CI workflow
in anticipation of the upcoming 2.0 release
see 87f5a5887e
2.0.0
2025-09-16 08:58:47 +02:00
Klaas van Schelven
5a950c2238 Docker compose sample: fix major Bugsink version at 2
In #207 we introduced the idea of pinning; but now that we're about
to release 2.0, let's immediately update the pin
2025-09-16 08:53:08 +02:00
Klaas van Schelven
ef6f896604 CHANGELOG 2.0.0 2025-09-16 08:51:59 +02:00
Klaas van Schelven
833776c646 tailwind: add dark-mode default for border color
Enhance the border-color patch by adding a dark-mode default (slate-800).
2025-09-15 16:41:36 +02:00
Klaas van Schelven
1611ea45d2 Merge pull request #211 from bugsink/canonical-api
"Canonincal" (Bugsink-specific) API: first version
2025-09-15 16:41:25 +02:00
Klaas van Schelven
8b241f0a11 Fix: trim trailing whitespace in stacktrace markdown
Chose to fix output, not loosen the test: trailing spaces are invisible
noise, vary by editors/OS, and break deterministic rendering in Markdown.
Stripping them makes output more useful in general and avoids flaky diffs.
2025-09-15 16:37:28 +02:00
Klaas van Schelven
4d18008cd8 Bandit fixes
also brings the exception-handling of apply_sourcemaps inline
w/ issues/views.py (as promised per the module header)
2025-09-15 16:29:06 +02:00
Klaas van Schelven
d3fd513e43 Remove 'last' handling of exceptions md
you generally just want the whole stacktrace, I'd say
2025-09-15 16:24:59 +02:00
Klaas van Schelven
17007d5f55 MarkDown: in the regular UI too
See #127
2025-09-15 15:28:07 +02:00
Klaas van Schelven
5bb4dc1f20 Expose event stacktrace as markdown
Adds a `stacktrace_md` field to EventSerializer and a `/stacktrace` action
returning the same markdown (but as the full response).

Also switches `data` to use `get_parsed_data()` (as it should have) and
in json dict format (rather than str).
2025-09-15 15:13:02 +02:00
Klaas van Schelven
60b44de89c Merge pull request #208 from LennardSchwarz/small-mem-footpringt-postgres
Migrate docker compose example to alpine postgres
2025-09-14 14:52:31 +02:00
Klaas van Schelven
c3541676ca Merge pull request #203 from faxi05/main
Improve Slack alerts to work with Mattermost.
2025-09-14 14:39:00 +02:00
Klaas van Schelven
f0a2bb753a Merge pull request #207 from LennardSchwarz/add-version-1-in-docker-compose
Specify major bugsink verison in docker compose example
2025-09-14 14:38:10 +02:00
Lennard Schwarz
da76462f94 Rename docker compose sample; Migrate to alpine postgres
Rename

Rename file
2025-09-14 14:36:44 +02:00
Lennard Schwarz
7d9aab510f Fix major bugsink verison in docker compose example 2025-09-14 14:33:41 +02:00
Klaas van Schelven
160e724c0b Merge pull request #209 from LennardSchwarz/rename-compose-file
Rename compose-sample.yml to docker-compose-sample.yml
2025-09-14 11:28:30 +02:00
Lennard Schwarz
c3e4a93bf5 Rename compose file to docker compose 2025-09-13 18:17:34 +02:00
Klaas van Schelven
bfcbf8005a Note/comment about CursorPagination vs other approaches 2025-09-12 17:28:10 +02:00
Klaas van Schelven
0fb81b29ae markdown_stacktrace util: display an event's stacktrace in markdown 2025-09-12 16:41:39 +02:00
Klaas van Schelven
3156f05756 Refactoring into the factory style
done while trying to fix an unrelated error; keeping this as a
stylistic change regardless
2025-09-12 11:49:32 +02:00
Klaas van Schelven
a4e84fa0a3 Add Swagger using drf-spectacular
See #146

DRF 3.16 and Django 5.2 are not in drf-spectacular's published
list of supported but here's some sources that give reason to believe
they are supported _in practice_:

* https://github.com/tfranzel/drf-spectacular/issues/1417
* https://github.com/tfranzel/drf-spectacular/issues/1414
2025-09-12 11:46:44 +02:00
Klaas van Schelven
9ad66d7b50 API: adhere to Bugsink's DB-transactional model
as per https://www.bugsink.com/blog/database-transactions/
2025-09-11 18:01:05 +02:00
Klaas van Schelven
1c0745f24f API: support expand=...
(implemented only for project.team for now, but in a generic way
2025-09-11 17:38:42 +02:00
Klaas van Schelven
7bf906a8fd API: Release Pagination
this also fixes the index on releases (since they are always ordered
in the context of a particular project, this should be part of the
index)

See #146
2025-09-11 16:53:15 +02:00
Klaas van Schelven
07b792775a API pagination 2025-09-11 16:52:14 +02:00
Klaas van Schelven
30ae7881aa Teams & Projects API
See #146
2025-09-11 09:55:32 +02:00
Klaas van Schelven
c222581951 Add tests for create_release_if_needed 2025-09-11 09:55:23 +02:00
Klaas van Schelven
ee5b49e951 API: Sketch TODO for grouping_key[s] fields
See #146
2025-09-11 09:55:21 +02:00
Klaas van Schelven
b0b2573d17 Releases API
Fix #191
See #146
2025-09-11 09:55:15 +02:00
Klaas van Schelven
829cea1a80 detection of a new release through an event ⇏ triggering of a TurningPoint
This more exactly expresses semantics by itself, and is also in preparation of
creating releases through the API (which have no triggering event)

See #146
2025-09-11 09:55:09 +02:00
Klaas van Schelven
3bab02fda2 API: Remove global Grouping routes
grouping will return later as Issue.grouping_keys & Event.grouping_key
i.e. with the relevant info directly resolved

See #146
2025-09-11 09:55:01 +02:00
Klaas van Schelven
c4c749d1e4 Issues API
See #146
2025-09-11 09:54:51 +02:00