feat(core): fill the unified search pending window with placeholders - #63343
Merged
Conversation
pringelmann
force-pushed
the
feat/search-skeleton-loaders
branch
2 times, most recently
from
August 18, 2026 07:44
1358c60 to
1567632
Compare
pringelmann
commented
Aug 18, 2026
| const RESULTS_PER_CATEGORY = 3 | ||
|
|
||
| /** Fallback when there is no results box on screen to measure. */ | ||
| const DEFAULT_HELD_HEIGHT_PX = 332 |
Contributor
Author
There was a problem hiding this comment.
Default derived from three providers with one result each. We can tweak this over time if its too jumpy.
Another solution is to keep a running average height stored in localstorage, but that feels like overkill
Contributor
Author
There was a problem hiding this comment.
Or not show any placeholders at all on first search (empty list with only loading spinner indicating state)
pringelmann
force-pushed
the
feat/search-skeleton-loaders
branch
2 times, most recently
from
August 18, 2026 08:22
ac8bc1e to
5b490fe
Compare
pringelmann
marked this pull request as ready for review
August 18, 2026 08:24
pringelmann
requested review from
artonge,
kra-mo,
kristian-zendato,
skjnldsv,
sorbaugh and
susnux
and removed request for
a team
August 18, 2026 08:24
pringelmann
force-pushed
the
feat/search-skeleton-loaders
branch
from
August 18, 2026 09:02
5b490fe to
774f189
Compare
Merged
artonge
approved these changes
Aug 18, 2026
artonge
reviewed
Aug 18, 2026
artonge
left a comment
Collaborator
There was a problem hiding this comment.
Some comments seem superfluous
kra-mo
approved these changes
Aug 18, 2026
kra-mo
left a comment
Member
There was a problem hiding this comment.
Amazing! Works really really well :)
Contributor
Author
Shortened them and removed some |
Contributor
Author
susnux
approved these changes
Aug 18, 2026
pringelmann
force-pushed
the
feat/search-skeleton-loaders
branch
from
August 18, 2026 14:07
7dc149c to
eec32a8
Compare
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
Signed-off-by: Peter Ringelmann <peter.ringelmann@nextcloud.com>
pringelmann
force-pushed
the
feat/search-skeleton-loaders
branch
from
August 19, 2026 06:29
eec32a8 to
2b523a5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
The new unified search bar clears its results on every keystroke, so the panel collapses to the filter row for the debounce plus the request, then jumps back down as category results arrive. Two jumps per letter typed.
Now it maintains the height it had and fills the gap with skeleton placeholders: a heading bar, then result-height rows. Resizes now also animate instead of snapping. (respecting user's preferred motion setting)
Before
Kooha-2026-08-18-08-51-13.webm
After
Kooha-2026-08-18-08-49-52.webm
-> Preview link <-
u:
bobp:bobManually tested
Checklist
3. to review, feature component)stable32)AI (if applicable)