- in some cases when super-admins or all repos in root loading main
page could take minutes because we loaded whole dataset.
- this change make the loading limited to first page of data.
Rest is loaded via DB pagination
- In many cases this is major speed-up for showing 1st page fast.
- this was part of new UI that we didn't ship in 4.17
- makes whole UX more consistent and has a single creation path for many different objects
- this is ready for more actions in future
- context actions change if we're in repo group or repo
- new users has creation option available if their personal repository group exist.
- when in repo group searcher are ordered by the entries in the group
- support prefixes with spaces, eg file: PATTERN
- new contextual search for groups/repos with mark token
- better suggestions
- expose search into main NAV
- have repo group search filter using new ES lang
- show token keys and curretn context when searching
- ui updated and consistency fixes
- elasticsearch new query lang and searcher
- much more advanced query lang
- added context aware search in repository groups, repository, commits, files view
- optimized quick search bar speed when using full text search
- added option to increase hits per file number from query URL using max_lines
- search results can be now marked inside a text file using ?mark=HIGHLIGHT_TEXT added to the url
- mainly driven by customer feedback
- two filter boxes on main page was confusing, and people constantly asked if grid filter can search recursive
- now we use one unified search on main nave accessible on every page
- it now also can search for users
- dependencies: bumped:
-setuptools-scm==1.15.6
-celery==4.1.0
-kombu==4.1.0
-pytz==2017.3
-Routes==2.4.1
Removed all pylons components. Refactored the code to use only pyramid
parts
- Previous implementation had on significant bug. The use of LIMIT 20
was limiting results BEFORE auth checks. In case of large ammount of similarly
named repositories user didn't had access too, the result goto search was empty.
This was becuase first 20 items fetched didn't pass permission checks and final
auth list was empty.
To fix this we now use proper filtering for auth using SQL. It means we first check
user allowed repositories, and add this as a filter so end result from database is already
to only the accessible repositories.
- previous solution could make the go-to swticher slow in case of huge search index
- mixing repository names and commit names could lead to bad UX when searching
- explicit case still allows this, but user is in the control how and what he wants to search
- fixes#5375