Mark, we ended up here because I didn't spec the corner case of what
should happen when an application tries to replace and append at the
same time. But we would have had the same issue if we'd chosen a
different protocol to specify appending. For example, if we'd introduced
an "append this to THAT message" parameter instead of the "x-canonical-
append" hint, it would still be possible for applications to compile
whose code included notifications with both that parameter and a a
"replaces_id" parameter, so Notify OSD would still have to make the same
decision about which to obey. The only difference would have been that
it would be harder for applications to use appending (because they'd
need to keep track of notification IDs).

I've now updated the spec to specify that replacing overrides appending.
<https://wiki.ubuntu.com/NotifyOSD?action=diff&rev2=134&rev1=133> The
money quote: "Notify OSD should merge two notifications into a single
notification if all of the following are true: ... * the second
notification is not specified as a replacement of any other
notification."

Separately, as I said in Berlin, I think we should not use the word
"update" when talking about notifications themselves. It can mean either
of two very different things (appending and replacing), which makes bug
reports like this one take longer to clarify.

-- 
Notification entries are not appended unless a replace is used
https://bugs.launchpad.net/bugs/337394
You received this bug notification because you are a member of Notify
OSD Developers, which is subscribed to Notify OSD.

Status in Notify OSD: Fix Committed

Bug description:

Currently in the notify-osd code an append is only done if the type of update 
to the notification is a replace or update operation.  This is incorrect and 
shoudl be changed to match the spec which states:

"Whenever there are two or more notification bubbles in the queue that have the 
same title and come from the same program (as identified by its D-Bus ID), and 
both of them have hinted that they allow concatenation, Notify OSD should merge 
them into a single bubble"
https://wiki.ubuntu.com/NotifyOSD#Concatenating%20existing%20bubbles

The important phrasing here is "two or more notification bubbles" not an 
updated bubble.

The reason for this is that the way that it's implemented now removes some 
capability from applications.  The application needs to have the ability to 
update appended bubbles.  So if I have two bubbles:

a) "hello"
b) "hi there"

And I decide that I want to change b to "oh, goodbye", if the append hint is 
used, and replace is used to specify append, the result will be:

hello
hi there
oh, goodbye

When the correct result should be

hello
oh, goodbye

This is currently how the Pidgin-libnotify plugin sends bubbles, it ensures 
that all messages are unique bubbles but will reuse bubbles for cases like sign 
on and sign off so that they get updated properly.

_______________________________________________
Mailing list: https://launchpad.net/~dx-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~dx-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to