Bug 66577 - If you delete a contact from a metacontact while talking to the contact, the chatwindow disappears.
Summary: If you delete a contact from a metacontact while talking to the contact, the ...
Status: CONFIRMED
Alias: None
Product: kopete
Classification: Applications
Component: libkopete (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR wishlist
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-25 17:52 UTC by Casey Allen Shobe
Modified: 2003-10-28 20:17 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Casey Allen Shobe 2003-10-25 17:52:28 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources

...instead it should stay open, only the contact list should change.  I'm not sure if this would be solved by the wishlist bug 66563 or not, but it should be corrected either way.
Comment 1 Stefan Gehn 2003-10-25 18:04:26 UTC
If you're using that contact to send messages then this is hardly possible because the object managing the whole conversation sits inside that KopeteContact.
Comment 2 Jason Keirstead 2003-10-28 05:02:57 UTC
You shouldn't be able to delete a contact you are talking to. IRC for example does not do this, contacts are stored in a lookup cache, and when a conversation is closed, the cache is checked to see if the contacts in the closing chat are not temporary contacts and not in other conversations. If those are met *then* he is deleted. 

IRC needs this cache for other things though, so this may not be best for OSCAR. However, the mechanism the protocol uses is unimportant, the main point is you shouldn't actually be deleting the pointer to the contact until the conversation is closed. 

Maybe you can add a bool to oscarcontact "FlagForDeletion" or something, and if he is in a conversation and you "delete" him, you really just remove the LVI, and save the actual contact deletion for when the chat ends.
Comment 3 Martijn Klingens 2003-10-28 10:10:23 UTC
Subject: Re: [Kopete-devel]  If you delete a contact from a metacontact while talking to the contact, the chatwindow disappears.

*shiver*

All this talking about hacks in the protocols for stuff that should be done in 
libkopete as all plugins are affected.

Please people, think beyond your own little plugin's black box.

Comment 4 Jason Keirstead 2003-10-28 14:20:53 UTC
Subject: Re: [Kopete-devel]  If you delete a contact from a metacontact while talking to the contact, the chatwindow disappears.

On October 28, 2003 5:10 am, Martijn Klingens wrote:
> What should be done instead is move the contact to the temporary group
> until the chat closes. 

Being temporary or not has nothing to dfo with the problem, the problem is
the pointer is being deleted. Moving a contact you delete from the list to the 
temporary group isn't going to solve anything, the user will just see that 
and then go delete him from there as well. Unless you then pop up a dialog 
saying "you can't delete while talking to him". But it is MUCH cleaner 
UI-wise to just delay the deletion and set a flag as I said above.

> Ideally we add a special flag that simply hides the 
> contact from the contact list if it holds this flag but still keeps the
> actual object around.

.. as was posted above...

> All this talking about hacks in the protocols for stuff that should be done
> in libkopete as all plugins are affected.
>
> Please people, think beyond your own little plugin's black box.

Does anyone actually read the above comments and research things anymore 
before making uninformed replys? Seriously, sometimes I feel like I should 
just stop posting to BKO altogether, its becoming a giant circus.

IRC's contact cache is needed for things INTERNAL to IRC and as such is 
perfectly valid inside its "black box", and it is just a side-effect of it 
that it doesn't have this problem.

Comment 5 Martijn Klingens 2003-10-28 14:29:36 UTC
Subject: Re: [Kopete-devel]  If you delete a contact from a metacontact while talking to the contact, the chatwindow disappears.

On Tuesday 28 October 2003 14:20, Jason Keirstead wrote:
> Being temporary or not has nothing to dfo with the problem, the problem is
> the pointer is being deleted. Moving a contact you delete from the list to
> the temporary group isn't going to solve anything,

It is, it removes the contact from the serverside contact list, which should 
be done right away.

> the user will just see that and then go delete him from there as well.

This is valid and I addressed that below:

> > Ideally we add a special flag that simply hides the 
> > contact from the contact list if it holds this flag but still keeps the
> > actual object around.
> 
> .. as was posted above...

Not "above" but "below". I read my mails chronologically and you mentioned the 
hiding later last night.

> IRC's contact cache is needed for things INTERNAL to IRC and as such is 
> perfectly valid inside its "black box", and it is just a side-effect of it 
> that it doesn't have this problem.

Yes, but you mentioned it as an alternative for OSCAR and all other protocols, 
which is fundamentally wrong. There is nothing wrong with you using it only 
in IRC.

Comment 6 Jason Keirstead 2003-10-28 14:41:57 UTC
Subject: Re: [Kopete-devel]  If you delete a contact from a metacontact while talking to the contact, the chatwindow disappears.

On October 28, 2003 9:29 am, Martijn Klingens wrote:

> It is, it removes the contact from the serverside contact list, which
> should be done right away.

Moving someone to the temporary group in OSCAR certianly should not remove
him from the server side list, since you can't even talk to someone not on the
server side list. More correctly, it moves him to the server side temporary 
group. But this is inconsequential since it is back-end protocol stuff and 
doesn't have anything to do with removing the LVI item.

> Not "above" but "below". I read my mails chronologically and you mentioned
> the hiding later last night.

Well you should know that BKO is linear and you should read all the replys in 
the thread before replying yourself, duplicating comments and cluttering the 
thing up.

> Yes, but you mentioned it as an alternative for OSCAR and all other
> protocols, which is fundamentally wrong. There is nothing wrong with you
> using it only in IRC.

No, If you actually read the post you'd see I did not say anything even 
*remotely* like this. I in fact said the exact opposite.

"IRC needs this cache for other things though, so this may not be best for 
OSCAR. However, the mechanism the protocol uses is unimportant, the main 
point is you shouldn't actually be deleting the pointer to the contact until 
the conversation is closed. "

Comment 7 Olivier Goffart 2003-10-28 20:17:43 UTC
> If you delete a contact from a metacontact while talking to the contact, the
> chatwindow disappears.

I remember i did that as a workaround because it crashed