Last Comment Bug 760644 - E-mail composition should have a "Delivery Status Notification" option, like Thunderbird does
: E-mail composition should have a "Delivery Status Notification" option, like ...
Status: RESOLVED FIXED
:
Product: SeaMonkey
Classification: Client Software
Component: MailNews: Composition (show other bugs)
: Trunk
: All All
: -- normal (vote)
: seamonkey2.13
Assigned To: Edmund Wong (:ewong)
:
:
Mentors:
Depends on: 93085
Blocks:
  Show dependency treegraph
 
Reported: 2012-06-01 13:18 PDT by Lyle
Modified: 2012-07-07 04:35 PDT (History)
2 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
Add DSN option to compose Option menu (v1) (3.71 KB, patch)
2012-06-13 18:24 PDT, Edmund Wong (:ewong)
no flags Details | Diff | Splinter Review
Add DSN option to compose Option menu (v2) (3.71 KB, patch)
2012-06-13 21:15 PDT, Edmund Wong (:ewong)
neil: review-
Details | Diff | Splinter Review
Add DSN option to compose Option menu (v3) (5.76 KB, patch)
2012-06-14 20:58 PDT, Edmund Wong (:ewong)
no flags Details | Diff | Splinter Review
Add DSN option to compose Option menu (v4) (8.15 KB, patch)
2012-06-15 19:45 PDT, Edmund Wong (:ewong)
neil: review+
Details | Diff | Splinter Review
Add DSN option to compose Option menu (v5) (4.33 KB, patch)
2012-06-17 07:26 PDT, Edmund Wong (:ewong)
ewong: review+
Details | Diff | Splinter Review

Description Lyle 2012-06-01 13:18:15 PDT
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20120429 Firefox/12.0 SeaMonkey/2.9.1
Build ID: 20120429011004

Steps to reproduce:

I opened e-mail, clicked on "Compose," and selected Options from the menu bar.



Actual results:

There was a "Return Receipt" option, but no "Delivery Status Notification" option.



Expected results:

There should be a "Delivery Status Notification" option under the "Return Receipt" option. Thunderbird has that option, and it is very useful for tracking mail delivery with several ISP's. So, why doesn't SeaMonkey have that option?
Comment 1 rsx11m 2012-06-01 14:38:40 PDT
That's basically bug 93085 for which the partial check-in with attachment 281195 [details] [diff] [review] created both the backend as well as the additional menu item in Thunderbird (but not SeaMonkey):

