Data loss: attachment option "Save All" fails to prompt user if destination dir has an existing file w/ same file name.



MailNews: Message Display
18 years ago
13 years ago


(Reporter: pmock, Assigned: jefft)




Firefox Tracking Flags

(Not tracked)


(Whiteboard: [nsbeta3+][PDTP2][dogfood-] -will verify on branch build)


(1 attachment)



18 years ago
Build Date & Platform Bug Found: 
 win32 commercial seamonkey build 2000-091906-m18 installed on P500 Win98
 macos commercial seamonkey build 2000-091904-m18 installed on G3/400 OS 9.04

Overview Description: 
 Reported by Jeff Tsai.  If you receive a message that contain 2 different with 
the same name and try to save all the attachment at once, the 1st attachment 
will be overwritten by 2nd attachment.

Steps to Reproduce: 
1) On your hard drive, select two different files such as a gif or jpeg
   Recommend the file being different file size to make it easier to recognize.
2) Rename one of the file with the same name as the first.
3) Start seamonkey
4) Open Mail
5) Start a new mail message
6) Address the mail message to yourself and type in a subject title
7) Attach both files
8) Send the mail message
9) Get Mail
10) Select the mail message
11) Click on the attachment paperclip icon and click "save all"
12) Select your location and click ok
    The 1st attachment is saved then overwritten by the 2nd file attachment.

Actual Results: 
 The first file is downloaded and saved to the hard drive then is overwritten by 
the 2nd file attachment.

Expected Results: 
 We should either ask the user for a different file name or automatically make 
the 2nd file a unqiue file name.

Additional Builds and Platforms Tested On: 
 In Communicator 4.7x, we automatically prevented the 1st file from being 
overwritten by adding a "-1, -2, etc" numeric number to the file name to make it 

Additional Information:

Comment 1

18 years ago
Adding keyword dataloss, dogfood, and nsbeta3 as a potential candidate...
Keywords: dataloss, dogfood, nsbeta3
QA Contact: esther → pmock

Comment 2

18 years ago
reassigning to jefft.
Assignee: putterman → jefft

Comment 3

18 years ago
Isn't the workaround to simply save the first attachment separately?  If so,
that would negate the data loss portion of this.

I find it difficult to believe this is a dogfood issue.  Does this happen to you
often for some reason?
Whiteboard: [dogfood-][b3 need info]

Comment 4

18 years ago
I find this behavior very distrubing and serious because
 a) not prompting the user that it deleting a file is not user friendly.  In 
this simple case with 2 files, it easy to see.  If I had many attachments, it 
becomes harder to save attachment individually.
 b) it dataloss because a user will not know that the 1st file is missing.  What 
if the user deletes the mail message after saving the files?  
 c) I don't usually attach two different file with the same name, but I can see 
were someone might run into this situation if they send 2 revision of the same 
file, e.g. code changes or report changes...
 d) It dogfood now because there is a more serious scenario.  The "Save All" 
will replace an "existing" file on your hard drive if it happens to be the same 
name as the attachment you are trying to save.  It silently replaces the file.  
I know I would be upset if I overwrote a file by mistake.  Try this scenario:
 1) In a test directory, copy a file into the directory.
 2) In another directory (source), rename a different file and call it the same 
name as the 1st file.
 3) Start seamonkey
 4) Open mail
 5) Start a new message 
 5.5) Attach the 2nd file and one other attachment different from the test 
      You need at least 2 attachment to have the "Save All" option available.
 6) Address the message to yourself, add a subject title, then send the message
 7) Retrieve the message
 8) Use the "SAVE ALL" option to save the file attachments to the test directory 
that contains the 1st file.
    It will wipe out the file in that directory.

This bug can be re-summunarize as: attachment option "Save All" fails to prompt 
user if destination dir has an existing file w/ same file name.

Old summary: a loss: saving 2 attachment w/same name will overwrite 1st file

Re-submitting for evaluation.... 
Clearing white board info ... Updating summary....
Summary: Data loss: saving 2 attachment w/same name will overwrite 1st file → Data loss: attachment option "Save All" fails to prompt user if destination dir has an existing file w/ same file name.
Whiteboard: [dogfood-][b3 need info]

Comment 5

18 years ago
I have to agree with Peter as we discovered this bug yesterday.

I used to have a statement to make sure every attachment has its own unique name
when the first time I implemented the "save all" feature. For some reason it
gets deleted.

A typical and easy to reproduce example is to forwarding a couple or more
forwarded messages and then receive the mail and does a save all. As one can see
all the forwarded message has the display name set to "forward.msg". Forwarding
forwarded messages will have all the display names set to "forward.msg". Do a
save all will only have the last forward.msg saved because the file gets
overwrite over and over again. If a user think he can save all the attachments
for viewing later and delete the original message after the save then this is a
serious data loss.

The right solution for this is to pop up a dialog box ask user for replacing the
existing file and then prompt for another file name if the user decided not to.

Recommending for nsbeta3+, dogfood.

Comment 6

18 years ago
Thanks for the clarification.  Marking nsbeta3+, P2 due to reasonably frequent
data loss scenarios.  Not much time left for P2s though...

I still don't buy the dogfood argument, but nsbeta3+ should suffice.
Priority: P3 → P2
Whiteboard: [nsbeta3+]
Target Milestone: --- → M18

Comment 7

18 years ago
Thank you selmer. :)

Comment 8

18 years ago
PDT agrees P2, and we wouldn't want to ship with this bug, even though Save All
may not be the most frequently used thing.
Whiteboard: [nsbeta3+] → [nsbeta3+][PDTP2]


18 years ago
Whiteboard: [nsbeta3+][PDTP2] → [nsbeta3+][PDTP2] Fix in hand, reviewing....

Comment 9

18 years ago
Created attachment 15171 [details] [diff] [review]
a fix

Comment 10

18 years ago
I don't think this would really stop folks from using the product.  The file is 
not saved, but it strikes me that it would be apparent very quickly that this 
was the case (my habbits lead me to use files soon after I save them).  I don't 
believe that "Save All" is an exceptionally common command to use, and the 
work-around is all too obvious (save 'em one at a time).
Marking dogfood-minus
Whiteboard: [nsbeta3+][PDTP2] Fix in hand, reviewing.... → [nsbeta3+][PDTP2][dogfood-] Fix in hand, reviewing....

Comment 11

18 years ago
Fix checked in.
Last Resolved: 18 years ago
Resolution: --- → FIXED


18 years ago
Whiteboard: [nsbeta3+][PDTP2][dogfood-] Fix in hand, reviewing.... → [nsbeta3+][PDTP2][dogfood-] -will verify on branch build


18 years ago

Comment 12

18 years ago
Verified as a fixed on win, linux, and macos using the following builds:
 win32 commercial seamonkey build 2000-092509-m18 installed on P500 Win98
 linux commercial seamonkey build 2000-092508-m18 installed on P200 RedHat 6.2
 macos commercial seamonkey build 2000-092511-m18 installed on G3/400 OS 9.04

Verified on trunk b/c branch has not occured.
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.