Adding unknown email addresses to Mailing list, then deleting ghost duplicate entries from contacts pane, causes dataloss in mailing list (contacts pane list is not updated/refreshed)

VERIFIED FIXED in Thunderbird 36.0

Status

defect
--
critical
VERIFIED FIXED
9 years ago
3 years ago

People

(Reporter: phays, Unassigned)

Tracking

(Depends on 1 bug, Blocks 2 bugs, {dataloss})

unspecified
Thunderbird 36.0
Dependency tree / graph

Thunderbird Tracking Flags

(thunderbird36 fixed)

Details

(Whiteboard: [Fixed by bug 1061648][STR comment 2])

Reporter

Description

9 years ago
User-Agent:       Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7

On several occasions I have edited Address Book "Properties" for an email list. Since installing the last upgrade (problem may have started before then and was not noticed) if I delete an entry (drag and select, then press the "Delete" key) the line goes blank and then nothing else happens. Clicking the "OK" button does nothing. If I press "Delete" again, no change appears in the dialog. The "ESCape" key doesn't end the dialog. The only way to get out of the Properties dialig that I have found is to click the "Close" (X) button at the top right corner.

If I then open the same "Properties" dialog I find many of the prior entries are missing. I have had to rebuild this particular mail list three times now, and it is becoming very annoting!

Reproducible: Always

