forgejo/models/issues
Litchi Pi dc7f5d6b84 feat(ui): create a comment aggregator to reduce noise in issues (#6523)
Closes: https://codeberg.org/forgejo/forgejo/issues/6042
Continuation of: https://codeberg.org/forgejo/forgejo/pulls/6284
Replaces: https://codeberg.org/forgejo/forgejo/pulls/6285
Context: https://codeberg.org/forgejo/forgejo/pulls/6284#issuecomment-2518599

Create a new type of comment: `CommentTypeAggregator`

Replaces the grouping of labels and review request in a single place: the comment aggregator

The whole list of comments is "scanned", if they can get aggregated (diff of time < 60secs, same poster, open / close issue, add / del labels, add /del review req), they are added to the aggregator.
Once needed, the list of all the aggregated comments are replaced with a single aggregated comment containing all the data required.

In templates, have a specific HTML rendering part for the comment aggregator, reuse the same rendering as with the other types of comments.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6523
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
Co-authored-by: Litchi Pi <litchi.pi@proton.me>
Co-committed-by: Litchi Pi <litchi.pi@proton.me>
2025-03-05 17:24:51 +00:00
..
TestGetUIDsAndStopwatch fix: use better code to group UID and stopwatches 2024-11-16 15:59:02 +01:00
action_aggregator.go feat(ui): create a comment aggregator to reduce noise in issues (#6523) 2025-03-05 17:24:51 +00:00
assignees.go Performance improvements for pull request list API (#30490) 2024-06-02 16:26:54 +02:00
assignees_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
comment.go feat(ui): create a comment aggregator to reduce noise in issues (#6523) 2025-03-05 17:24:51 +00:00
comment_code.go Do some performance optimize for issues list and view issue/pull (gitea#29515) 2024-04-08 14:47:31 +02:00
comment_list.go fix: never set Poster or Assignee to nil 2024-07-29 15:24:02 +02:00
comment_list_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
comment_test.go Fix issue comment number (#30556) 2025-01-05 12:21:39 +00:00
content_history.go [BUG] Ensure HasIssueContentHistory takes into account comment_id 2024-02-29 18:23:06 +01:00
content_history_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
dependency.go Penultimate round of db.DefaultContext refactor (#27414) 2023-10-11 04:24:07 +00:00
dependency_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
issue.go chore: Remove ChangeMilestoneStatus (#6741) 2025-01-30 11:09:53 +00:00
issue_index.go Do not update PRs based on events that happened before they existed 2024-04-11 11:16:23 +02:00
issue_index_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
issue_label.go chore(refactor): split ReloadLabels out of LoadLabels in issue model 2024-11-07 11:05:38 +01:00
issue_label_test.go chore(refactor): split ReloadLabels out of LoadLabels in issue model 2024-11-07 11:05:38 +01:00
issue_list.go fix: never set Poster or Assignee to nil 2024-07-29 15:24:02 +02:00
issue_list_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
issue_lock.go Penultimate round of db.DefaultContext refactor (#27414) 2023-10-11 04:24:07 +00:00
issue_project.go fix(sec): permission check for project issue 2025-02-08 07:22:10 +00:00
issue_project_test.go fix(sec): add tests for private issues on projects 2025-02-08 07:22:10 +00:00
issue_search.go Optimization of labels handling in issue_search (#4228) 2024-06-28 05:11:57 +00:00
issue_stats.go [Feat]Add link to show all Issues/PullRequests (#4125) 2024-10-09 04:56:40 +00:00
issue_stats_test.go [Feat]Add link to show all Issues/PullRequests (#4125) 2024-10-09 04:56:40 +00:00
issue_test.go Update module github.com/golangci/golangci-lint/cmd/golangci-lint to v1.64.6 (forgejo) (#7118) 2025-03-04 21:38:35 +00:00
issue_update.go fix(web): forbid blocked users from reopening issues (#7010) 2025-03-01 12:39:52 +00:00
issue_user.go Add combined index for issue_user.uid and issue_id (#28080) 2023-12-14 09:26:59 +00:00
issue_user_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
issue_watch.go Strict pagination check (#32548) 2024-12-01 07:56:45 +01:00
issue_watch_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
issue_xref.go [CLEANUP] make golangci-lint@v1.56.1 happy 2024-02-15 16:19:36 +01:00
issue_xref_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
label.go Support org labels when adding labels by label names (#32988) 2024-12-28 19:32:09 +00:00
label_test.go refactor: remove redundant err declarations (#32381) 2024-11-05 09:33:15 +01:00
main_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
milestone.go chore: Remove ChangeMilestoneStatus (#6741) 2025-01-30 11:09:53 +00:00
milestone_list.go [PORT] Added default sorting milestones by name (gitea#27084) 2024-07-22 14:55:58 +02:00
milestone_test.go chore: Remove ChangeMilestoneStatus (#6741) 2025-01-30 11:09:53 +00:00
pull.go chore: Remove ChangeMilestoneStatus (#6741) 2025-01-30 11:09:53 +00:00
pull_list.go Allow filtering PRs by poster in the ListPullRequests API (#32209) 2024-10-13 07:58:01 +03:00
pull_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
reaction.go Strict pagination check (#32548) 2024-12-01 07:56:45 +01:00
reaction_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00
review.go Fix issue comment number (#30556) 2025-01-05 12:21:39 +00:00
review_list.go Fix the logic of finding the latest pull review commit ID (#32139) 2024-10-06 07:44:28 +02:00
review_test.go Fix the logic of finding the latest pull review commit ID (#32139) 2024-10-06 07:44:28 +02:00
stopwatch.go Strict pagination check (#32548) 2024-12-01 07:56:45 +01:00
stopwatch_test.go fix: use better code to group UID and stopwatches 2024-11-16 15:59:02 +01:00
tracked_time.go Strict pagination check (#32548) 2024-12-01 07:56:45 +01:00
tracked_time_test.go Add testifylint to lint checks (#4535) 2024-07-30 19:41:10 +00:00