Bug 506733

Summary: Broken parsing of text that looks like it's starting an HTML tag
Product: [Plasma] plasmashell Reporter: Martin <spleefer90>
Component: NotificationsAssignee: Plasma Bugs List <plasma-bugs-null>
Status: CONFIRMED ---    
Severity: normal CC: kde, kde, nate
Priority: NOR    
Version First Reported In: 6.4.2   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Martin 2025-07-07 20:06:58 UTC
This should work  and show "Test text" - it shows nothing other than the abc title: 
  notify-send "abc" "<a href='https://example.com'>Test</a> text"
 
Swapping quotes for double quotes fixes that one:
   notify-send "abc" "<a href=\"https://example.com\">Test</a> text"

Anything resembling a HTML tag breaks the thing, simple bracket breaks anything after it, all of these render nothing other than the title:
  notify-send "abc" "<"
  notify-send "abc" "<a"
  notify-send "abc" "<hello>"

I would expect single quotes to work, and I would expect unfinished or nonexistent HTML tags to not be attempted to be rendered as HTML.
---

Operating System: Arch Linux 
KDE Plasma Version: 6.4.2
KDE Frameworks Version: 6.15.0
Qt Version: 6.9.1
Kernel Version: 6.15.4-arch2-1 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 7600X 6-Core Processor
Memory: 64 GiB of RAM (61.9 GiB usable)
Graphics Processor: NVIDIA GeForce RTX 4090
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: X670 AORUS ELITE AX
Comment 1 David Edmundson 2025-07-08 09:03:32 UTC
The spec for notifications is a bit special, it's not full HTML. https://specifications.freedesktop.org/notification-spec/1.3/markup.html

It's defined as being valid XML with some additional things. 

>I would expect single quotes to work,

Makes sense. Did this come up in any real application or just testing?

I'll test what Gnome does. If they support single quotes, we should too. 
If they don't, there's no point us doing it as we're just laying a trap for cross-desktop apps.

> and I would expect unfinished or nonexistent HTML tags to not be attempted to be rendered as HTML.

Unfinished or broken HTML tags is just invalid, defining how we handle something invalid isn't very useful. We should just fix the apps
Comment 2 Martin 2025-07-08 23:41:53 UTC
> I'll test what Gnome does. If they support single quotes, we should too. 

They don't seem to support any of the "HTML" and it just shows up as plaintext, based on what other people shown me.

>I would expect single quotes to work,
>> Makes sense. Did this come up in any real application or just testing?

In my own private application, was wondering why it was eating my text.

> Unfinished or broken HTML tags is just invalid, defining how we handle something invalid isn't very useful. We should just fix the apps

It would be nice if the text of the notification actually reflected a broken state if that's the intention("unable to parse notification" as a body, or something of the sort), but I can imagine someone wanting to send a <<<URGENT>>> if one simply wanted to send a plaintext notification with less/greater signs in it and not expecting this breakage.
Comment 3 Nate Graham 2025-08-01 18:42:39 UTC
Yeah, `notify-send foo "<<<URGENT>>>"` is broken for me too.