Closed
Bug 230577
Opened 21 years ago
Closed 21 years ago
mail address autocompletion chooses three addresses from address book entries of a certain form
Categories
(MailNews Core :: Composition, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla1.7alpha
People
(Reporter: burleigh, Assigned: mscott)
References
Details
Attachments
(2 files, 5 obsolete files)
8.52 KB,
image/jpeg
|
Details | |
3.27 KB,
patch
|
mscott
:
review+
Bienvenu
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7a) Gecko/20040110
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7a) Gecko/20040110
Address completion inserts three addresses when the addressee's Name in my
address book looks like
"Burleigh, Frank"
but selects one when the Name looks like
Frank Burleigh
Reproducible: Always
Steps to Reproduce:
1. Identity an addressee whose Name is in the form "Last, First" in your address
book.
2. Type enough into Compose's To line to allow autocomplete to find this
address, then press tab or enter.
Actual Results:
Three addresses, a few of which will be correct.
Expected Results:
One address that's correct.
These addresses are from Exchange correspondents, their names are within quotes
with the last name first, then a comma, then the first name. This behavior
began within the last week, I *believe* after a checkin here:
http://bugzilla.mozilla.org/show_bug.cgi?id=227206.
Comment 1•21 years ago
|
||
Frank Burleigh, please provide more information about the address-book entries,
both of the address you *want* to match and the addresses that are inadvertantly
matching:
Is the *only* name field in the correct 'address card' the First, with the
quoted name (e.g. "Burleigh, Frank") in it?
You said that of the addresses filled in, "a few... will be correct." Are there
multiple email addresses on that card, or are there multiple cards for these
individuals?
Is there any commonality between what you've typed in the To: field and the
incorrect address(es) that end up inserted?
CC'ing mscott due to the possible tie-in to 227206.
Reporter | ||
Comment 2•21 years ago
|
||
Attachment showing results of address completion.
All of autocompletion's guesses derive from the right AB entry--it gets the
right card but seems to parse it in multiple ways and then yield a number of
results to me (also: only one address per these cards). Further testing shows
that <tab> after I type (in this case) "kl" gives me three addresses, whereas
<enter> gives me two addresses. I see by looking at the AB entries that the
fields include
First: "Frye, Kristy
Last: L"
Display: "Frye, Kristy L"
NB: these addresses have been captured by Moz, I didn't create these. All of
the AB entries captured by Moz from my local Exchange correspondents seem to
have this form.
Assignee | ||
Updated•21 years ago
|
Assignee: sspitzer → mscott
Status: UNCONFIRMED → NEW
Ever confirmed: true
Target Milestone: --- → mozilla1.7alpha
Comment 3•21 years ago
|
||
See bug 182192, and also bug 168204.
Assignee | ||
Comment 4•21 years ago
|
||
There has to be an easy way to craft a reg expressionin JS to tokenize names by
commas not contained in quotes so we can get right:
"Smith, John" <foo.com>, Scott, David, "Smith, Jane" <bar.com>
and have that properly get parsed as:
"Smith, John" <foo.com>
Scott
David
"Smith, Jane" <bar.com>
I just don't know what the reg expression magic is to do that yet. It would
replace the following two lines in abAddressingWidgetOverlay.js:
fullNames = addressText.split(',');
numAddresses = fullNames.length;
cc'ing Neil as he was asking me about this bug
Status: NEW → ASSIGNED
Comment 5•21 years ago
|
||
This isn't perfect, but it deals with the obvious cases.
BTW, I think the address list dialog could do with something similar.
Assignee | ||
Comment 6•21 years ago
|
||
Neil, I initially wrote this code using the header parser but it doesn't work
for the case we are trying to fix. It doesn't cope with names (first and last)
separated by commas:
Scott MacGregor, David Bienvenu, John Smith
which was the case the original bug was fixing.
That's why i needed to use reg expressions to tokenize off of commas that aren't
contained within quotes.
Comment 7•21 years ago
|
||
Is there a reason that the header parser has that unusual effect?
Assignee | ||
Comment 8•21 years ago
|
||
because it thinks spaces which aren't contained in quotes are valid delimters
for names I believe.
Another way to fix this. This code really should not be executing at all unless
the text box contains a list of addresses delimited by comma. Instead, we
should be doing exactly what we used to do to autocomplete (or not) the line.
But because the address has a comma in the quoted part, we think we have a list
and call into the new code which parses down a comma delimited list of
addresses. We could fix this by making our test for a comma delimited list smarter.
That would mean modifying the if clause here:
http://lxr.mozilla.org/seamonkey/source/mailnews/compose/resources/content/addressingWidgetOverlay.js#857
Comment 9•21 years ago
|
||
So how would
"Smith, John", Scott MacGregor, David Bienvenu, "Smith, Jane"
work?
Assignee | ||
Comment 10•21 years ago
|
||
as in how would the header parser interpret that?
"Smith, John"
Scott
MacGregor
David
Bienvenu
"Smith, Jane"
Comment 11•21 years ago
|
||
But you'd still need some code that would parse my test case into this list:
"Smith, John"
Scott MacGregor
David Bienvenu
"Smith, Jane"
Would it be unreasonable to change the header parser to do this?
Assignee | ||
Comment 12•21 years ago
|
||
this leverages regular expressions to fix this problem. I'm not sure whether to
fix it this way or by modifying the behavior of the msg header parser. This is
less riskier but I'm still open.
In addition to this change, we should also modify our search for a comma in the
text field to search for a comma outside of quotes before calling into
parseAndAddAddresses.
Assignee | ||
Updated•21 years ago
|
Attachment #139417 -
Attachment is obsolete: true
Comment 13•21 years ago
|
||
This also goes some way to fixing a bugbear of mine - when you get a message
whose header contains "To: Undisclosed Recipients" mail changes it to *To:*
_Undisclosed_ , _Recipients_ but this patch changes it to display *To:*
_Undisclosed Recipients_ although I would prefer *To:* Undisclosed Recipients
Assignee | ||
Comment 14•21 years ago
|
||
I only wonder why that code was added (probably back in the 4.x days), at some
point we seemed to think we had split based on spaces. HOw can we prove to
ourselves we can safely remove that check....
Assignee | ||
Comment 15•21 years ago
|
||
*** Bug 232848 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 16•21 years ago
|
||
I've been running a build with the modified header parser behavior that Neil
has suggested and:
1) I get the most consistent results going through the modified header parser
rather than any reg expressions logic I can come up with.
2) Granted I am a small sample set, but I have not run into any email messages
where the MUA used spaces instead of commas to delimit addresses anymore.
I'd like to go with this approach if Neil is on board.
Assignee | ||
Updated•21 years ago
|
Attachment #139473 -
Attachment is obsolete: true
Attachment #139503 -
Attachment is obsolete: true
Assignee | ||
Comment 17•21 years ago
|
||
Attachment #140532 -
Attachment is obsolete: true
Assignee | ||
Comment 18•21 years ago
|
||
Comment on attachment 140533 [details] [diff] [review]
attaching the correct patch
most of this came from what Neil already wrote :)
Attachment #140533 -
Flags: review?(neil.parkwaycc.co.uk)
Comment 19•21 years ago
|
||
Comment on attachment 140533 [details] [diff] [review]
attaching the correct patch
>+ var strippedAddresses = addressText.replace(/.* >> (.*)/, "$1"); // strip any leading >> characters inserted by the autocomplete widget
I suggest you put the comment on the previous line, and you may want to
simplifiy the regexp to addressText.replace(/.* >> /, "");
Attachment #140533 -
Flags: review?(neil.parkwaycc.co.uk) → review+
Assignee | ||
Comment 20•21 years ago
|
||
Attachment #140533 -
Attachment is obsolete: true
Assignee | ||
Comment 21•21 years ago
|
||
Comment on attachment 140687 [details] [diff] [review]
updated patch with neil's comments
carrying forward Neil's r, seeking sr.
Attachment #140687 -
Flags: superreview?(bienvenu)
Attachment #140687 -
Flags: review+
Updated•21 years ago
|
Attachment #140687 -
Flags: superreview?(bienvenu) → superreview+
Assignee | ||
Comment 22•21 years ago
|
||
fixed on the trunk and the M4 branch.
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Updated•20 years ago
|
Product: MailNews → Core
Updated•17 years ago
|
Product: Core → MailNews Core
You need to log in
before you can comment on or make changes to this bug.
Description
•