No way to delete WHOLE communication history of a contact?

I’ve just discovered that selecting the “Clear contact history” menu option (in Phone / History tab) does NOT delete contact history but only a some small part of it from the most recent period of time.

How can I delete selected contact’s ENTIRE call history, all the entries and not just some recent ones?

I can’t find any other option to do this anywhere else, and each use of the aforementioned “Delete contact history” option only removes some recent entries, and all the older events are still there intact and can still be accessed in selected contact’s details in the People app, and reappear in the Phone / History tab after restarting voicecall-ui -prestart.

I’ve checked commhistory-tool but it doesn’t seem to have any function to delete one selected contact’s history.

Do you have setup some type of contact sync?

No, nothing. All contacts are local and not synchronized with anything.

As for why I am trying to delete some contacts’ history… I have some contacts who I call (or get calls from) multiple times a day, so their history contains literally thousands of entries. I’ve recently noticed that I’m starting to have problems with those specific contacts - for example their contact pictures frequently fail to be shown on incoming and/or outgoing calls (even though the image itself is there and is correctly shown in the contact card). Like if it was taking to long to browse such excessive amount of data of a contact with such massive call history and the Phone app / voicecall UI didn’t manage to load the image in time.

So I wanted to clear those contacts’ history to check if it helps, only to discover that it’s not doable, for the “Clear contact history” option doesn’t clear history but only some recent part of it.

P.S. Inside /usr/share/voicecall-ui-jolla/pages/CallHistoryView.qml there is a comment that this option “Removes all entries for this contact from the list of recent calls”. So, apparently, it’s that option’s INTENDED behavior to only remove RECENT entries. Completely unlike what its name says, which is totally misleading. What’s even worse, it turns out that there is clearly no way to delete contact’s entire history.

Oooh… I’ve found a simple hack to delete the entire call history of a contact…

In /usr/share/voicecall-ui-jolla/pages/CallHistoryView.qml there is a CommCallModel which has a property _limit set to 200. I’ve manually changed it to 2000, restarted voicecall-ui and voila! selecting the “Clear contact history” option removed ALL (thousands) of entries.


There is this bug report, but I didn’t had the time/found out how to easily reproduce it.

It’s a different story. That bug report refers to cases where contact pictures suddenly disappear from the contact card (there is no picture as if it was never setup for that contact). Whereas in my case the image is still normally shown in the contact card, it only no longer shows up in the voice call UI upon incoming or outgoing calls.

Oh, thank you for the clarification. It’s indeed not the same behaviour.

I’ll keep monitoring it and if it persists and if I have some further evidence of what may cause that images of some contacts stop showing up in Phone UI during calls (and only there), I’ll fill a separate bug report.

Back to the problem with deleting the contact history, it turns out that it is intentionally restricted so by Jolla using the _limit property in /usr/share/voicecall-ui-jolla/pages/CallHistoryView.qml. Why they did so (and made it impossible to delete contact’s entire call history from the UI) is completely beyond me.

1 Like

Can you create 2 bug reports? One for the behavior when the history is very long and one for deleting?

I am not yet sure if there’s a connection between long history of a contact and the problem with contact picture not being shown. I managed to delete that contact’s history, so I’ll keep monitoring it.

As for the clearing the contact history issue, yes, I’ll create a bug report. But judging by the aforementioned comment included in /usr/share/voicecall-ui-jolla/pages/CallHistoryView.qml describing the function of the “Clear contact history” option as " “Removes all entries for this contact from the list of recent calls ” it looks that - for some mysterious reasons - it is intented by Jolla to work so, with such a misleading name (which should rather be “Clear contact’s RECENT history”).

While increasing the value of the _limit property allows clearing more entries (and a value big enough allows clearing the entire long history of a contact), it is only a dirty and temporary hack because at the same time it increases the number of entries shown on the list of recent calls in the History tab of the Phone application, which may have its own side effects. The “Clear contact history” function is simply written in such a strange way that it does not operate on a contact’s entire communication history data, but only on its sub-range limited by the size of the model used to show the recent calls list. So it would need a complete rewrite, or if it is really intended to work so then its name should be changed to clearly state that it removes only a few recent entries, and a separate option should be added somewhere else to clear the entire contact history, or else it is not possible at all for an ordinary user.

1 Like

Bug report created:

In that case it is a bug in the documentation of the feature, which hopefully leads a developer to rethink the purpose of a feature :wink: