Keep AppLibrary scans out of login shells (#6815)
* Keep AppLibrary scans out of login shells A login shell sources the user's profile, and tools like mise touch ~/.local/share on activation. Quickshell's desktop-entry watcher monitors that tree, so every scan retriggered another scan: a self-sustaining loop that pinned ~20% of a core at idle. The scans only use bash builtins, find, and sort, so they don't need the login environment. Fixes #6806 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Pin the AppLibrary scans to non-login shells in tests Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
5b8fef406f
commit
b08598086c
@@ -114,6 +114,13 @@ assert(
|
||||
'app library fallback icon index includes device icons'
|
||||
)
|
||||
|
||||
assert(
|
||||
appLibraryQml.includes('command: ["bash", "-c", root.hiddenEntryScanCommand()]') &&
|
||||
appLibraryQml.includes('command: ["bash", "-c", root.iconIndexScanCommand()]') &&
|
||||
!appLibraryQml.includes('"-lc"'),
|
||||
'app library scans avoid login shells whose profile activation retriggers the desktop-entry watcher'
|
||||
)
|
||||
|
||||
assert(
|
||||
/if \(active === "apps"\) \{[\s\S]*?rows\.sort\(function\(a, b\)/.test(menuQml),
|
||||
'apps menu enforces alphabetical display order after provider refreshes'
|
||||
|
||||
Reference in New Issue
Block a user