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 656028 - Display ongoing calls
Display ongoing calls
Status: RESOLVED WONTFIX
Product: gnome-shell
Classification: Core
Component: telepathy
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: GNOME Shell Telepathy maintainer(s)
gnome-shell-maint
: 661188 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-08-05 13:46 UTC by Guillaume Desmottes
Modified: 2018-07-11 16:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
messageTray: Add Notification::addActionArea() (1.63 KB, patch)
2011-09-08 14:33 UTC, Xavier Claessens
needs-work Details | Review
messageTray: Notification::addButton() now returns the button (750 bytes, patch)
2011-09-08 14:33 UTC, Xavier Claessens
reviewed Details | Review
telepathyClient: Merge chat and call notifications (34.51 KB, patch)
2011-09-08 14:33 UTC, Xavier Claessens
reviewed Details | Review
Notification: Add a 'statusBox' to show actors on top-right corner of a notification (3.95 KB, patch)
2011-09-08 14:33 UTC, Xavier Claessens
needs-work Details | Review
telepathyClient: Show ongoing call icon and timer (5.05 KB, patch)
2011-09-08 14:33 UTC, Xavier Claessens
reviewed Details | Review

Description Guillaume Desmottes 2011-08-05 13:46:28 UTC
Atm the Shell can accept and decline audio/video calls (bug #653939). This is just the first step, during the IM hackfest we agreed that it should display ongoing calls as well and probably offer some controls to interact with them (hangup for example).

See https://live.gnome.org/Hackfests/IMContacts%20Social2011/Tasks/ShellDesignEvents#preview for details and Allan's awesome mockups.
Comment 1 Xavier Claessens 2011-09-06 06:58:38 UTC
for the record, I'm working on this.
Comment 2 Xavier Claessens 2011-09-08 14:32:11 UTC
This is done here: http://cgit.collabora.com/git/user/xclaesse/gnome-shell.git/log/?h=call-approver

That branch is more than just ongoing calls, it also merge call approver with the chat notification.
Comment 3 Xavier Claessens 2011-09-08 14:33:33 UTC
Created attachment 195994 [details] [review]
messageTray: Add Notification::addActionArea()

This makes possible to have both an entry bar and buttons for chat notifications
Comment 4 Xavier Claessens 2011-09-08 14:33:36 UTC
Created attachment 195995 [details] [review]
messageTray: Notification::addButton() now returns the button
Comment 5 Xavier Claessens 2011-09-08 14:33:40 UTC
Created attachment 195996 [details] [review]
telepathyClient: Merge chat and call notifications

This offers a direct way to send message to caller before answer/reject the call.
Comment 6 Xavier Claessens 2011-09-08 14:33:44 UTC
Created attachment 195997 [details] [review]
Notification: Add a 'statusBox' to show actors on top-right corner of a notification
Comment 7 Xavier Claessens 2011-09-08 14:33:47 UTC
Created attachment 195998 [details] [review]
telepathyClient: Show ongoing call icon and timer
Comment 8 Xavier Claessens 2011-09-08 14:49:21 UTC
Here are screenshots how it looks like:
http://people.collabora.com/~xclaesse/call-approver.png
http://people.collabora.com/~xclaesse/call-ongoing.png
Comment 9 Guillaume Desmottes 2011-10-12 15:51:46 UTC
*** Bug 661188 has been marked as a duplicate of this bug. ***
Comment 10 Jasper St. Pierre (not reading bugmail) 2011-10-12 19:09:32 UTC
Review of attachment 195994 [details] [review]:

::: js/ui/messageTray.js
@@ +678,3 @@
     },
 
+    addActionArea: function(actor, props) {

If we're going to have one API, I'd rather it be 'addActionArea'. Remove setActionArea or make it private, and make the telepathy client use addActionArea in the same commit.

@@ +681,3 @@
+        if (!this._actionAreasBox) {
+            let box = new St.BoxLayout({ vertical: true,
+                                         name: 'notification-actions' });

'notification-actions' is already used by the buttons below?
Comment 11 Jasper St. Pierre (not reading bugmail) 2011-10-12 19:10:16 UTC
Review of attachment 195995 [details] [review]:

Looks fine... can you explain why you need this in the commit message?
Comment 12 Jasper St. Pierre (not reading bugmail) 2011-10-12 19:15:05 UTC
Review of attachment 195996 [details] [review]:

I didn't look too hard, but this seems fine.

::: js/ui/telepathyClient.js
@@ +149,3 @@
+        request[Tp.PROP_CHANNEL_CHANNEL_TYPE] = Tp.IFACE_CHANNEL_TYPE_TEXT;
+        request[Tp.PROP_CHANNEL_TARGET_HANDLE_TYPE] = Tp.HandleType.CONTACT;
+        request[Tp.PROP_CHANNEL_TARGET_HANDLE] = targetHandle

Semi.

@@ +960,3 @@
     },
 
+    canChat: function(value) {

"setShowEntry"

@@ +993,3 @@
         }
 
+        if (message.direction == NotificationDirection.RECEIVED && !isLog) {

This seems unrelated?
Comment 13 Jasper St. Pierre (not reading bugmail) 2011-10-12 19:19:06 UTC
Review of attachment 195997 [details] [review]:

::: js/ui/messageTray.js
@@ +478,3 @@
         this._bannerLabel = this._bannerUrlHighlighter.actor;
         this._bannerBox.add_actor(this._bannerLabel);
+        this._statusBox = new St.BoxLayout({ name: 'notification-status-box'});

Put a space between the closing quote and the closing brace.
Comment 14 Jasper St. Pierre (not reading bugmail) 2011-10-12 19:22:58 UTC
Review of attachment 195998 [details] [review]:

Adds a new string, so we won't be able to commit it yet until we branch.

::: js/ui/telepathyClient.js
@@ +550,3 @@
+            { y_expand: true,
+              y_fill: false,
+              y_align: St.Align.MIDDLE});

space

@@ +554,3 @@
+        Shell.notify_when_call_started(this._callChannel, Lang.bind(this, function () {
+            this._callStartedTime = Date.now();
+            this._callTimerId = Mainloop.timeout_add_seconds(1, Lang.bind(this, this._callTimerCb));

I'm sure there's a more efficient way to do this. Talk to Colin or someone who knows more about the "clocks" stuff?

::: src/shell-tp-client.c
@@ +511,3 @@
+ */
+void
+shell_notify_when_call_started (TpChannel *channel,

Can you put a comment or something here to let us know which gjs limitation you're trying to work around, so we know when to remove it?

@@ +530,3 @@
+  else
+    {
+      notify_when_call_started_data_free (data);

Wouldn't it make sense to do this before you allocated the data?
Comment 15 Florian Müllner 2018-07-11 16:42:51 UTC
Due to changes in the wider messaging ecosystem, messaging integration in the system unfortunately hasn't worked out and we are again back to a bunch of walled gardens. Taking that into consideration, keeping call UI in the client instead of having the system provide it is more in line with user expectation now, so closing.