Weird inconsistent behavior/lack of syncrhonization with empathy messaging integration

Bug #811291 reported by Joe Barnett
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
empathy (Ubuntu)
Invalid
Undecided
Unassigned
gjs (Ubuntu)
Fix Released
Undecided
Unassigned
gnome-shell (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Seeing strange interactions between gnome-shell and empathy on latest oneiric code:

-gnome-shell messaging indicator doesn't always show up when receiving a new IM
--when this happens, clicking on blinking empathy icon waits for quite a while before opening the empathy chat window
--when the chat window does open, it often is an empty window, rather than including the newly received IM content
--after closing the chat window, then the gnome-shell chat indicator for the conversation sometimes appears, but also doesn't contain the new messaging content, and doesn't go away without right click, then remove

everything worked a bit better on natty+gnome3ppa, wondering if this is due to mismatched gnome-shell + empathy versions (3.0.2 and 3.1.3, respectively)

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: gnome-shell 3.0.2-1ubuntu1
ProcVersionSignature: Ubuntu 3.0.0-5.6-generic 3.0.0-rc7
Uname: Linux 3.0.0-5-generic x86_64
Architecture: amd64
Date: Fri Jul 15 14:35:04 2011
InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Release Candidate amd64 (20100419.1)
ProcEnviron:
 LANGUAGE=en_US:en
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: gnome-shell
UpgradeStatus: Upgraded to oneiric on 2011-07-13 (2 days ago)

Revision history for this message
Joe Barnett (thejoe) wrote :
Revision history for this message
Joe Barnett (thejoe) wrote :

with gnome-shell 3.1.3 package, now things have gotten even worse!

I hear the sound played when I receive a message, but no longer get a blinking empathy tray icon, and get no shell message notification.

I do see the following in .xsession-errors though:

    JS ERROR: !!! Exception was: Error: Too few arguments to function Shell.ge
t_self_contact_features expected 4 got 3
    JS ERROR: !!! lineNumber = '0'
    JS ERROR: !!! fileName = 'gjs_throw'
    JS ERROR: !!! stack = '("Too few arguments to function Shell.get_self_contact_features expected 4 got 3")@gjs_throw:0
([object _private_Shell_TpClient],[object _private_TelepathyGLib_Account],[object _private_TelepathyGLib_Connection],[object Array],[object _private_TelepathyGLib_ChannelDispatchOperation],[object Array],[object _private_TelepathyGLib_ObserveChannelsContext])@/usr/share/gnome-shell/js/ui/telepathyClient.js:107
([object _private_Shell_TpClient],[object _private_TelepathyGLib_Account],[object _private_TelepathyGLib_Connection],[object Array],[object _private_TelepathyGLib_ChannelDispatchOperation],[object Array],[object _private_TelepathyGLib_ObserveChannelsContext])@/usr/share/gjs-1.0/lang.js:110
'
    JS ERROR: !!! message = 'Too few arguments to function Shell.get_self_contact_features expected 4 got 3'

(empathy:16508): empathy-CRITICAL **: list_get_contact_blocking_capabilities_cb: assertion `G_VALUE_HOLDS_UINT (value)' failed

Revision history for this message
Joe Barnett (thejoe) wrote :

latest issue should be fixable by upgrading to a more recent gjs, according to #gnome-shell irc channel:

<thejoe> hmm... seems like telepathyClient.js and shell-tp-client.[ch] disagree on # of args (.js is just passing lists, but .[ch] is expecting (list.length, list)). get_tp_contacts is also passing an extra null arg at the end?
<magcius> thejoe, gjs is magical :)
<thejoe> magcius, apparently not the ubuntu oneiric version though :(
<fmuellner> thejoe: no, that is correct - as js arrays already "contain" the length, it's not necessary to pass it separately (as for C)
<magcius> thejoe, so, recently, gjs broke backwards-compatibility
<fmuellner> gjs handles that (as of recently)

Revision history for this message
Laurent Bigonville (bigon) wrote :

I've just uploaded gjs 1.29.0-1ubuntu1 to oneniric

Changed in gjs (Ubuntu):
status: New → Fix Released
Revision history for this message
Joe Barnett (thejoe) wrote :

still getting the same error with gjs 1.29.0; guess the "magic" is in unreleased git code?

http://git.gnome.org/browse/gjs/commit/?id=f60d0a1f8cdb484486a43b1f596c4c1bc4930c07
http://git.gnome.org/browse/gjs/commit/?id=0cd4538efcc0e39005c7921181c8e3687911255c
http://git.gnome.org/browse/gjs/commit/?id=c501e3df35c00e6011eb1548496262a8d4f5519f

and potentially others look related.

in the meantime, the attached patch to gnome-shell works (but will probably break on next gjs release)

Revision history for this message
Joe Barnett (thejoe) wrote :
tags: added: patch
Revision history for this message
Omer Akram (om26er) wrote :

Is the issue in empathy or gnome-shell and gjs are to be blamed?

Revision history for this message
Anders Kaseorg (andersk) wrote :

Bug 816762 is caused by the same gjs API change.

Revision history for this message
Anders Kaseorg (andersk) wrote :

I filed bug 822464 “Upgrade gjs to 1.29.16”, which is probably the cleanest way to deal with this problem.

Revision history for this message
Joe Barnett (thejoe) wrote :

original issue was mismatch between empathy (3.1.3) and gnome shell (3.0.2). Now the only issue is bad gjs/gnome-shell interaction as noted by Anders.

Joe Barnett (thejoe)
Changed in gjs (Ubuntu):
status: Fix Released → New
Changed in empathy (Ubuntu):
status: New → Invalid
Revision history for this message
Joe Barnett (thejoe) wrote :

fixed with latest 1.29.16-0ubuntu2 gjs + 3.1.3-0ubuntu4

Changed in gjs (Ubuntu):
status: New → Fix Released
Changed in gnome-shell (Ubuntu):
status: New → Fix Released
Revision history for this message
Ruchir (ruchir-brahmbhatt) wrote :

I have latest updates and still facing the issue.
When new message is received, I see message indicator. I select the message from there which opens chat window but there's no message there. If I select previous conversations, I can see messages there. This usually happens when first time message is received from particular contact in a day.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.