Commit Graph

19 Commits

Author SHA1 Message Date
Klaas van Schelven 3e2bc290fd Fix typo in 'breadcrumbs' first/last urls.py 2025-07-04 17:33:02 +02:00
Klaas van Schelven 1eea9268a5 Optimization: Search on EvenTag without involving Event if possible
When searching by tag, there is no need to join with Event; especially when
just counting results or determining first/last digest_order (for navigation).

(For the above "no need" to be actually true, digest_order was denormalized
into EventTag).

The above is implemented in `search_events_optimized`.

Further improvements:

* the bounds of `digest_order` are fetched only once; for first/last this info
  is reused.

* explicitly pass `event_qs_count` to the templates

* non-event pages used to calculate a "last event" to generate a tab with a
  correct event.id; since we simply have the "last" idiom, better use that.
  this also makes clear the "none" idiom was never needed, we remove it again.

Results:

Locally (60K event DB, 30K events on largest issue) my testbatch now
runs in 25% of time (overall).

* The effect on the AND-ing are in fact very large (13% runtime remaining)
* The event details page is not noticably improved.
2025-03-12 20:38:07 +01:00
Klaas van Schelven 4cde74d7cb Event search: first version 2025-03-04 13:51:56 +01:00
Klaas van Schelven 5930740e0b Tags: as a separate tab 2025-03-03 12:56:20 +01:00
Klaas van Schelven b76e474ef1 Navigation: fix for missing events
Now that we have eviction, events may disappear. Deal with it:

* event-specific 404 that still allows for navigation
* first/last buttons
* navigation to prev/next when prev/next is not just 1 step away
* don't use HttpRedirect for "lookup based" views
    in principle, the thing you were looking for might go missing in-between
    drawback: these URLs are not "stable"
2024-07-19 11:03:08 +02:00
Klaas van Schelven c01d332e18 Rename ingest_order to digest_order and clarify event_count
* issue.event_count to digested_event_count
* event.ingest_order to event.digest_order
* issue.ingest_order to digest_order

This is generally more correct/explicit, and is also in preparation
of doing work on-digest (which may or may not happen)
2024-07-16 15:23:40 +02:00
Klaas van Schelven 308a257d3f Implement comment-deleting 2024-04-15 16:02:03 +02:00
Klaas van Schelven 6b23b03a82 History: edit (and fixes) 2024-04-15 13:44:14 +02:00
Klaas van Schelven 26aac0ca2c Manual annotations: create 'm
and some non-completed code for editing
2024-04-15 12:58:50 +02:00
Klaas van Schelven dcd154f74d History: link to triggering event when it is available 2024-04-15 10:46:23 +02:00
Klaas van Schelven 1b37298a95 ingest_order: first setup 2024-04-08 22:13:52 +02:00
Klaas van Schelven 37575a7001 Breadcrumbs, at least implement _something_ 2024-03-31 23:04:15 +02:00
Klaas van Schelven 3bda3d25cc project_id => project_pk, at least in urls and view signatures
some consistency
2024-03-26 23:13:49 +01:00
Klaas van Schelven 6b8a723569 Clickable tabs in the issue-detail; nothing works yet but we have a skeleton 2024-03-21 18:20:15 +01:00
Klaas van Schelven 5e49fdd0dd Add concept of 'open' (neither resolved nor muted)
and push Resolved down in the tab-order (it's less likely relevant than
muted issues are)
2024-03-08 20:18:28 +01:00
Klaas van Schelven 37c2ab599b Don't use app namespaces in urls; it breaks reverse-with-function-param
https://stackoverflow.com/questions/78035103/in-django-is-it-possible-to-use-reverse-redirect-with-a-view-function-not-stri
2024-02-21 20:20:21 +01:00
Klaas van Schelven 0390292a8b Tabs on the list-view 2024-02-21 19:06:34 +01:00
Klaas van Schelven 6db3f94eb6 View events only as part of an issue 2023-11-14 19:14:53 +01:00
Klaas van Schelven 972fd99697 Issue model introduced and used 2023-11-05 17:43:05 +01:00