> On Nov. 9, 2011, 3:01 p.m., Pali Rohár wrote: > > Your patch disable updating nickname of all contacts from jabber server. > > This is bad because some people want to autoupdate new nicknames from > > server. > > Instead totally disabling this functions, it should be configurable (in > > jabber account settings dialog). > > Ralf Jung wrote: > Actually, Kopete already has a per-contact setting saying whether the > local or remote name should be used. The code should adhere to that setting. > > Btw, you filled the "Bugs" field in the request incorrectly. It must > contain just the bug ID, not the whole URL. > > Cyberbeat wrote: > I don't think, that I disable updating of nicknames of contacts from > jabber server. > > To explain the problem from the GUI perspective: > > - Right-Click a metacontact and choose its "properties" > - There you can choose, where to take it's displayname from, there are 3 > possibilities: > a) take displayname from adressebook (KABC) > b) take displayname from a protocol (you can choose, which) > c) define a custom displayname (which really should NEVER be overwritten > by some protocols!) > > The displayname for contacts should only be updated from server for case > b), which is the standard. > > For my test-contact I have chosen a custom displayname c) > This displayname is overwritten each time I connect to the jabber server. > This can be considered as a bug. > > > > More technically from the code perspective: > > In kopetemetacontact.cpp there is a method "displayName()", which is used > in the contact list, and which returns the displayname > from the configured ressource (a,b or c from above). Standard ressource > is b). > The member-variable "displayname" represents the "custom display name", > which is also only returned, if c) is the ressource. > > If I understood something wrong, please explain to me :-) > > Olivier Goffart wrote: > > b) take displayname from a protocol (you can choose, which) > > That is the nickname set by the contact himself (that is, for jabber, the > nickname in the vcard) > > > c) define a custom displayname (which really should NEVER be > overwritten by > > some protocols!) > > Yes it should. > This name should be synchronized with the name you chosen. > > > For my test-contact I have chosen a custom displayname c) > > This displayname is overwritten each time I connect to the jabber > server. > > This can be considered as a bug. > > When setting c), it should also write the displayname on the jabber > server. > If it do not, the bug is there. > > The rationale is that if you have two jabber clients, the name stay in > sync. > > > Cyberbeat wrote: > Thanks for the clarification. > > I didn't know that I could save my own custom nicknames on jabber server. > Is this a feature, every jabber server MUST implement? And, if not, > should the client get feedback, if saving was successfull? > > I think it is important now, to be sure, where the bug occurs: on kopete > or the server. Can someone with knowledge of XMPP give an answer? > > The server I talk about, is facebook. I know, that facebook only > implements parts of XMPP. And if facebook does not apply to the standard, > there are only two options for kopete: > > a) make an option for jabber like Pali suggests > b) clone XMPP protocol and adapt it for facebook > > I would prefer solution a) :-) > > But if facebook only does not support an optional feature and handles > things like the specification, then kopete should make its jabber protocol > implementation more robust. > > I think it is important to have good support for facebook, since I > believe, it is the (with great advance) most popular "xmpp" server, so > many people suffer from these problems. > > > Cyberbeat wrote: > Since noone answered for two weeks, I will go for solution a) without > being sure about my above questions. I really expect that that solution will > be accepted in principle, else please say stop _now_, because this will be a > lot of work. > > Cyberbeat wrote: > I have now looked a bit into the XMPP RFCs and the > kopete-xmpp-xml-console. What happens when I rename a contact: > > <iq type="set" id="af1ca"> > <query xmlns="jabber:iq:roster"> > <item name="mycontactsnewname" jid="-123123...@chat.facebook.com"> > <group>aaa</group> > </item> > </query> > </iq> > > <iq from="myn...@chat.facebook.com" type="error" > to="myn...@chat.facebook.com/Kopete_xxxxx" id="af1ca"> > <query xmlns="jabber:iq:roster"> > <item name="mycontactsnewname" jid="-123123...@chat.facebook.com"> > <group>aaa</group> > </item> > </query> > <error type="cancel" code="501"> > <feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/> > </error> > </iq> > > So the server returns an error, which seems to be ok from the > specification. So now I think I can really consider the kopete behaviour as a > bug. > In its current state kopete should have had to deny the renaming of the > contact and display an error. > > So an option in xmpp config option like "Do you like your custom names > for your contacts be overwritten from the server?" yes/no like I plan to do, > seems to be a fine solution.
Instead hacking this problem with config option it should be fixed in jabber plugin / libiris library (return error when renaming failed)... As I understand your patch correctly, it only disable this code in updateContact (which is called by jabber when contact on server has been changed) metaContact()->setDisplayName ( item.name () ); I think that updateContact() function should update only displayname of *this KopeteContact (JabberBaseContact). Not metaContact()! Sorry for first info. Now I looked into jabber code and you are right. In my opinion proper fix should be deleting lines 109-121. It is really not needed, because kopete show displayname of metacontact from config dialog (and here you can set my own string or displayname of attached contact). Can you test if deleting these lines fix your problem and also if does not break anything else? - Pali ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://svn.reviewboard.kde.org/r/6823/#review10461 ----------------------------------------------------------- On Nov. 8, 2011, 7:55 p.m., Cyberbeat wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://svn.reviewboard.kde.org/r/6823/ > ----------------------------------------------------------- > > (Updated Nov. 8, 2011, 7:55 p.m.) > > > Review request for Kopete. > > > Description > ------- > > This patch fixes the bug, that the jabber protocol overwrites manually given > nicknames each time kopete connects. > > > This addresses bug https://bugs.kde.org/show_bug.cgi?id=274175. > > https://bugs.kde.org/show_bug.cgi?id=https://bugs.kde.org/show_bug.cgi?id=274175 > > > Diffs > ----- > > /trunk/KDE/kdenetwork/kopete/protocols/jabber/jabberbasecontact.cpp 1263246 > > Diff: http://svn.reviewboard.kde.org/r/6823/diff/diff > > > Testing > ------- > > I used kopete several weeks with icq, jabber, msn protocol together with my > patch, and did not notice any problems. The wrong behaviour is fixed. > > > Thanks, > > Cyberbeat > >
_______________________________________________ kopete-devel mailing list kopete-devel@kde.org https://mail.kde.org/mailman/listinfo/kopete-devel