SUMMARY The search just decides for you, when you're done typing into it. So when you get distracted for a second or need to correct a typo, your search term will often end up missing either a bit at the start or the end. I think that's annoying and the search should instead be more like KRunner, which can also load results as soon as you're typing, but doesn't decide when you're done typing into it. STEPS TO REPRODUCE (in case of pause) 1. Open discover or any get new thing and start typing 2. Pause for a moment, like you have to sneeze or your nose itches, or you forget how the app you're looking for is spelt and glance at your phone 3. Type again OBSERVED RESULT You have searched for whatever you typed at step 3, and lost everything from step 1 EXPECTED RESULT You have entered the whole search term that you were trying to search for STEPS TO REPRODUCE (in case of typo) 1. Open discover or any get new thing and start typing 2. Notice you have made a typo earlier 3. Use the left arrow key to navigate to said typo OBSERVED RESULT The cursor loses its position before you can get to your typo and the next keystroke clears the search field and you end up only searching for the letters you wanted to drop into your misspelled search term. EXPECTED RESULT You get to correct your typo SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: Fedora 35 (available in About System) KDE Plasma Version: 5.23.2 KDE Frameworks Version: 5.87.0 Qt Version: 5.15.2 ADDITIONAL INFORMATION I'm sorry guys, I'm a slow typer and I'm clumsy. Issue might be related to 437722, but I'm not sure, so I thought it best to submit this
IIRC the intention for this was to offer a "search as you type" functionality. However the delay before the search gets triggered means that it doesn't actually work for that, and I agree that the overall effect is surprising and somewhat unpleasant. IMO we should turn this off by default. It's public API so we can't remove it.
Actually I'm wrong. There's no delay by default, and Discover uses one. I guess the real problem is that the delay makes auto-accept not really work. Probably we should just turn off auto-accept in Discover because the two simply aren't a good match.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/discover/-/merge_requests/201
Git commit dea79d2ef4c56018166e0097443bdb6c7d427f14 by Nate Graham. Committed on 16/11/2021 at 18:16. Pushed by ngraham into branch 'master'. Don't auto-accept in the search field Search operations are network-intensive, so we can't have search-as-you-type. Currently Discover is trying to do it anyway, by auto-accepting after a 2.5 second delay. However this just isn't a good user experience, and makes the accept interval seem random and it can surprise you if you're not expecting it. When network limitations dictate that results can't be updated in real time, we should just fall back to making the user hit the return key. FIXED-IN: 5.24 M +4 -2 discover/qml/SearchField.qml https://invent.kde.org/plasma/discover/commit/dea79d2ef4c56018166e0097443bdb6c7d427f14