gitea/routers/web/repo
Hester Gong 6eb678374b
Refactor authors dropdown (send get request from frontend to avoid long wait time) (#23890)
Right now the authors search dropdown might take a long time to load if
amount of authors is huge.
Example: (In the video below, there are about 10000 authors, and it
takes about 10 seconds to open the author dropdown)

https://user-images.githubusercontent.com/17645053/229422229-98aa9656-3439-4f8c-9f4e-83bd8e2a2557.mov

Possible improvements can be made, which will take 2 steps (Thanks to
@wolfogre for advice):

Step 1:
Backend: Add a new api, which returns a limit of 30 posters with matched
prefix.
Frontend: Change the search behavior from frontend search(fomantic
search) to backend search(when input is changed, send a request to get
authors matching the current search prefix)

Step 2:
Backend: Optimize the api in step 1 using indexer to support fuzzy
search.

This PR is implements the first step. The main changes:
1. Added api: `GET /{type:issues|pulls}/posters` , which return a limit
of 30 users with matched prefix (prefix sent as query). If
`DEFAULT_SHOW_FULL_NAME` in `custom/conf/app.ini` is set to true, will
also include fullnames fuzzy search.
2. Added a tooltip saying "Shows a maximum of 30 users" to the author
search dropdown
3. Change the search behavior from frontend search to backend search

After:

https://user-images.githubusercontent.com/17645053/229430960-f88fafd8-fd5d-4f84-9df2-2677539d5d08.mov

Fixes: https://github.com/go-gitea/gitea/issues/22586

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: silverwind <me@silverwind.io>
2023-04-07 08:11:02 +08:00
..
actions Refactor commit status for Actions jobs (#23786) 2023-03-29 11:27:37 -04:00
activity.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
attachment.go Preserve file size when creating attachments (#23406) 2023-03-12 03:48:07 -04:00
blame.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
branch.go Make branches list page operations remember current page (#23420) 2023-03-14 13:11:38 +08:00
cherry_pick.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
commit.go Introduce GitHub markdown editor, keep EasyMDE as fallback (#23876) 2023-04-03 18:06:57 +08:00
compare.go Introduce GitHub markdown editor, keep EasyMDE as fallback (#23876) 2023-04-03 18:06:57 +08:00
download.go Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00
editor_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
editor.go Use graceful editorconfig loader to reduce errors when loading malformed editorconfigs (#21257) 2023-04-06 16:01:20 -04:00
find.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
helper_test.go Refactor authors dropdown (send get request from frontend to avoid long wait time) (#23890) 2023-04-07 08:11:02 +08:00
helper.go Refactor authors dropdown (send get request from frontend to avoid long wait time) (#23890) 2023-04-07 08:11:02 +08:00
http_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
http.go Use context parameter in services/repository (#23186) 2023-02-28 16:17:51 -06:00
issue_content_history.go Move helpers to be prefixed with gt- (#22879) 2023-02-13 17:59:59 +00:00
issue_dependency.go Add API to manage issue dependencies (#17935) 2023-03-28 13:23:25 -04:00
issue_label_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_label.go Introduce GitHub markdown editor, keep EasyMDE as fallback (#23876) 2023-04-03 18:06:57 +08:00
issue_lock.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
issue_stopwatch.go Speed up HasUserStopwatch & GetActiveStopwatch (#23051) 2023-02-27 13:46:00 -05:00
issue_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
issue_timetrack.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
issue_watch.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
issue.go Refactor authors dropdown (send get request from frontend to avoid long wait time) (#23890) 2023-04-07 08:11:02 +08:00
lfs.go Introduce path Clean/Join helper functions (#23495) 2023-03-21 16:02:49 -04:00
main_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
middlewares.go Use graceful editorconfig loader to reduce errors when loading malformed editorconfigs (#21257) 2023-04-06 16:01:20 -04:00
migrate.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
milestone.go Rename almost all Ctx functions (#22071) 2022-12-10 10:46:31 +08:00
packages.go Use dynamic package type list (#22263) 2022-12-29 00:31:54 +01:00
patch.go Redirect to the commit page after applying patch (#23056) 2023-02-24 16:56:41 +00:00
projects_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
projects.go Fix cancel button in the page of project edit not work (#23655) 2023-03-24 16:37:56 +08:00
pull_review.go Make Ctrl+Enter submit a pending comment (starting review) instead of submitting a single comment (#23245) 2023-03-04 02:13:37 -05:00
pull.go Refactor authors dropdown (send get request from frontend to avoid long wait time) (#23890) 2023-04-07 08:11:02 +08:00
release_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
release.go Refactor authors dropdown (send get request from frontend to avoid long wait time) (#23890) 2023-04-07 08:11:02 +08:00
render.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
repo.go Use context parameter in services/repository (#23186) 2023-02-28 16:17:51 -06:00
runners.go Implement actions (#21937) 2023-01-31 09:45:19 +08:00
search.go Fix improper HTMLURL usages in Go code (#22839) 2023-02-11 14:34:11 +08:00
setting_protected_branch.go Use context parameter in services/repository (#23186) 2023-02-28 16:17:51 -06:00
setting_secrets.go Add user secrets (#22191) 2023-02-01 20:53:04 +08:00
setting.go Use context parameter in services/repository (#23186) 2023-02-28 16:17:51 -06:00
settings_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
tag.go Add main landmark to templates and adjust titles (#22670) 2023-02-01 22:56:10 +00:00
topic.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
treelist.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
view_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
view.go Use graceful editorconfig loader to reduce errors when loading malformed editorconfigs (#21257) 2023-04-06 16:01:20 -04:00
webhook.go Add user webhooks (#21563) 2023-03-10 08:28:32 -06:00
wiki_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
wiki.go Use context parameter in models/git (#22367) 2023-01-09 11:50:54 +08:00