Not working "Display Name: Show on display name for people in my address book"
Hi,
I am using Thunderbird 91.6.0 (64-bit) on macOS Catalina 10.15.7 (19H1713).
The behaviour of the "Display Name: Show on display name for people in my address book" setting under "Thunderbird / Preferences / General" is not working properly. I have to toggle the setting to get it to recognise any new changes to the address book (i.e additions, modifications or deletions). Once that setting has been toggled off/on then the name displayed in the UI is correct from them on but prior to toggling this setting no new changes to the address book are shown in the UI.
I am guessing that the relevant cache is not being updated when changes are made to the address book, and that the action of toggling the Display Name setting off/on triggers an action to read through the address book(s) and update the cache.
Restarting Thunderbird after making a change to the address book for NOT resolve this problem so the cache is not updated during a restart of Thunderbird.
This behaviour happens for; (i) additions of a new contact to the address book, (ii) an update of an existing contact in the address book, and (iii) the deletion of a contact from the address book. It does not seem to matter what address book the contacts are in. They can be in any address book you have created.
If you remove a contact from the address book, or remove a contact's display name then that is not reflected in the UI even after a restart of Thunderbird. You have to toggle the setting off then on in order for Thunderbird to see the change and display the correct name (i.e. the contact deletion or the update/removal of a contact's display name). Again suggesting that the cache is not refreshed after those operations as well.
In the UI I have the "From" and "Recipient" columns showing. I do not display "Correspondents".
Example pictures attached.
01.From Shows Firefox.png 02.Copy Email Address.png 03.Nothing in address book yet.png 04.Add New Contact to Address Book.png 05.Contact now in address book with a Display Name.png 06.Display Name in UI not showing Display Name from new contact.png 07.Settings Display Name Showing Ticked.png 08.Settings Display Name Toggle Off.png 09.Settings Display Name Toggle On.png 10.Display Name in UI now correct.png 11.Delete Contact From Address Book.png 12.Contact No Longer in Address Book.png 13.Display Name in UI still showin (now deleted) display name.png 14.Settings Display Name Showing Ticked.png 15.Settings Display Name Toggle Off.png 16.Settings Display Name Toggle On.png 17.Display Name in UI now correct.png
I do have a large Thunderbird cache (approx 1 GB), which I have not deleted but I do not think the size of the cache is an issue here since the toggle off/on resolves the problem. Deleting the Thunderbird cache may well resolve the problem as that action may trigger the address book to be read again and the appropriate cache recreated but I suspect the problem will reappear again afterwards.
I don't have another installation of Thunderbird that I can test this on, e.g. a Windows install. I only have this one client on macOS.
Thanks in advance for looking in to this.
所有回覆 (6)
sfhowes,
Thanks.
Bug 1669274 is talking about the Display Name behaviour but it's not talking about the problem I am seeing, although the work-around seems to be the same (i.e. to toggle the setting off/on). However, it does confirm that toggling the Display Name setting off/on causes "a database" to be refreshed which is the action that I think is not happening when I add/update/delete a contact in my address book. Quote below.
> go to Preferences:General and toggle the "Show only display name.." checkbox to cause the database to be refreshed.
This used to work in previous versions but I can't remember when it stopped working as this has been a pain for me for quite a long time and I've only just got around to reporting it as an issue. I'm sure the issue here is that this "database" is not being refreshed when an address book is modified. If that function has been disabled for performance reasons (e.g. for large numbers of contacts) then that could be a reason for the behaviour I am seeing but I have a personal account with just 1161 contacts across my address books and that's not many.
Bug 1039177 isn't relevant. I don't see any special characters or DBCS characters in any display names although I did find an "&" in one of them which I've now removed.
Where do we go from here?
The images you posted always display a 'search' result. So it is unclear whether you are talking about a search result not being updated. I'm assuming the Preferences:General "Show only display name.." checkbox is selected.
Clear the search result, so you are viewing the folder message list.
Select an email where sender is not in address book, so email displays in lower Message Pane. In the header - Click on the FROM email address with an outlined star and select 'Add to Address Book' the 'outline of star' should change to a solid blue star. click on FROM email address again and select 'Edit contact' then click on 'Edit details' Type 'TEST' in the 'Display' - so it is distinctly different. Make sure the 'Always prefer display name over message header' is selected. click on OK
What do you now see in the header of that email? Does that FROM email address now show 'TEST' ?
Toad-Hall, Thanks for your input.
> The images you posted always display a 'search' result. > So it is unclear whether you are talking about a search result not being updated.
It's not a search problem. I used the search feature on my inbox purely and simply to filter the on screen results so they only showed the entry I wanted to capture for evidence purposes, to save me from having to edit out / obfuscate the other results to protect the email addresses of real people as I was taking a screen shot from my live inbox.
> I'm assuming the Preferences:General "Show only display name.." checkbox is selected.
Yes. It's ticked and works for 100s of email addresses that are in my address book with an entry in the "Display Name" field whether the inbox (or other folder) is searched/filtered or not. It's only when I add, remove or change the "Display Name" field in an address book entry that the problem occurs.
As I've said already. The behaviour is probably down to the cache that controls what is displayed in the user interface not being refreshed until the Preferences:General "Show only display name.." checkbox is unchecked then checked again. That action appears to cause that cache to be rebuilt/refreshed and then the display name shows correctly for the changes I've made to entries in the address book.
How do we get the code owner/maintainer to look at the source code to understand what the expected behaviour is here?
One other thing ...
I've already tried deleting the panacea.dat file in case that was corrupt and was causing this problem. Thunderbird rebuilt it when it restarted, and the problem persisted afterward.
So I did a bit more digging to see what files are changed on the filesystem in my profile directory from a terminal window.
- When I add a new contact to an address book with a display name (of my choice) then I can see that the directoryTree.json, abook-1.sqlite-wal, panacea.dat and prefs.js files get updated. However. The From field in the UI for my inbox does not show the Display Name for that contact from the address book contact I just added.
- When I uncheck then check the Preferences:General "Show only display name.." checkbox then I see that the xulstore.json file is updated along with prefs.js (obviously as I just changed a preference). Now the correct Display Name for the contact shows in the From field in the UI for my inbox, i.e. it shows what I put in as the Display Name field in that contact's address book entry.
Reversing this.
- When I delete the new contact from my address book then I see the directoryTree.json, abook-1.sqlite-wal, panacea.dat, logins.json and prefs.js files get updated. However, the From field in the UI for my inbox continues to show the details from the Display Name that was in that contact's address book entry, which it shouldn't since I just deleted it.
- When I uncheck then check the Preferences:General "Show only display name.." checkbox then I see only the prefs.js file being updated (obviously as I just updated a preference). The From field in the UI for my inbox no longer shows the Display Name from the now deleted contact. It has reverted to show the name from the mail message itself (as its supposed to).
I might be going down a rabbit hole here, and the file/cache that's important might not be one of the ones I've mentioned above, i.e. it could be in a sub-folder that I'm not seeing as I've only been looking in the root of my profile folder.