Morse and Nonsense both returns a handle list. In case of Nonsense: type of the list is UniqueHandleMap with operators and the used operator [] will return a new handle for each new identifier.
https://github.com/TelepathyQt/telepathy-nonsense/blob/master/uniquehandlemap.cc#L32 The identifier <-> handle map is not the "contact list". Under "contact list" I mean contacts, which e.g. would be returned by Connection.Interface.ContactList GetContactListAttributes(). On Tue, Sep 20, 2016 at 2:28 AM, Mateus Bellomo <mateusbell...@gmail.com> wrote: > Thanks for the reply guys and sorry for the duplicated post =) > >> The thing is that ensureHandle() does (or at least should) NOT add the >> identifier to the contact list. > > When you say list do you also refer to the map that I hold contacts > identifiers and handles, or you refer just the actual list of contacts? > >> The RequestHandles method do exactly >> one thing: returns valid handle for identifier. Error "Invalid >> Handle" should be returned if the given identifier does not identify a >> valid entity of the given type. > > Looking at telepathy-nonsense [1] it returns the mapped handle for a > existing contact identifier and I think it will return an empty List if the > contact didn't exist. > But in telepathy-morse [2] it adds the contact to the map if it didn't exist > and then return the List. > > So in this case I should do like telepathy-nonsense? > >> I'm going to suggest it again: ask Empathy developers. > > Is there a specific list for that? I thought this was the correct list. > > [1] > https://github.com/TelepathyQt/telepathy-nonsense/blob/master/connection.cc#L728 > [2] > https://github.com/TelepathyQt/telepathy-morse/blob/master/connection.cpp#L635 > > 2016-09-19 17:36 GMT-03:00 George Kiagiadakis <gkia...@tolabaki.gr>: >> >> On 09/19/2016 08:59 PM, Mateus Bellomo wrote: >> > Hello, >> > >> > I have implemented the requestSubscription() and requestHandles() >> > methods at telepathy-resiprocate [1]. I'm using Empathy as a client and >> > testing it I noticed that when I try to add a contact in the contact >> > list, in the window that opens, the method requestHandle() is being >> > called several times while the user is typing the contact to add. So >> > several 'partial' contacts are being added to my map that holds my >> > contact identifiers [2] [3] like this: >> > >> > mateus >> > mateus2@ >> > mateus2@test.s >> > mateus2@test.sip5060 >> > mate...@test.sip5060.net <mailto:mate...@test.sip5060.net> >> > >> > I'm wondering if this behaviour should be expected from telepathy or >> > it's just a bug. >> >> It doesn't seem to violate the spec, so I would say it's pretty fine for >> a client to do that. It just needs a way to check if an identifier is a >> valid contact or not and this is the best way to do it. Of course, it >> may generate a lot of d-bus traffic, but I don't think that's causing >> any serious problems. > > > > _______________________________________________ > telepathy mailing list > telepathy@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/telepathy > _______________________________________________ telepathy mailing list telepathy@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/telepathy