Closed Bug 378224 Opened 15 years ago Closed 1 year ago

Implement optional toolbar button: Toggle return receipt

Categories

(Thunderbird :: Message Compose Window, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED
Thunderbird 78.0

People

(Reporter: u142003, Assigned: thomas8)

References

(Blocks 1 open bug)

Details

(Whiteboard: [relnotetb78])

Attachments

(5 files, 3 obsolete files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Build Identifier: version 2.0.0.0 (20070326)

Whereas requesting return receipts are for some users great, when used too frequently or in cases where they don't really belong, the recipient might find them quite annoying. For users who have chosen the setting "Always request return receipts", NOT requesting RRs are in those cases really easy to overlook. The option for toggling return receipts are "hidden" under the "Options" menu and is thus not visible enough. 

The compose mail toolbar is quite spacious and thus, a toolbar button for toggling Request RR on/off would fit nicely. In a future version of Thunderbird I would like to see such a button. It would be really helpful for those who request RRs in most of their e-mails but not in all.

Reproducible: Always

Steps to Reproduce:
1. Click "Write" in the main Thunderbird window. Nothing tells the writer if a RR request will be sent.
2. Click the "Options" menu. There you'll see whether a RR request will be sent.
Assignee: mscott → nobody
Return Receipt is an Add-on that do this job, but I don't very like the way it does, I would prefer something like a check box.

Link: https://addons.mozilla.org/fr/thunderbird/addon/6038

However, I think this should be include in TB core, not in an Add-on.
Also, the status of this bug should be "Confirmed", isn't it?
Flags: wanted-thunderbird3?
Confirming. wanted3- though
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: wanted-thunderbird3? → wanted-thunderbird3-
Duplicate of this bug: 486279
Duplicate of this bug: 512925
I vote for this small change (also "Delivery Status Notification" on toolbar), which can now be workarounded with "Return Receipt Toolbar Button" plugin.

Pretty old and pretty urgent.
AFAIK there is no add-on available any more for the current TB version.

This thread is quite old (13 years).

Yet I still do not understand why the Return Receipt Button has not become a standard feature, as it is in Outlook (among others).
Since the app is not longer working, I am back to having to go to "Options" then select "Return Receipt".

It may look like nothing to most.
But when you have to repeatedly send several (but not all) mails with that flag activated, like I do (I am using Thunderbird professionally!), it quickly becomes extremely tedious!!!

That is why I do not understand such a reluctance to implement this simple functionality.

Just my 2 cents...

(In reply to Francois G. from comment #8)

Hello Francois, thanks much for sharing your user experience as a professional user!

This thread is quite old (13 years).

Yeah, unfortunately that can happen in a big project, more so with stormy history...

Yet I still do not understand why the Return Receipt Button has not become a standard feature, as it is in Outlook (among others).

We certainly don't want Outlook to look better! ;-)

Since the app is not longer working, I am back to having to go to "Options" then select "Return Receipt".

You mean the addon is no longer working... I see.

It may look like nothing to most.
But when you have to repeatedly send several (but not all) mails with that flag activated, like I do (I am using Thunderbird professionally!), it quickly becomes extremely tedious!!!

As part of the crew with a special focus on Enterprise Support, I can totally understand that use case.
I don't know how many times I have wished for that button to be there, and how many times I went to back to the clumsy menu to check if the return receipt setting is really right. Extremely tedious indeed, for something which should be straightforward and visible...

That is why I do not understand such a reluctance to implement this simple functionality.

Not reluctance as such, it needs the right people, with the right skills, and time available, to know about and focus on this particular bug amongst thousands of others. Please do CC me next time on similar UX issues.

We are here to make our enterprise users happy as far as we can..., so...
I will fix this right now! :-)

Summary: Toolbar button: toggle return receipt → Implement toolbar button: Toggle return receipt
Attached patch 378224_returnReceiptButton.diff (obsolete) — Splinter Review

This implements an optional toolbar button [Receipt] for Composition Toolbar, available via toolbar customization.

Must-have especially for enterprise users who want to efficiently control this feature on a per-message basis. Having to check return receipt status in Options menu is easily forgotten and very clumsy.
With the button, it becomes a snap, and the status of return receipt is now visible.

Richard, could you share ideas for an icon and add the CSS part?
Aceman, would you have a look if I correctly covered all corners of the command implementation?

Let's be fast because this needs strings, string freeze at the end of this week.

Assignee: nobody → bugzilla2007
Status: NEW → ASSIGNED
Flags: needinfo?(richard.marti)
Attachment #9152207 - Flags: review?(mkmelin+mozilla)
Attachment #9152207 - Flags: review?(acelists)

Expected behaviour:

  • keep menu checkmark and button status in sync at all times (this bug)
  • upon changing identity, apply new identity's settings for return receipt, but only if the user hasn't manually toggled the return receipt in the meantime, then that should be respected (I haven't changed the algorithm for that, only made the button to sync, too).
  • return receipt per-message setting is saved in draft, so should survive closing and reopening of draft (we had that)
  • changing the return receipt setting is an intentional change that must prompt the user to save the message, even if it was the only change (I fixed that).
Attached image Icon proposal - KISS

Here's my proposal for a simple and intuitive icon.

We could get that as an actual SVG from:
https://www.iconfinder.com/icons/4633138/delivered_double_read_tick_icon

(In reply to Thomas D. from comment #13)

Created attachment 9152248 [details]
Here's my proposal for a simple and intuitive icon.

... looking good on the new button!

We could get that as an actual SVG from:
https://www.iconfinder.com/icons/4633138/delivered_double_read_tick_icon

Attachment #9152249 - Flags: feedback?(richard.marti)

Hello Thomas,

Thank you for taking charge in this matter.
This looks promising: nice and efficient!

Could I test the function?
By inserting the code somewhere, or otherwise?
I have several Thunderbird instances running, and I can use the one for my private mails as an acceptance environment f.i.

Regards,
François

Comment on attachment 9152249 [details]
Mockup1: Proposed icon on the new button

I'll attach a SVG.
Flags: needinfo?(richard.marti)
Attachment #9152249 - Flags: feedback?(richard.marti) → feedback+
Attached image check.svg

I propose you add it to your patch and ask aleca for ui-r.

Summary: Implement toolbar button: Toggle return receipt → Implement optional toolbar button: Toggle return receipt

(In reply to Francois G. from comment #15)

Could I test the function?
By inserting the code somewhere, or otherwise?

Yes. Replied via email with a full instruction how to safely set up daily with test profile, unpack omni.ja and edit/replace files in the flat local install, then testing live.

Attached patch 378224_returnReceiptButton.diff (obsolete) — Splinter Review

Updated patch with return-receipt icon.

(In reply to Francois G. from comment #15)

Hello Thomas,
Thank you for taking charge in this matter.
This looks promising: nice and efficient!

Hi Alex, this review is a bit urgent because it involves strings (stringfreeze Monday, June 1st).

Users on this bug and duplicates, inluding enterprise users (comment 8) and myself, have long missed a toolbar button for viewing and changing the status of Options > Return Receipt. Outlook has that, too. So here it is.
It's a plain vanilla button available from toolbar customization (available for those who need it, not doing any harm to those who don't). So it won't stop us from implementing more sophisticated variants of this in the future, but for now, let's just fix this long-standing usability gap.

Attachment #9152207 - Attachment is obsolete: true
Attachment #9152207 - Flags: review?(mkmelin+mozilla)
Attachment #9152207 - Flags: review?(acelists)
Attachment #9152724 - Flags: ui-review?(alessandro)
Attachment #9152724 - Flags: review?(alessandro)
Comment on attachment 9152724 [details] [diff] [review]
378224_returnReceiptButton.diff

Review of attachment 9152724 [details] [diff] [review]:
-----------------------------------------------------------------

The button and the icons look good.
Unfortunately this doesn't work for me as the Return receipt checkbox in the menuitem doesn't sync with the toolbar button, and the menuitem doesn't seem to work anymore.
Attachment #9152724 - Flags: ui-review?(alessandro)
Attachment #9152724 - Flags: ui-review+
Attachment #9152724 - Flags: review?(alessandro)
Attachment #9152724 - Flags: review-
Comment on attachment 9152724 [details] [diff] [review]
378224_returnReceiptButton.diff

Review of attachment 9152724 [details] [diff] [review]:
-----------------------------------------------------------------

::: mail/themes/shared/jar.inc.mn
@@ +136,4 @@
>    skin/classic/messenger/icons/popular.svg                    (../shared/mail/icons/popular.svg)
>    skin/classic/messenger/icons/quit.svg                       (../shared/mail/icons/quit.svg)
>    skin/classic/messenger/icons/quote.svg                      (../shared/mail/icons/quote.svg)
> +  skin/classic/messenger/icons/return-receipt.svg             (../shared/mail/icons/return-receipt.svg)

And when you are on a new patch, can you insert this line alphabetically correct?
Attached patch 378224_returnReceiptButton.diff (obsolete) — Splinter Review

(In reply to Alessandro Castellani (:aleca) from comment #20)

Review of attachment 9152724 [details] [diff] [review]:

Unfortunately this doesn't work for me as the Return receipt checkbox in the
menuitem doesn't sync with the toolbar button, and the menuitem doesn't seem
to work anymore.

Ouch! Indeed, forgot to copy over the main thing: <command.../>
That should fix it. Works perfectly on local install, Win10.

(In reply to Richard Marti (:Paenglab) from comment #21)

  • skin/classic/messenger/icons/return-receipt.svg (../shared/mail/icons/return-receipt.svg)

And when you are on a new patch, can you insert this line alphabetically
correct?

Sure. Didn't see that.

Attachment #9152724 - Attachment is obsolete: true
Attachment #9152809 - Flags: ui-review+
Attachment #9152809 - Flags: review?(alessandro)
Comment on attachment 9152809 [details] [diff] [review]
378224_returnReceiptButton.diff

Review of attachment 9152809 [details] [diff] [review]:
-----------------------------------------------------------------

This looks good, I think.
I never implemented a toolbar button of this type so I'm not sure I'm the best candidate to give an r+
Ping Magnus or Geoff for a final review.

::: mail/components/compose/content/MsgComposeCommands.js
@@ +1062,5 @@
> +        // Update checkmarks on menuitems and toolbarbuttons.
> +        for (let element of document.querySelectorAll(
> +          'menuitem[command="cmd_toggleReturnReceipt"], ' +
> +            'toolbarbutton[command="cmd_toggleReturnReceipt"]'
> +        )) {

Could we maybe only use the `[command="cmd_toggleReturnReceipt"]` attribute as a selector?
Attachment #9152809 - Flags: review?(alessandro) → feedback+

(In reply to Alessandro Castellani (:aleca) from comment #23)

Review of attachment 9152809 [details] [diff] [review]:
This looks good, I think.

> ::: mail/components/compose/content/MsgComposeCommands.js
> @@ +1062,5 @@
> > +        // Update checkmarks on menuitems and toolbarbuttons.
> > +        for (let element of document.querySelectorAll(
> > +          'menuitem[command="cmd_toggleReturnReceipt"], ' +
> > +            'toolbarbutton[command="cmd_toggleReturnReceipt"]'
> > +        )) {

Could we maybe only use the [command="cmd_toggleReturnReceipt"] attribute
as a selector?

We could, but I'd think having to check all elements of the entire document if they have a command attribute should be less performant than just looking for two types of tags and checking on them if they have that attribute, unless if there are optimizations or hashes which improve the speed. Unfortunately I wouldn't know how best to check performance.

Comment on attachment 9152809 [details] [diff] [review]
378224_returnReceiptButton.diff

Hi Geoff, Alex asked me to refer this review to you (or Magnus).
It's a simple toolbar button with command implementation, available via toolbar customization. So essentially it's very much the same like other buttons and commands that we have in composition. Works for me as it should on Win10, local install.
Needs strings so please review before string freeze on Mon, 01-06-2020.
Attachment #9152809 - Flags: review?(geoff)
Comment on attachment 9152809 [details] [diff] [review]
378224_returnReceiptButton.diff

Review of attachment 9152809 [details] [diff] [review]:
-----------------------------------------------------------------

Looks okay to me with a few nits fixed.

::: mail/components/compose/content/MsgComposeCommands.js
@@ +1062,5 @@
> +        // Update checkmarks on menuitems and toolbarbuttons.
> +        for (let element of document.querySelectorAll(
> +          'menuitem[command="cmd_toggleReturnReceipt"], ' +
> +            'toolbarbutton[command="cmd_toggleReturnReceipt"]'
> +        )) {

Or just reference them both by id?

::: mail/components/compose/content/messengercompose.xhtml
@@ +2088,5 @@
>        </menulist>
>      </toolbaritem>
>  
> +    <toolbarbutton class="toolbarbutton-1"
> +           id="button-returnReceipt"

The id attribute goes before the class attribute, and all of them should be aligned with the first one.
Attachment #9152809 - Flags: review?(geoff) → review+

Address nits of comment 26.
Tested updating of checkmarks (as discussed with darktrojan on chat): works flawlessly.
Please land before string freeze on Mon, 1st June.

r=darktrojan (from comment 26)
ui-r=aleca (from comment 20)

Attachment #9152809 - Attachment is obsolete: true
Attachment #9153021 - Flags: ui-review+
Attachment #9153021 - Flags: review+

(In reply to Thomas D. from comment #27)

Please land before string freeze on Mon, 1st June.
r=darktrojan (from comment 26)
ui-r=aleca (from comment 20)

Target Milestone: --- → Thunderbird 78.0

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/ad9902d060b0
Implement optional Return Receipt button for Composition Toolbar. ui-r=aleca, r=darktrojan

Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED

Awesome! Thanks.

Status: RESOLVED → VERIFIED
Regressions: 1644345
Comment on attachment 9153021 [details] [diff] [review]
378224_returnReceiptButton.diff

Review of attachment 9153021 [details] [diff] [review]:
-----------------------------------------------------------------

::: mail/components/compose/content/MsgComposeCommands.js
@@ +1065,5 @@
> +        // Update checkmarks on all UI elements associated with the command.
> +        cmdToggleReturnReceipt.setAttribute(
> +          "checked",
> +          msgCompFields.returnReceipt
> +        );

Don't do this, we don't want any more magic of setting attributes on a <command> to let broadcast stuff.
Whiteboard: [relnotetb78]
Blocks: 1646875
You need to log in before you can comment on or make changes to this bug.