Created attachment 177631 [details] Demonstration screenshot for `#c0`. SUMMARY ------- The "Firmware Security" KCM, accessible via KInfoCenter, returns search results in a single line, rendering them nigh unreadable. STEPS TO REPRODUCE ------------------ 1. Invoke `kcm_firmware_security` (whether via `kcmshell6` or `kinfocenter`): - ~~~sh #!/usr/bin/env sh kcmshell6 kcm_firmware_security ~~~ - ~~~sh #!/usr/bin/env sh kinfocenter kcm_firmware_security ~~~ Just don't use `systemsettings kcm_firmware_security`. That doesn't work, and I can't be bothered to report a bug for it RN. 2. Search for "a" (or "ab", etcetera - I've solely listed those which I've tested). OBSERVED RESULT --------------- Each result is concatenated into a single line: > ~~~YAML > HSI:2! (v1.9.27) HSI-1 ✔ BIOS firmware updates: Enabled ✔ Fused platform: Locked ✔ Supported CPU: Valid ✔ TPM empty PCRs: Valid ✔ TPM v2.0: Found ✔ UEFI bootservice variables: Locked HSI-2 ✔ SPI write protection: Enabled ✔ IOMMU: Enabled ✔ Platform debugging: Locked ✔ TPM PCR0 reconstruction: Valid HSI-3 ✔ CET Platform: Supported ✘ SPI replay protection: Not supported ✘ Pre-boot DMA protection: Disabled ✘ Suspend-to-idle: Disabled ✘ Suspend-to-ram: Enabled HSI-4 ✔ SMAP: Enabled ✘ Processor rollback protection: Disabled ✘ Encrypted RAM: Not supported Runtime Suffix -! ✔ fwupd plug-ins: Untainted ✔ CET OS Support: Supported ✔ Linux swap: Encrypted ✔ Linux kernel: Untainted ✘ Linux kernel lockdown: Disabled ✘ UEFI secure boot: Disabled This system has HSI runtime issues. » https://fwupd.github.io/hsi.html#hsi-runtime-suffix There are devices with issues: Samsung — SSD 980 PRO 250GB: • https://www.pugetsystems.com/support/guides/critical-samsung-ssd-firmware-update/ > ~~~ EXPECTED RESULT --------------- Each result should be returned on a new line. I've manually converted the aforementioned quotation into the undermentioned example, so it may not be 100% correct, but demonstrates the difference: ~~~YAML HSI:2! (v1.9.27) HSI-1 ✔ BIOS firmware updates: Enabled ✔ Fused platform: Locked ✔ Supported CPU: Valid ✔ TPM empty PCRs: Valid ✔ TPM v2.0: Found ✔ UEFI bootservice variables: Locked HSI-2 ✔ SPI write protection: Enabled ✔ IOMMU: Enabled ✔ Platform debugging: Locked ✔ TPM PCR0 reconstruction: Valid HSI-3 ✔ CET Platform: Supported ✘ SPI replay protection: Not supported ✘ Pre-boot DMA protection: Disabled ✘ Suspend-to-idle: Disabled ✘ Suspend-to-ram: Enabled HSI-4 ✔ SMAP: Enabled ✘ Processor rollback protection: Disabled ✘ Encrypted RAM: Not supported Runtime Suffix -! ✔ fwupd plug-ins: Untainted ✔ CET OS Support: Supported ✔ Linux swap: Encrypted ✔ Linux kernel: Untainted ✘ Linux kernel lockdown: Disabled ✘ UEFI secure boot: Disabled This system has HSI runtime issues. » https://fwupd.github.io/hsi.html#hsi-runtime-suffix There are devices with issues: Samsung — SSD 980 PRO 250GB: • https://www.pugetsystems.com/support/guides/critical-samsung-ssd-firmware-update/ ~~~ SOFTWARE/OS VERSIONS -------------------- 1. ~~~sh #!/usr/bin/env sh kinfo ~~~ 2. > ~~~YAML > Operating System: Fedora Linux 41 > KDE Plasma Version: 6.2.5 > KDE Frameworks Version: 6.10.0 > Qt Version: 6.8.1 > Kernel Version: 6.12.9-200.fc41.x86_64 (64-bit) > Graphics Platform: Wayland > Processors: 12 × AMD Ryzen 5 7600X 6-Core Processor > Memory: 30.4 GiB of RAM > Graphics Processor: AMD Radeon RX 5700 > Manufacturer: ASRock > Product Name: X670E Taichi > ~~~ ADDITIONAL INFORMATION ---------------------- I was advised to report this bug in this product by [`discuss.kde.org/t/28619/5`][1]. [1]: https://discuss.kde.org/t/where-does-one-report-issues-with-the-firmware-security-system-settings-page/28619/5?u=rokejulianlockhart
If I switch the text format to TextEdit.PlainText, it works as expected. It's only when CommandOutputKCM is told to use TextEdit.RichText that this happens.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kinfocenter/-/merge_requests/217
Git commit cd257602e2a4798b279846b131a355ad46001d97 by Nate Graham. Committed on 29/01/2025 at 17:29. Pushed by ngraham into branch 'master'. CommandOutputKCM: Use correct newlines for HTML-styled content Right now it assumes plaintext and always uses a `\n`. But the Firmware Security KCM displays HTML-styled text, where this won't work. We need a way to tell the object that it's going to be displaying HTML content, and use appropriate newlines. This commit implements that. FIXED-IN: 6.3.0 Co-authored-by: Harald Sitter <sitter@kde.org> M +5 -1 kcms/firmware_security/main.cpp M +0 -1 kcms/firmware_security/ui/main.qml M +26 -3 src/CommandOutputContext.cpp M +10 -0 src/CommandOutputContext.h M +3 -1 src/qml/CommandOutputKCM.qml https://invent.kde.org/plasma/kinfocenter/-/commit/cd257602e2a4798b279846b131a355ad46001d97
Git commit 595a20f020fd7147c95d05204aeba69893408a9c by Nate Graham. Committed on 29/01/2025 at 17:36. Pushed by ngraham into branch 'Plasma/6.3'. CommandOutputKCM: Use correct newlines for HTML-styled content Right now it assumes plaintext and always uses a `\n`. But the Firmware Security KCM displays HTML-styled text, where this won't work. We need a way to tell the object that it's going to be displaying HTML content, and use appropriate newlines. This commit implements that. FIXED-IN: 6.3.0 Co-authored-by: Harald Sitter <sitter@kde.org> (cherry picked from commit cd257602e2a4798b279846b131a355ad46001d97) 6665db3b CommandOutputKCM: Use correct newlines for HTML-styled content 6f77cbd8 Do it with enums 35d8f1b6 Try to make it work 16b8f7c0 Harald's better stuff Co-authored-by: Nate Graham <nate@kde.org> M +5 -1 kcms/firmware_security/main.cpp M +0 -1 kcms/firmware_security/ui/main.qml M +26 -3 src/CommandOutputContext.cpp M +10 -0 src/CommandOutputContext.h M +3 -1 src/qml/CommandOutputKCM.qml https://invent.kde.org/plasma/kinfocenter/-/commit/595a20f020fd7147c95d05204aeba69893408a9c