GNOME Bugzilla – Bug 769584
app: Always use a timestamp of 0 when requesting channels
Last modified: 2016-08-29 23:29:17 UTC
See patch.
Created attachment 332865 [details] [review] app: Always use a timestamp of 0 when requesting channels Whether a join/query action should switch to the corresponding room is determined by a timestamp contained in the action's parameter. We handle that timestamp immediately to be responsive to user action, but currently also pass it on to telepathy. As a result, mission-control will ask us to present the room (again) when the channel is ready, which is pointless in the best case. In the worst case when channel creation is slow (as during startup, when joining multiple channels at once), the user might have selected a different room while waiting for the connection to finish, in which case the focus stealing is unexpected and rude. Just use a timestamp of 0 for all channel requests we make ourselves, so that we only present externally created channels that are handed over to us (for example from GNOME Shell's builtin chat integration).
This is part of a bigger patchset, so probably won't apply to master directly. To make it easy to try without hunting dependencies in bugs, I've pushed it as part of https://git.gnome.org/browse/polari/log/?h=wip%2Ffmuellner%2Fmisc-fixes
Review of attachment 332865 [details] [review]: looks good to me.
Attachment 332865 [details] pushed as 9b63bf1 - app: Always use a timestamp of 0 when requesting channels