Bug 437660

Summary: Webshortcuts runner is not triggered if the query string contains certain characters
Product: [Plasma] krunner Reporter: Kishore Gopalakrishnan <kishore96>
Component: webshortcutsAssignee: Alexander Lohnau <alexander.lohnau>
Status: RESOLVED FIXED    
Severity: normal CC: nate, plasma-bugs
Priority: NOR    
Version: 5.21.90   
Target Milestone: ---   
Platform: Other   
OS: Other   
Latest Commit: Version Fixed In: 5.87
Sentry Crash Report:

Description Kishore Gopalakrishnan 2021-05-25 13:19:47 UTC
SUMMARY
The 'web shortcuts' runner does not appear if the query string (after the trigger word) contains a certain combination of characters (see reproduction steps)

STEPS TO REPRODUCE
1. Configure your web shortcuts runner such that 'g query' performs a search for "query" in some search engine (set the keyword delimiter to 'space'; if the keyword delimiter is 'colon', replace the space below by a colon)
2. Type: g "[]!"

OBSERVED RESULTS
No result offering to perform the search.

EXPECTED RESULTS
A result should appear offering to perform the requested search, such as appears when I type, say, `g test`. The particular combination of characters "[]!" seems to break something.

SOFTWARE VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.21.90
KDE Frameworks Version: 5.82.0
Qt Version: 5.15.2
Kernel Version: 5.12.6-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 8 × AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx
Memory: 21.5 GiB of RAM
Graphics Processor: AMD Radeon™ Vega 8 Graphics

ADDITIONAL INFORMATION
When I discovered this bug, I was attempting to run the query: 
g linux "[drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to initialize parser -125!"
; this is a bug that can be triggered by 'real-world' queries such as the above
Comment 1 Alexander Lohnau 2021-05-27 13:21:23 UTC
Can confirm the issues seems to exist for queries like:

<keyword><sperator><query>!<further query>

For example (with : as separator):
dd:testme!blablabla does not work
dd:testme! blablabla works
Comment 2 Bug Janitor Service 2021-09-23 04:57:09 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/590
Comment 3 Alexander Lohnau 2021-10-09 11:07:56 UTC
Git commit 44fa86cff899d9894ee5293bf4ebd7b63d16ffc5 by Alexander Lohnau.
Committed on 09/10/2021 at 05:53.
Pushed by alex into branch 'master'.

kuriikwsfiltereng: Fix quitting match logic if accidentally bang syntax is used

If we have found a bang-match it might be unintentionally triggered, because the ! character is contained in the query.
To avoid not returning any results we check if we can find a provider for the key,
if not we clear it and try the traditional query syntax
FIXED-IN: 5.87

M  +5    -0    autotests/kurifiltertest.cpp
M  +28   -14   src/urifilters/ikws/kuriikwsfiltereng.cpp

https://invent.kde.org/frameworks/kio/commit/44fa86cff899d9894ee5293bf4ebd7b63d16ffc5