Age | Commit message (Collapse) | Author | Files | Lines |
|
This fixes the issue where empathy-chat crashing means you get kicked
out of all your channels.
It's technically backwards-incompatible but empathy-chat has been using
RemoveMembers() to leave rooms for ages, and it's a pretty destructive
and annoying bug, so let's just get on with it.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=24614
|
|
|
|
I don't think this new API is a net improvement over making
TpBaseChannel do the work of merging ->interfaces (which would involve
zero code changes in CMs, and none of this stupid boilerplate for
building a list of strings in every CM) but there we go.
|
|
This is a no-op right now, but it's the right thing to do.
|
|
This is equivalent but neater.
|
|
|
|
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=56589
|
|
Jonny wanted this to be clearer on
<https://bugs.freedesktop.org/show_bug.cgi?id=56589#c1>.
|
|
On <https://bugs.freedesktop.org/show_bug.cgi?id=49163>, Alban Browaeys
described a situation where idle_server_connection_send_async() would
call its callback synchronously, due to a bug in GLib. While I think
that bug is fixed, we can be more defensive against this by initializing
priv->msg_sending to TRUE before calling
idle_server_connection_send_async() rather than after. That way, if the
_msg_queue_timeout_ready() callback is called synchronously (due to a
bug), Idle won't get stuck thinking it's sending a message.
|
|
I don't know which servers don't support PING, but irssi does this, so I
figure we may as well do it too.
I tested this by making Idle send and check for PNNING, which Freenode
doesn't support. It's not obvious how to write a good automated test for
this.
|
|
Previously, if the network connection had gone away _force_disconnect()
would not actually make the connection die any faster, because
g_io_stream_close_async() waits for a reply by default.
But by pulling the same trick with a cancelled cancellable as is used
for ping timeouts, we can fix this.
I tested this by:
* Connecting to a server (with keepalive-interval=0 to ensure that
doesn't interfere).
* Pulling out my network cable (breaking the connection) but leaving my
wireless connection up.
* calling Disconnect() on the connection.
Before, the connection would never finish disconnecting; after, the
_force_disconnect() timeout actually does something useful and the
connection dies properly.
|
|
|
|
Previously we'd just send out a PING into the æther every n seconds, and
pay no attention to whether we ever got an answer. So it was perfectly
possible for the connection to just sit there until the TCP timeout
kicks in, which I think is a matter of hours by default.
With this patch, if we haven't heard a PONG 3 keepalive-intervals after
sending a PING, Idle throws its toys out of the pram.
This has been tested as follows:
* Put my laptop on a wired and wireless network simultaneously.
* Connect to an IRC server. (The wired network is used.)
* Pull the network cable out. Idle is too stupid to realise the link it
was using is gone, and because we're still ostensibly online, nothing
tells it to disconnect.
* Wait keepalive-interval * 4, and watch the connection get
disconnected.
It works both with a direct connection to Freenode, and with a
connection over an SSH tunnel to irssi-proxy.
|
|
|
|
|
|
|
|
|
|
|
|
tp_channel_manager_asv_has_unknown_properties() takes care of excluding
extra properties for us.
|
|
|
|
Whoops.
|
|
|
|
|
|
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=30741
|
|
|
|
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
A make rule with multiple (non-pattern) targets just says that each of
those files can be built by the rule, not that the rule builds all of
them at once. So under "make -j", extensions/Makefile would run three
copies of glib-ginterface-gen.py at once, which could end up deleting
each others' files and causing a make failure. Fix.
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
|
|
When the codegen was updated, this started being built, but not cleaned
up, so distcheck was broken.
|
|
|
|
|
|
|
|
|
|
https://bugs.freedesktop.org/show_bug.cgi?id=31725
|
|
|
|
idle-parser.c: renamed "link" to "link_".
idle-server-connection.c: renamed "socket" to "socket_".
https://bugs.freedesktop.org/show_bug.cgi?id=51906
|
|
Conflicts:
configure.ac
src/idle-muc-channel.c
|
|
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
Yeah okay I might have been calling tp_asv_get_* a little too many
times...
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
I had misunderstood these two properties before, yet again. This is
better and easier. I added more tests.
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
Genius!
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
This is much better. I should have done this before. I also added some
tests to make sure bad args are rejected.
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
I must admit I misunderstood what was going on with this earlier when
I removed it. I was just being an idiot. I've brought it back now and
it's even tested!
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
Woo!
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
Ignore the indentation; it's all wrong. I hate idle.
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|
|
Woo, getting closer!
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
|