Steps to Reproduce:
1.Open Address Book "Properties" dialog.
2.Delete entry from address list (list with multiple entries - I haven't tried single entry lists).
3. "OK" doesn't work.
4. Close with "Close" (X) button.
5. Open same "Properties" dialog.
6. More than one netry is missing.
Actual Results:  
1. The "OK" button didn't work.
2. After closing the dialog with the "Close" (X) button and reopening the dialog, multiple entries were missing. It appears that they were all of the entries from the actual deleted entry to the end of the list.

Expected Results:  
I would expect:
1. Only one entry wouold be deleted from the list.
2. The "OK" button would close the "Properties" dialog.

To my knowledge I have not changed the default properties of the program. I don't care about trivial nonsense like "themes" etc. I just want to send/receive email.

Updated

8 years ago
Severity: major → critical
Keywords: dataloss
Summary: Lost data from Address Book → Lost data from Address Book list

Comment 1

8 years ago
I can confirm with TB 9 on WinXP and TB 12.0a2 on Linux.
Easily reproducible:
 - create new list
 - add few addresses
 - save
 - open this list and delete last address
 - hit OK
 - in my case is list duble. After close/open address book is one of this entry gone.
Nothing in error console, safe mode same problem.

Comment 2

7 years ago
Hmmm. Tricky, but real, and very confusing UX.
This is what I see on WinXP, TB12.0.1:

STR (make sure to follow exactly, extra clicks anywhere else will spoil it!)

1 create new AB (file > new > address book), name: "TestAB"
2 create new Mailing List with single entry within TestAB:
- (select TestAB), then click [New List] button, type List Name: "myList"
- then add a single *new* email address which does not yet exist(!) in any of your ABs: type "test1@asdf.com" into first slot
- press OK once (or Enter twice)
3a look at contacts list pane of myList
-> there are two identical entries of "test1@asdf.com" (but you added only one)
3b look at status bar
-> Total contacts in myList: 2 (but you added only one)
3c veryify Properties of myList (select myList, Ctrl+I)
-> actual contacts in myList: 1 (that's true)
- OK or Cancel to close
4 delete any one of the duplicate entries
5 repeat 3a to 3c
-> there is one entry of "test1@asdf.com" in contacts pane (wrong: ghost entry)
-> status bar claims: Total contacts in myList: 1 (wrong: ghost entry)
-> myList Properties, actual number of contacts: 0 (that's true)
6 focus TestAB, then refocus myList
-> ghost entry goes away
-> you are left with nothing in your myList
(so by deleting ghost duplicate entries from contacts list pane, you are deleting primary entries of your list)

Depending on the method of deletion etc., you can also get into states where deleting list entries from contacts list pane is entirely impossible, because they are all ghost entries which will go away after deselecting and reselecting myList in the AB left pane.

The UX of this is ultimately confusing, and very broken.

The solution might be as simple as a single extra list-refresh/screen update for the contacts pane, which makes ghost-entries go away.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [STR comment 2]

Updated

7 years ago
Summary: Lost data from Address Book list → Adding unknown email addresses to Mailing list, then deleting ghost duplicate entries from contacts pane, causes dataloss in mailing list (need extra contacts pane list/screen refresh/update)

Comment 3

7 years ago
And another minor UX oddness:

STR / actual results

From myList Properties (list with multiple entries >=3), delete first or middle entry (not last entry) manually by removing the email address from its slot with DEL or backspace.
Click OK -> nothing
Click OK again -> sometimes works
Click OK 3rd time -> always works (didn't test for large lists)

Addresses will be correctly deleted from Mailing List, but ghost entries might still be around, or even increased, until de- and re-selection of myList in AB list pane.

Comment 4

7 years ago
Some errors along this way:

Timestamp: 21.05.2012 13:11:48
Error: An error occurred updating the cmd_delete command: [Exception... "'[JavaScript Error: "cards[i] is null" {file: "chrome://messenger/content/addressbook/abResultsPane.js" line: 156}]' when calling method: [nsIController::isCommandEnabled]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: chrome://global/content/globalOverlay.js :: goUpdateCommand :: line 80"  data: yes]
Source File: chrome://global/content/globalOverlay.js
Line: 86

Timestamp: 21.05.2012 13:12:21
Error: An error occurred executing the cmd_delete command: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIAbView.deleteSelectedCards]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: chrome://messenger/content/addressbook/abCommon.js :: AbDelete :: line 280"  data: no]
Source File: chrome://global/content/globalOverlay.js
Line: 100

Timestamp: 21.05.2012 13:11:07
Error: An error occurred executing the button_delete command: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIAbView.deleteSelectedCards]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: chrome://messenger/content/addressbook/abCommon.js :: AbDelete :: line 280"  data: no]
Source File: chrome://global/content/globalOverlay.js
Line: 100

Comment 5

7 years ago
(In reply to Thomas D. from comment #4)
> Some errors along this way:

Not sure if these come from deleting the Mailing list entries or deleting real AB entries, which I also did during testing.

Comment 6

7 years ago
I didn't check for dupes yet.

Updated

7 years ago
See Also: → 434014

Updated

7 years ago
Summary: Adding unknown email addresses to Mailing list, then deleting ghost duplicate entries from contacts pane, causes dataloss in mailing list (need extra contacts pane list/screen refresh/update) → Adding unknown email addresses to Mailing list, then deleting ghost duplicate entries from contacts pane, causes dataloss in mailing list (contacts pane list is not updated/refreshed)

Updated

7 years ago
Blocks: 758969
perhaps bug 757931 also?
Blocks: 699357

Updated

6 years ago
Duplicate of this bug: 809855

Comment 9

6 years ago
This bug also occurs when contacts/cards with a secondary email address are added to a mailing list. 

When the secondary email address is added to a mailing list then a new duplicate contact/card is created for that email address. When the duplicate contact/card is removed from the address book then the email address also disappears from the mailing list.

So adding the secondary email address of an already existing contact/card to a mailing-list results in a duplicate contact/card being created.

Comment 10

5 years ago
Problem still present with Thunderbird 31.0 on Ubuntu 12.04 & 14.04

When adding new addresses in an existing Mailing list via the "Properties" dialog, they get ghost-duplicated in the list, so deleting one deletes the other. Refocusing the Mailing list tab is necessary to refresh the list.

Comment 11

5 years ago
:mconley, :bienvenu, :standard8 (AB Module owners per https://wiki.mozilla.org/Modules/MailNews_Core), et alii, this looks like an ux-papercut candidate to me. The UX here is extremely irritating and damaging (contacts dataloss), so I think this should be fixed asap without waiting for new AB (of which we'll never know when it really comes). The fix might be as simple as a single extra list-refresh/screen update for the contacts pane, which makes ghost-entries from mailing list editing go away. If user can do it by defocusing manually and re-focusing the contacts list pane, TB should be able to do that refresh programmatically?

Any ideas or starting points in code? Anybody who knows AB better to give us a starting point in code?

E.g., we could say, each time the mailing list properties dialogue is closed, let's explicitly refresh the contacts list pane.
Flags: needinfo?(standard8)
Flags: needinfo?(mozilla)
Flags: needinfo?(mconley)
OS: Windows XP → All
Hardware: x86 → All
bienvienu is not following bugmail.
Flags: needinfo?(mozilla)
I've looked into similar issues like this before. The code is a mess of notifications and from what I remember, it is actually very difficult to handle all the cases of updates correctly.

A refresh after mailing list update might be possible, but we're dealing with a sync system behaving as async, so it might be difficult to get in the right place. I could be wrong though.

The best place to start looking, would be nsAbView and track down which notifications are coming in at the wrong times, and where they are coming from.
Flags: needinfo?(standard8)
Flags: needinfo?(mconley)

Comment 14

5 years ago
I have the issue with duplicated items under openSuse Thunderbird 31.1.2

Comment 15

5 years ago
Maybe this gets fixed by bug 1061648. Steven, can you look at it with your knowledge gained from that bug?
Flags: needinfo?(sschaub)

Comment 16

5 years ago
bug 1061648 is a variation of this bug. I think that the fix for bug 1061648 does attempt to address this issue.
Flags: needinfo?(sschaub)

Comment 17

5 years ago
This looks like a bug I also discovered and posted on Mozilla Support, where it was suggested that I file a bug. First time here, so I hope I am doing this right. Here's what I reported...

Bugs in adding addresses to an address list which are not already in the Address Book

1. Open the Address Book.

2. If you don't already have an address list, create one.

3. Select the address list, and click on [Properties].

4. Add several addresses not already in the Address Book,

   including one or more of the form "name<address@service>".

5. Click OK.

   > BUG 1: Each of the new addresses is displayed in the address list twice.
   > BUG 2: The last character of the name is missing from "name<address@service>" addresses.

6. Make some changes to one address.

   > The change appears in both copies of the contact,
   > showing that the duplicates are just duplicate displays of a single entries.

7. Delete one of the contacts from the address list.

   > The address now appears only once the address list.

8. Switch the display to another address list or to the Address Book.

9. Reopen the address list.

   > Each new contact is there only once,
   > except for the one deleted in step 7,
   > confirming that the duplicate displays were of single entries.

Comment 18

5 years ago
So it seems bug 1061648 was fixed for TB 36. Thomas, can you retest this?

Comment 19

5 years ago
Great news: This has been fixed by bug 1061648, where Stephen Schaub just walked in and fixed it! Thanks!

(In reply to Thomas D. from comment #11)
> The fix
> might be as simple as a single extra list-refresh/screen update for the
> contacts pane, which makes ghost-entries from mailing list editing go away.
> If user can do it by defocusing manually and re-focusing the contacts list
> pane, TB should be able to do that refresh programmatically?
> 
> E.g., we could say, each time the mailing list properties dialogue is
> closed, let's explicitly refresh the contacts list pane.

FTR: That's exactly how patch attachment 8485153 [details] [diff] [review] has fixed this issue (so I was right...).
Depends on: 1061648
Whiteboard: [STR comment 2] → [Fixed by bug 1061648][STR comment 2]

Comment 20

5 years ago
Fixed by bug 1061648, essentially a one-liner to update the contacts list pane each time mailing list properties dialogue is exited with OK,.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED

Updated

5 years ago
Status: RESOLVED → VERIFIED
Target Milestone: --- → Thunderbird 36.0

Updated

5 years ago
Depends on: 1106783

Updated

5 years ago
Duplicate of this bug: 1107901

Comment 22

5 years ago
Great news that this is fixed... but I have the "up to date" version of Thunderbird - 31.3.0. The message below comment 20 says it is fixed in version 36.0!!! So how long do we have to wait for a "fixed bug" to be released to the users????
Thunderbird 36 is scheduled to be released sometime in February of 2015. In the meantime, 36 is currently on the "EarlyBird" channel. If you'd like to help test it, you can get a copy here:

https://www.mozilla.org/en-US/thunderbird/channel/

Updated

4 years ago
See Also: → 1193290

Comment 24

3 years ago
This fix did not solve the problem that I mentioned above (see comment 9).

When I delete the ghost entry from the address book, then it also disappears from the mailing list, whereas the email address existed as a secondary email address in the first place and afterwards still does.

I retested it on:
TB: 38.7.2
Win7_64bit

Comment 25

3 years ago
Please try with TB45. If it still exists, please open a new bug and reference thus bug 628035.

Also, is your problem not covered by some of the already open bugs linked here? E.g. bug  	699357, bug 758969 ?
You need to log in before you can comment on or make changes to this bug.