Commit Graph

474 Commits

Author SHA1 Message Date
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
eeac2e750c Link to 'all tags' in the 'tags' RHS box 2025-11-16 20:08:50 +01:00
Klaas van Schelven
f5605c8d0e Tags on issue-tags page: tailwind-based histograms 2025-11-15 16:13:05 +01:00
Klaas van Schelven
1829465342 Merge pull request #270 from bugsink/minidumps
Minidumps: PoC
2025-11-15 13:43:36 +01:00
Klaas van Schelven
2660e1b027 Rendering of events w/ frames=None: be robust for it 2025-11-15 13:04:37 +01:00
Klaas van Schelven
5757b4f9b5 Typo in comment 2025-11-12 21:03:03 +01:00
Klaas van Schelven
690a92a1f9 Merge branch 'main' into minidumps 2025-11-09 21:56:18 +01:00
Klaas van Schelven
a6ead89ca8 Remove event.debug_info
basically unused
2025-11-09 20:58:39 +01:00
Klaas van Schelven
e7aad45db2 Minidumps: PoC for minidump 'endpoint'
See #82
2025-11-04 10:47:04 +01:00
Klaas van Schelven
dcaa1d5e72 Fix redirect on single-click actions when hosting at subdomain
`path_info` (pre-commit siutation) is precisely w/o script_name, but you
want to just redirect to where you are, which is `path`.

Fix #250, See #93
See:

https://docs.djangoproject.com/en/5.2/ref/request-response/#django.http.HttpRequest.path_info
https://docs.djangoproject.com/en/5.2/ref/request-response/#django.http.HttpRequest.path
2025-10-22 09:52:16 +02:00
Klaas van Schelven
9cb89ecf46 Markdown stacktrace: render with all frames
not just in-app ones;

basic principle: more info means the LLM (or whatever) has more to go by
2025-10-10 09:19:11 +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
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
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
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
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
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
07b792775a API pagination 2025-09-11 16:52:14 +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
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
Klaas van Schelven
63c54b2107 Comment about is_deleted & indexes 2025-09-10 09:02:44 +02:00
Klaas van Schelven
1262719e4b Comments about (SDK-generated) event_id's uniqueness
'original sin' in 238fb6dda7
2025-09-09 21:13:54 +02:00
Klaas van Schelven
4c2c26743e Canonical API 'skeleton': urls & views
this gives me something to look at and work with, despite
being wildly incomplete

See #146
2025-09-09 10:07:10 +02:00
Klaas van Schelven
a4ecd386b6 Support hosting at subpath
"In principle" setting `SCRIPT_NAME` is enough. The way we do this is [1] using
`FORCE_SCRIPT_NAME` (which does not depend on messing with reverse proxy
settings and [2] by deducing the correct value from `BASE_URL` (which must be
set anyway) automatically.

By works I mean: `reverse` and `{% url` pick it up from there.

However, there are subtleties / extra work:

* `STATIC_URL` is needed too b/c https://code.djangoproject.com/ticket/34028

* in many pre-existing code I just created a path manually in the html. Such
  hrefs are obviously not magically fixed for script_name. Rather than doing
  the "full rewrite" (into `{% url`) this commit just prepends the
  `script_name` in those cases. That's the way forward that will least likely
  break and it gives us something to grep for if we ever want to 'do it
  right'.

* `LOGIN_REDIRECT_URL` and `LOGIN_URL` needed to use a view-name for this to
  work (using a view-name gets revolved using the thing that introduces
  `script_name`)

Checked, no work needed:

* views (`redirect` and `HttpResponseRedirect`)
* html uses of action="..."

Fix #93
2025-09-05 22:47:22 +02:00
Klaas van Schelven
ad8a2a5e4f Tailwind 3 => 4: bg-opacity "folded into bg"
https://tailwindcss.com/docs/upgrade-guide#renamed-utilities
2025-09-04 13:20:22 +02:00
Klaas van Schelven
610e7b1c17 Tailwind 3 => 4: rounded => rounded-sm
https://tailwindcss.com/docs/upgrade-guide#renamed-utilities
2025-09-04 13:20:22 +02:00
Klaas van Schelven
ac8e2e8cd6 Tailwind 3 => 4: ring => ring-3
https://tailwindcss.com/docs/upgrade-guide#renamed-utilities
2025-09-04 13:20:22 +02:00
某亚瑟
2b5fb1bf67 Basically completed i18n support, and Chinese translation
Implement most Chinese text translations, adding default recognition browser language and user settings language
2025-08-02 10:25:19 +08:00
Klaas van Schelven
354af7ea0a Fix issues as reported by bandit or mark as nosec
Nothing worrying, but good to have checked this regardless
and important to have a green pipeline.

Fix #175
2025-07-30 12:16:40 +02:00
Klaas van Schelven
9b8409d8b2 Global trailing whitespace cleanup 2025-07-29 12:53:10 +02:00
Klaas van Schelven
ceca12940b Breadcrumb timestamps: display harmonized w/ rest of application
in the correct timezone, with smaller milis

According to the spec, this should work because:

> The timestamp of the breadcrumb. Recommended. A timestamp representing when
> the breadcrumb occurred. The format is either a string as defined in [RFC
> 3339](https://tools.ietf.org/html/rfc3339) or a numeric (integer or float)
> value representing the number of seconds that have elapsed since the [Unix
> epoch](https://en.wikipedia.org/wiki/Unix_time). Breadcrumbs are most useful
> when they include a timestamp, as it creates a timeline leading up to an
> event.
2025-07-28 10:24:48 +02:00
Klaas van Schelven
6b8d912e1a Store remote_addr on the event
Fix #165
2025-07-25 21:54:32 +02:00
Klaas van Schelven
c4fe1c1292 Debug IDs for missing sourcemaps: show them right in the stacktrace
See #158
2025-07-23 10:57:30 +02:00
Klaas van Schelven
1983633b38 Sourcemap Images IDs: show those in event_details
See #158
2025-07-23 10:38:45 +02:00
Klaas van Schelven
fd80eff7ca Migration fix: delete TurningPoints w/ project=None
Fix #155
2025-07-17 14:41:27 +02:00
Klaas van Schelven
45ad2aceec Dark mode: use monokai style from pygments
Fix #152
2025-07-17 09:45:22 +02:00
Klaas van Schelven
421ac91dc5 Fix overflow issue when function-names are very long
As per the "little red box on" #120
2025-07-15 10:35:16 +02:00
Klaas van Schelven
ae2bc56c04 Text-overflow for issue pages (date and '1 of 1 total')
> that "10 july ... event 1 of 1 total" should get overflow properties just like the exception.type below it.

See #120
2025-07-15 10:23:55 +02:00
Klaas van Schelven
89accddc2f Fix wasted space at certain width in stacktrace UI
* The "collapse" etc. buttons get shown below the search box and < << >> > from
  a certain width downwards.

* similar stacking for the date/type/value and the buttons at an even smaller width.

See #120
2025-07-15 09:41:35 +02:00