mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
177fe78e60
This is intended to improve performance for large installations of OpenProject, where a single user can see many projects. Instead of loading all visible projects eagerly, we only load about 300 projects, plus a few more to make sure that the user experience is not affected too badly (e.g. ancestors of all projects shown and the current project the user has opened). To still allow finding any project, the filtering according to the typed search term now also happens on the backend side, so typing will cause additional backend requests. For small installations (< 300 projects) the difference in behaviour should be small: We only perform a single API request to load the project list. The main difference is, that typing causes further API requests, but they should be quick anyways. An increase in number of API requests is plausible though (due to requests after typing). Large installations should see a significant drop in perceived loading times, because it's not necesarry to wait for pagination across all projects to finish, instead a constant number of requests - with a lower response time each - is sufficient. A decrease in number of requests is plausible here, because requests after typing might well be below a single full pagination. Also request concurrency should decrease.