User control needed on Cleanup
pahariwalla - March 19, 2009 - 19:22
| Project: | Instant messenger |
| Version: | 6.x-1.x-dev |
| Component: | Code |
| Category: | feature request |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | reviewed & tested by the community |
Jump to:
Description
Conversations are supposed to be deleted from the DB when both parties log off (hook_user, op = logout). Seems to work intermittently. Needs testing,

#1
I think that it's actually working.... needs testing.... any volunteers ? :-)
#2
Seems to be working now!
#3
Hey @Nathaniel !! Thanks so much for testing it out. You now have the dubious distinction of being the first person in this IM module community to really be doing the pure community thing. Much appreciated!
p.s. also nice to feel like I can close out this ancient ticket ... :-)
#4
Sorry, before closing... :P
I think I have the same problem. I'm using the module only as testing, but it just show me a message I've sent like 2 weeks ago to that user.. so it wasn't deleted on logoff.
Another thing I found, a bit strange, is that if a user click on the username of the friend who want to speak to, it appears that message one time, but if someone (that is nonsense but could happen) click twice or many times on the username, it will show the same message duplicated, that is not nice.
This is for information, if it's needed I'll open an issue only for this.
#5
Hello :)
Empty your im_msg table and start anew.
#6
Are you running cron?
There is the situation that a user does not log out, but just closes the browser - probably more common than not. In this case this "cleanup on logoff" will not run. The allback for this is cron - which runs the same routine that runs when user logs off.. So, if you are not running cron, this cleanup will not happen..
#7
Ops, my fault.. I was only closing the browser without logging out.
Some users will do the same on their home pc to achieve an automatic login, but I'll solve running cron when the cleanup is needed.
Thank you again.
#8
Hi, I tested this, with logging out both users, and i still get old messages to see.
further, thanx for the great module! nice work.
#9
I solved using poormanscron. Every time you run cron, old data in the messenger will be erased.
#10
#11
Clean up does not work satisfactory for me too, but the discussion simply highlight a design fact.
This design is OK in my opinion, but it does not totally address the user needs (it is more a good database maintenance practice)
The problem is that in many situation, the message clean up will not occur when we expect it to.
Suggestion:
why not adding an actionable icon below the sound control to erase the message list?
This control would be confirmed (Are you sure you want to wipe out all messages in this conversation?) and permissionned
I changed the nature of the issue and the title accordingly
#12
Thanks for the heads up. I thought I has already posted here, but there are a couple similar issues and I probably posted there ... anyway, there is a bug in the clean up and i'm actually working on it, and am considering changing the way it works.
I did actually make a link that lets the user "clear" the conversation but I never committed it because I wanted more user feedback on one "problem", i.e. as soon as I clear a conversation, the other user's console also gets emptied and they don't know why ... might be surprising. maybe we can send them a msg that says "your friend just cleared the conversation" or something
Please see #465150: Clear Button and let me know what you think. If we can keep it simple, it should be easy to add as a feature.
thanks
#13
What about a history management?
Once cleared, conversations could be retrieved by participants.
(= another button to access history) . That would open a separate window, not messing the conversation aea up.
Total erasing would be still needed, but by admin only (in the settings page)
The message would be still needed to inform participant who did the clearing and that they can still access it
I am not sure the data base structure is appropriate, but this would mean that conversations are cleared on a user/conversation basis.
A clear request would effect:
- the current (active) conversation the user is in
- all the past (inactive) conversations the user had participated
- It should not effect conversations between other users