no good way to clean up lost-in-space connections you'd like to recreate
@wjt
Submitted by Will Thompson Assigned to Telepathy bugs list
Description
When you call RequestConnection for a connection that already exists, telepathy-glib-based CMs return NotAvailable. There's no way to get rid of the existing connection so that you can make a new one. This leads to the following situation:
- A Telepathy client makes a Connection, never calls Connect() on it, and quits.
- Empathy tries to connect to that account, but MC can't make a connection.
- No IM for you!
This situation arises in practice because something (MC?) makes connections and forgets about them.
Currently, you can work around this by setting Empathy to offline and then online again, due to MC4's "kill everything on startup" behaviour. But in general, you have to either log out and in again, or know how to drive Telepathy-Inspector.
Discussion on #telepathy lead to a proposed solution:
- Add a specific error which RequestConnection returns if the connection already exists.
- Add a method to ConnectionManager which kills off any clashing connections and returns you a new one.
- UIs could then react to 1. by offering a button to call 2.