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

