suurjaak / Skyperious

Skype chat history tool
Other
350 stars 36 forks source link

Blocked non-contacts #89

Closed rpodric closed 3 years ago

rpodric commented 3 years ago

When I did an online sync to a new db (to avoid any confusion with a legacy db from Skype 7), I noticed that in addition to my real contacts I had all kinds of spammy ones with names like "xoxhottie_chelsea8933" in Chats. I was puzzled about these until I eventually realized that they were in my blocked contacts list in Skype. These are random people on the Internet who tried to get me to chat with them. I didn't, and they're not actual contacts.

Is there a way for sync to filter out these non-contacts by default? They have zero messages, so if there is no other field that would give away such non-contacts, maybe not syncing anything with zero messages would work (after all, what is the point of having something in Skyperious with zero messages).

I thought unblocking these accounts and re-syncing would make them go away, but somehow that didn't, even with a new db. It's a bit puzzling, but Skype must "remember" them online somewhere.

I thought deleting them from Conversations in Data Tables would work, and it does, but only until the next sync.

It's true that selective sync would work, but there's nothing in the selective sync list until you sync once, and by then it's too late. Plus, you'd have to selective sync every time.

Thanks

suurjaak commented 3 years ago

At the moment, the sync pulls in all contacts, blocked or not. The only way to get rid of them currently, would be deleting them manually from the database.

I suppose it could be made so that blocked contacts are skipped on update - at least if there is no chat history with them.

I will add this to my TODO list.

rpodric commented 3 years ago

Or maybe even it take it a step further: never sync anything containing no messages. I heard from someone who confirmed the presence of blocked contacts, but he also said that he had some contacts in there that were legit but which had no messages since they never chatted. Those, like blocked contacts, would be useless in Skyperious.

suurjaak commented 3 years ago

Yes, that sounds reasonable.

suurjaak commented 3 years ago

Released v4.4: chats with no messages are no longer inserted to database on live sync.

rpodric commented 3 years ago

That's great, thanks.

As a follow-up question, do you think it would be worthwhile allowing deletion of chats from the Chats section (right-click, Delete)? This would be a way to excise the 0-message ones without editing the tables directly.

suurjaak commented 3 years ago

Not a bad idea. I'll add this to the TODO list, for the next release at some point.

In the meantime, you can execute this query in the SQL window:

DELETE FROM Conversations WHERE id NOT IN (SELECT convo_id FROM Messages)

After closing and reopening the database, conversations with 0 messages should be gone.

rpodric commented 3 years ago

Terrific. That's much easier than trying to figure them out in the table, where they're not all obvious.