After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 747636 - Follow-up chat notifications sometimes stop working after closing a notification
Follow-up chat notifications sometimes stop working after closing a notification
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks: 746860
 
 
Reported: 2015-04-10 15:54 UTC by Florian Müllner
Modified: 2015-04-13 13:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
telepathyClient: Disentangle source and notification (5.17 KB, patch)
2015-04-10 15:54 UTC, Florian Müllner
committed Details | Review
telepathyClient: Keep source alive while channel is open (2.45 KB, patch)
2015-04-10 15:54 UTC, Florian Müllner
committed Details | Review

Description Florian Müllner 2015-04-10 15:54:48 UTC
See patches. This happens if the shell only observes a channel when the notification is closed (for instance when the conversations has been initiated in empathy/polari by the user herself rather than the "other side").
Comment 1 Florian Müllner 2015-04-10 15:54:53 UTC
Created attachment 301302 [details] [review]
telepathyClient: Disentangle source and notification

Currently the lifetime of a chat source and its single notification
are tied together. While this apparently makes sense, it means we
will loose all follow-up notifications when a source is destroyed
with the corresponding telepathy channel left open. We will fix this
soon by tying the source to the channel's lifetime rather than the
notification, prepare for this by recreating the notification if
necessary.
Comment 2 Florian Müllner 2015-04-10 15:54:58 UTC
Created attachment 301303 [details] [review]
telepathyClient: Keep source alive while channel is open

Sources are destroyed with their last notification. This is usually the
correct behavior, however in case of chat sources, the corresponding
telepathy channel might still be open, and any further messages that
should trigger a notification are lost because chat sources are only
created when telepathy's channel dispatcher notifies us about a channel
(via ObserveChannels).
Loosing messages like this is unexpected, so keep chat sources around
even without notifications while the channel is open.
Comment 3 Rui Matos 2015-04-11 19:13:45 UTC
Review of attachment 301303 [details] [review]:

code looks fine

s/Loosing/Losing/
Comment 4 Rui Matos 2015-04-11 19:15:09 UTC
Review of attachment 301302 [details] [review]:

Didn't you miss an _ensureNotification() in createBanner() ?

s/loose/lose/ in the commit msg
Comment 5 Florian Müllner 2015-04-11 20:42:28 UTC
(In reply to Rui Matos from comment #4)
> Didn't you miss an _ensureNotification() in createBanner() ?

createBanner() is called when a notification is about to be displayed, so the notification must be there already.
Comment 6 Rui Matos 2015-04-13 12:28:38 UTC
Review of attachment 301302 [details] [review]:

(In reply to Florian Müllner from comment #5)
> (In reply to Rui Matos from comment #4)
> > Didn't you miss an _ensureNotification() in createBanner() ?
> 
> createBanner() is called when a notification is about to be displayed, so
> the notification must be there already.

Ok, fair enough
Comment 7 Florian Müllner 2015-04-13 13:41:59 UTC
Attachment 301302 [details] pushed as 265b1f0 - telepathyClient: Disentangle source and notification
Attachment 301303 [details] pushed as a0868ba - telepathyClient: Keep source alive while channel is open