(Quoting David :Bienvenu from bug 93085 comment #61)
> The Seamonkey folks will need to decide if they want to add this to their UI
> - right now, it's just in TB.

Changes in mail/ affected MsgComposeCommands.js, messengercompose.xul, and for the strings messengercompose.dtd, as well as installer additions.

There is ongoing discussion for further changes, thus it's not quite clear to me what the remaining purpose of that bug is. Anyway, this bug here could be used for SM parity with Thunderbird to the current implementation, thus I'd tend to confirm it rather than to dupe it against bug 93085.

[On a side note: Early versions of the suite still had a global setting for requesting return receipts and/or delivery status notifications, which were removed per bug 38308.]
Comment 2 Edmund Wong (:ewong) 2012-06-13 18:24:49 PDT
Created attachment 632985 [details] [diff] [review]
Add DSN option to compose Option menu (v1)
Comment 3 rsx11m 2012-06-13 18:52:41 PDT
Comment on attachment 632985 [details] [diff] [review]
Add DSN option to compose Option menu (v1)

> +<!ENTITY dsnMenu.label           "Delivery Status Notification">
> +<!ENTITY dsnMenu.accesskey       "D">

Edmund, that accesskey definition collides later with: 

<!ENTITY fileCarbonCopyCmd.label "Send a Copy To">
<!ENTITY fileCarbonCopyCmd.accesskey "d">

Both are in the "Options" menu.
Comment 4 rsx11m 2012-06-13 19:05:16 PDT
Unless I'm missing something, you should be able to change fileCarbonCopyCmd to "S" and then free up "D" for dsnMenu, or is there any other conflict?
Comment 5 Edmund Wong (:ewong) 2012-06-13 21:15:32 PDT
Created attachment 633007 [details] [diff] [review]
Add DSN option to compose Option menu (v2)

Changed D to l as the accesskey for the DSN
Comment 6 neil@parkwaycc.co.uk 2012-06-14 05:58:21 PDT
Comment on attachment 633007 [details] [diff] [review]
Add DSN option to compose Option menu (v2)

> <!ENTITY returnReceiptMenu.label "Return Receipt">
> <!ENTITY returnReceiptMenu.accesskey "t">
>+
>+<!ENTITY dsnMenu.label           "Delivery Status Notification">
>+<!ENTITY dsnMenu.accesskey       "l">
Nit: Could add blank line after the dnsMenu options, but it doesn't make sense to add a blank line before them.
Perhaps "N" or "S" would be a better accesskey?
(I wonder why Return Receipt doesn't use "R"...)

>+	var msgCompFields = gMsgCompose.compFields;
Tab character crept in here.

>+    msgCompFields.DSN = ! msgCompFields.DSN;
Nit: no space after !

>+    gDSNOptionChanged = true;
You seem to be missing the rest of the gDSNOptionChanged code.
Comment 7 rsx11m 2012-06-14 07:02:12 PDT
For comparison, Thunderbird uses "N" for dsnMenu.accesskey (others are identical).
Comment 8 Ian Neal 2012-06-14 13:32:07 PDT
(In reply to neil@parkwaycc.co.uk from comment #6)
> Comment on attachment 633007 [details] [diff] [review]
> Add DSN option to compose Option menu (v2)
> 
> > <!ENTITY returnReceiptMenu.label "Return Receipt">
> > <!ENTITY returnReceiptMenu.accesskey "t">
> >+
> >+<!ENTITY dsnMenu.label           "Delivery Status Notification">
> >+<!ENTITY dsnMenu.accesskey       "l">
> Nit: Could add blank line after the dnsMenu options, but it doesn't make
> sense to add a blank line before them.
> Perhaps "N" or "S" would be a better accesskey?
> (I wonder why Return Receipt doesn't use "R"...)
Well "S" used to be used by "Spellcheck As You Type" before it moved out of the Options menu.
Comment 9 Edmund Wong (:ewong) 2012-06-14 20:58:00 PDT
Created attachment 633386 [details] [diff] [review]
Add DSN option to compose Option menu (v3)
Comment 10 Philip Chee 2012-06-15 05:31:27 PDT
> +var gDSNOptionChanged;
Any reason why you aren't positioning this together with gReceiptOptionChanged;
.....
> +  gDSNOptionChanged = false;
Any reason why you aren't positioning this together with gReceiptOptionChanged = false;

> You seem to be missing the rest of the gDSNOptionChanged code.
You're still missing several bits like this chunk here:
https://bugzilla.mozilla.org/attachment.cgi?id=281195&action=diff#mozilla/mail/components/compose/content/MsgComposeCommands.js_sec6
Comment 11 neil@parkwaycc.co.uk 2012-06-15 07:00:35 PDT
Comment on attachment 633386 [details] [diff] [review]
Add DSN option to compose Option menu (v3)

> <!ENTITY returnReceiptMenu.label "Return Receipt">
> <!ENTITY returnReceiptMenu.accesskey "t">
>+<!ENTITY dsnMenu.label           "Delivery Status Notification">
[Don't need to line these up, it's not file style.]

>+<!ENTITY dsnMenu.accesskey       "l">
[Access key hasn't changed :-( ]

>+function ToggleDSN(aTarget)
In addition to what Ratty said, this belongs after ToggleReturnReceipt.
Comment 12 Edmund Wong (:ewong) 2012-06-15 18:23:03 PDT
(In reply to neil@parkwaycc.co.uk from comment #11)

> >+<!ENTITY dsnMenu.accesskey       "l">
> [Access key hasn't changed :-( ]

Someone forgot to qrefresh the patch.  ;/
Comment 13 Edmund Wong (:ewong) 2012-06-15 19:45:00 PDT
Created attachment 633759 [details] [diff] [review]
Add DSN option to compose Option menu (v4)
Comment 14 neil@parkwaycc.co.uk 2012-06-16 08:54:17 PDT
Comment on attachment 633759 [details] [diff] [review]
Add DSN option to compose Option menu (v4)

>+          var prevDSN = prevIdentity.DSN;
>           var prevAttachVCard = prevIdentity.attachVCard;
> 
>           if (prevIdentity.doCc)
>             prevCc += prevIdentity.doCcList;
> 
>           if (prevIdentity.doBcc)
>             prevBcc += prevIdentity.doBccList;
> 
>           var newReplyTo = gCurrentIdentity.replyTo;
>           var newCc = "";
>           var newBcc = "";
>           var newReceipt = gCurrentIdentity.requestReturnReceipt;
>+          var newDSN = gCurrentIdentity.DSN;
The Thunderbird code has a bug; these two should be .requestDSN (but msgCompFields.DSN is correct). r=me with that fixed.

>@@ -3392,8 +3418,9 @@ function getPref(aPrefName, aIsComplex)
>     case Components.interfaces.nsIPrefBranch.PREF_INT:
>       return Services.prefs.getIntPref(aPrefName);
>     case Components.interfaces.nsIPrefBranch.PREF_STRING:
>       return Services.prefs.getCharPref(aPrefName);
>     default: // includes nsIPrefBranch.PREF_INVALID
>       return null;
>   }
> }
>+
Oops ;-)
Comment 15 Edmund Wong (:ewong) 2012-06-17 07:26:23 PDT
Created attachment 633897 [details] [diff] [review]
Add DSN option to compose Option menu (v5)

Fixed nits.
Comment 16 Edmund Wong (:ewong) 2012-06-17 18:28:24 PDT
Pushed to comm-central:
http://hg.mozilla.org/comm-central/rev/d4e85c946f4c

Note You need to log in before you can comment on or make changes to this bug.