Open Bug 281417 Opened 19 years ago Updated 7 months ago

"Get Mail" toolbar button should default to "Get new messages for all accounts" (vs. "Get mail for current account")

Categories

(Thunderbird :: Mail Window Front End, defect)

defect

Tracking

(Not tracked)

ASSIGNED

People

(Reporter: mdhaudio, Assigned: aceman)

References

(Depends on 2 open bugs, Blocks 1 open bug)

Details

(Keywords: ux-control, Whiteboard: [needs updated patch][UXPrio][tb-papercut])

Attachments

(3 files, 4 obsolete files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0

I have two accounts through my ISP, both are listed in Thunderbird and when i
hit the Get Mail button it only downloads messages from the first mail account. 

Reproducible: Always

Steps to Reproduce:
1.open thunderbird
2.hit Get Mail
3.downloads from first email account, ignores second account every time

Actual Results:  
Downloads from first account, ignores second account on same mail server

Expected Results:  
downloaded from first account and then from second account.
Do you have passwords saved for both accounts (or entered the passwords before
once)?
Summary: Get button doesn't work on more than 2 email accounts. → Get button doesn't work on more than 2 email accounts.
please check
Tools-->Acount Settings-->(name of Account)-->Server Settigs
maybe thunderbird is not configured to download mail from the second account

if everything looks fine in the settings, try to reproduce the bug with a new
profile
I believe this is by design, and it is a bad design.

If you click on the tiny drop down, next to the get mail button, you can get all
mail.

I suggest that the default action for the button should be get all, or some way
to make it so.

I never want to get mail from just one account, and not others.  What's the
point? Unless you are on dialup, and even then...

So this should be feature request.

Is there an easy way to do this with an extension?

Don


Please allow a configuration parameter or something, to allow the Get Mail button, to "get all mail", rather than having to use the tiny drop down.

QA Contact: front-end
Reporter, does the issue still exist in the latest supported 2.0.0.x / Shredder trunk nightlies?

(1.5.0.x is now end-of-life and the latest 2.0.0.x is version 2.0.0.16)
Whiteboard: closeme 2008-08-21
Yes it still exists in 2.0.0.16

Using the addon "easy get mail button" fixes it.

But why need an extension to make it work the way it should in the first place?

Hmmm, I think this is working as expected, and the "Get All Mail" selection makes it work the way you want.

Wayne, thoughts? Enh?
I too expect that "Get Mail" is supposed to get the current account and not all accounts, although the design choice was probably made in the era.

CC'ing clarkbw, bienvenu for their input.
OS: Windows XP → All
Hardware: PC → All
Whiteboard: closeme 2008-08-21
Version: unspecified → 2.0
I think most people probably assume the Get Mail button does get all their mail as it is a bit of an ambiguous term and (in the simple accounts cases) would be more helpful if it was getting all your mail.  Of course it was probably made the current way in thinking that for people with many different accounts getting all your mail could be a long and costly procedure.

I'm not sure what the change should be here, if any, because there's another problem here that I believe we don't default to auto-checking mail accounts. 
Ok, it looks like I was wrong about the default to auto-checking mail accounts default.  It seems to be true on new accounts I've tested.

But I realized (of course in the shower today) that we really need to make this change and get it done correctly because it's going to be very important for other changes like ( bug 446306 - new folder pane ).

So my assumption remains that this button defaults to getting messages for only the current mail because it could take a while for thunderbird to return from checking all accounts.  We need to fix that issue and make this button do the right thing.

Likely we should prioritize the currently viewed account(s) over other accounts.  In the situation with our new folder pane a person could be looking at their meta-inbox which uses several accounts and we really need to get new messages for all those accounts.  But newsgroups probably don't want to be hammered every time you click get messages while looking at your inbox.  

So TB likely needs to prioritize the checking of the accounts that are currently in focus and also check all other accounts.  If TB has recently checked the other accounts that aren't in focus we should skip those such that we don't hammer them and can appear to finish quickly on the task the user was looking to complete.

So lets make the change for this button to work on all accounts and then start to file bugs that make the getting of all accounts faster and smarter than it is now.
Assignee: mscott → nobody
Flags: wanted-thunderbird3+
Priority: -- → P2
Target Milestone: --- → Thunderbird 3.0b2
Bryan: that's actually bug 125885 (opinions vary a lot on it). Evidently OE has a "Include this acct on send and receive" pref, which might perhaps be the best solution in the end. Definitely have some accounts i don't want it to check when "Get Mail" is performed, news accounts, feed, not to mention what to do when accounts doesn't have the password stored - put up 9 password prompts?
I think this can be done without the need for that pref, but I can understand people wanting to keep that amount of control over what is checked.  Specifically I think we have to treat feeds and newsgroup accounts differently than mail; by which I mean that are not automatically checked.  To avoid a nest of problems in the different account types the get all mail should only apply to email.

bug 123440 has the details about what to do with dialogs, basically if you hit "Get Mail" on an account you're viewing you need a prompt for the password.  The context of the interface suggest that you're expecting that mail to arrive.  If Thunderbird (in the background) goes checking your other accounts to keep you up to date then TB doesn't have the right to prompt you about it and needs to offer the information in a subtle inline method.
oops, this has passed the target for b1 :). 

It would be great to relieve these issues from 3-4 years of limbo land. Is there anything more to hash out?
I'm wondering how difficult it would be to add in the preference for this as magnus suggested in comment 11.  I'd like to see the get mail button work for all accounts by default, but allowing people to optimize it for their particular needs.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Get button doesn't work on more than 2 email accounts. → Get button doesn't work on 2 or more email accounts
Updating target Milestone.
Target Milestone: Thunderbird 3.0b1 → Thunderbird 3.0b3
Summary: Get button doesn't work on 2 or more email accounts → Get New Messages button doesn't work on 2 or more email accounts
491158 submitter...bottom line, momentarily, the client user should have the right to choose to have more than one "default" server setting choice from amongst his various server settings.  Secondly, that choice should be the default response from clicking on the tool bar "Get Mail" icon instead of having to scroll down even one item.  If one wants to itemize their email access, then the scroll down would give access to that/those choices. Its time to catch up with MailWasher which does a brilliant job of fencing in spam from multiple email accounts through one top tier tool bar choice.
After viewing comment #6 above suggesting that installing the addon "Easy Get Mail Buton," I decided to give it a shot. While it definitely changed the top tier "Get Mail" button function by seemingly creating some activity, it was unsure what that activity was as email from both accounts show up in my inbox or directed by already configured filters into other boxes without even clicking on the "Get Mail" tool bar icon.  That was annoying enough.  The killer was it effectively disabled my MailWasher Function as anything that showed up in my MailWasher gui would never leave it when I'd click on the MailWasher "process" button that fires up Thunderbird.  Disabling the addon returned my MailWasher function...and,of course, restored the malfunctioning "Get all new messages" function of only accessing the designated "default" server provided its mis-named "auto...." check box is checked.
I'm getting a little stuck with this code but so far this patch is on the right path.  Still left to do:

* Make the pref stick and default to true
** for some reason that fundamental piece isn't working
* Change the Get All Mail function to grab the list of accounts with this pref set to true

I'd appreciate if anyone looked over the code and left comments or suggestions in the bug.
Assignee: nobody → clarkbw
Status: NEW → ASSIGNED
Updating this bug and giving the round up of other similar type bugs I've been looking at.

* 'Get All New Messages' menu option does not get news
** bug 376804
** I haven't started to approach the problem of not including news by default, that may be a separate bug

* "Get Msgs" button should download all mail accounts
** bug 125885
** The seamonkey version of much of what this bug is doing

*  allow user to change default behavior of "Get Mail" toolbar button
** bug 301228
** We'll essentially be providing this, though not approaching it from that angle

* Means to exclude account from "Get New Mail" poll
** bug 318310
** Similar to above
Severity: major → normal
Priority: P2 → --
Whiteboard: [needs updated patch]
Version: 2.0 → Trunk
is this happen to non-default accounts only?  or, if another account is logged in first, can it happen that default account doesn't get the new mail?
I'm not really sure if this is what you're asking.  I expected the button behaviour to work like this.

If Get Mail is clicked while on a non-default account we would get mail for the default account and also get mail for other accounts.  Otherwise the get mail button would work for all default accounts whenever pressed.
Summary: Get New Messages button doesn't work on 2 or more email accounts → Toolbar "Get Mail" button doesn't work on 2 or more email accounts
you have the option to inckude each account in default mail collection. If you feel it takes too long to get all of them then leave ones out.If an account is ticked to pick up mail, then it should pick up mail
OK I really need help. I am looking through all these strings and can waist a week trying to find a bug but then what? this is as close as I found to my problem. I am not getting all my mail for a second account on the same Pop address.Some mail comes in but not all. I went under the tab "get mail" as suggested but still having no luck. I have another computer that reads that I have 21 messages under this account but under this Thunderbird only 7 came in.
PLEASE can someone help me?
This probably shouldn't be assigned to me anymore as I'm not actively working on it.  However I do think it's important so I'm adding :squib to the CC list in case he wants to take a look at making this happen.
Assignee: clarkbw → nobody
Status: ASSIGNED → NEW
Blocks: 534632
does this have the potential to help unified inbox?
Blocks: 516360
No longer blocks: 534632
Keywords: ux-control
See Also: → 125885, 318310
Target Milestone: Thunderbird 3.0b3 → ---
Blake, does this have the potential for UX-prio, looking at the high number of duplicates & votes in related bugs (incl. SM bug 125885)?

Adding dependencies per Bryan's comment 25.

(In reply to Wayne Mery (:wsmwk) from comment #33)
> does this have the potential to help unified inbox?

Yes, as per bug 516360, which is clearly a ux bug, not just poor design.
It's also another instance of TB's traditionally poor (yet improving) record of not respecting focus.
Depends on: 301228, 376804, 318310
Summary: Toolbar "Get Mail" button doesn't work on 2 or more email accounts → "Get Mail" toolbar button should default to "Get new messages for all accounts" (vs. "Get mail for current account")
(In reply to Thomas D. from comment #34)
> Blake, does this have the potential for UX-prio, looking at the high number
> of duplicates & votes in related bugs (incl. SM bug 125885)?

Sure.
(In reply to Blake Winton (:bwinton - Thunderbird UX) from comment #35)
> (In reply to Thomas D. from comment #34)
> > Blake, does this have the potential for UX-prio, looking at the high number
> > of duplicates & votes in related bugs (incl. SM bug 125885)?
> Sure.
Whiteboard: [needs updated patch] → [needs updated patch][UXPrio]
The patch only adds the per server pref but no code to check the value.

Does anybody want to take this or should I?
aceman:

Go for it! :)

-Mike
(In reply to Bryan Clark [:clarkbw] from comment #15)
> I'm wondering how difficult it would be to add in the preference for this as
> magnus suggested in comment 11.  I'd like to see the get mail button work
> for all accounts by default, but allowing people to optimize it for their
> particular needs.

Which should probably take into account people with low bandwidth and/or high cost connections - rare though they may be.
Assignee: nobody → acelists
This needs to somehow implement the new pref in the server settings.
Does it mean including it into nsIMsgIncomingServer.idl as a new attribute? And also in nsIMsgProtocolInfo.idl ? And then implement the accessors in ns*Services.cpp?
Or can it be made as some global?
David Bienvenu, can you please comment with some hints?
Status: NEW → ASSIGNED
I think it would just be an attribute on nsIMsgIncomingServer.idl, implemented by a pref. e.g., see http://mxr.mozilla.org/comm-central/source/mailnews/base/util/nsMsgIncomingServer.cpp#1684
Thanks I look into that.

I wonder if the new pref should not have inverted meaning to properly migrate existing profiles. I.e. if the pref is not set then include the account in the 'Get all' loop. So the pref would be exclude_account_from_get_all.
Attached patch WIP patch v2 (obsolete) — Splinter Review
This seems to work in some way.
For some reason, using GetMessagesForAllAuthenticatedAccounts does not check msgs on a RSS account for me.

Also I think this needs to add the currently selected account into the list, even if it needs a password. So that it also works as "Get msgs for the current account".

Also it needs the Seamonkey part ;)
Attachment #377778 - Attachment is obsolete: true
Attachment #636121 - Flags: feedback?(dbienvenu)
Comment on attachment 636121 [details] [diff] [review]
WIP patch v2

The not getting of RSS exists even without the patch. So either somebody finds out what to add so it works or we accept the patch as is, because it does not regress this part (but also does not make better).
Attachment #636121 - Attachment description: patch → WIP patch v2
Comment on attachment 636121 [details] [diff] [review]
WIP patch v2

this looks OK - I'll run with it in a bit.

need to rev the uuid here:

@@ -343,16 +343,20 @@ interface nsIMsgIncomingServer : nsISupp

use /// style comments here:

+  /* When "Get all Messages" is called, do not download messages from this server. */
+  attribute boolean excludeFromGetAll;
+
+  /* Download messages from this server when the application is started. */
Attachment #636121 - Flags: feedback?(dbienvenu) → feedback+
This is going to be a bit of surprise for some users, and the "exclude" preference won't help the people who want get new mail to just apply to the current account. But as long as Blake is happy with the change, I think it's fine, and we should relnote it.
What about my issues from comment 43?
rss feeds were checked for me, though I didn't have it selected. Adding the currently selected account seems like the right thing to do.
OK, I'd need to find out how to get the currently selected account (accounts). I think there is a function already doing that.
Blocks: 563334
Whiteboard: [needs updated patch][UXPrio] → [needs updated patch][UXPrio][tb-papercut]
Hi, from the wiki papercuts page, I found a one-line solution :
file mail/base/content/mailWindowOverlay.xul, line 1752 :
    <toolbarbutton id="button-getmsg"
                   type="menu-button"
                   class="toolbarbutton-1"
                   label="&getMsgButton.label;"
                   tooltiptext="&getMsgButton.tooltip;"
-                  oncommand="MsgGetMessagesForAccount(event.target._folder)"
+                  oncommand="MsgGetMessagesForAllAuthenticatedAccounts()"
                   observes="button_getNewMessages">

I think this is the essential part of the correction. Others parts (adding preferences on accounts, ...) are bonus (even if they provide a polished and coherent fonctionality).
I installed this one-line change in my current Thunderbird and it's all what I need !
Yeah, but then you have removed the functionality to only check the current account.
To check only one account, there is the popup menu.

The first comments on this bug confirm this :
- it seems obvious that the toobar button should check all accounts : because it's the most used function (iirc, it's the behaviour for Outlook an AppleMail)
- there is the popup if the user wants to check only one account

Regards,
I would argue the contrary. I only use it for single accounts i don't check all the time. For those i check all the time the accounts are of course set to check automatically so there's no need to hit a button to get mail.
Without reading the whole bug, have we already agreed on a way to allow customization between check all and check one as button default?
Options:
- pref & setting in Options to switch default action of single getmail button
- have two different buttons on toolbar customization

My advice: don't land this without such customization options. In the current situation of TB, let's avoid confronting people with new behaviour they can't revert while both behaviours have legitimate use cases. Similar to Magnus scenario, I have some old accounts which I never check (probably not even automatically), and I sometimes manually check may main account between automatic intervalls if I'm expecting a mail that very minute. I wouldn't want that action to check all my old accounts and other family members accounts, and the pref for each account doesn't help because it still doesn't provide a way to check single accounts from the main button without dropdowns and such. For similar reasons, I wouldn't land this without the per-account opt-in/out pref, either.
Attached patch WIP patch v3 (obsolete) — Splinter Review
I refreshed the patch. Getting mail from a single account from the dropdown should work now (apart from RSS and News, which didn't work before either).

I there anything missing?
(Apart the SM UI version...)
Attachment #636121 - Attachment is obsolete: true
Attachment #753479 - Flags: ui-review?(bwinton)
Attachment #753479 - Flags: feedback?(mkmelin+mozilla)
Attachment #753479 - Flags: feedback?(iann_bugzilla)
aceman, thanks for your great work on this.

> +<!ENTITY excludeFromGetAll.label "Exclude this account when getting all messages">

From a quick glance, I have one nitfix veto point to make:
Can we PLEASE invert the the logic from "exclude this account" to "include this account", both for the internal pref and the UI.

Current patch as I read it will add this checkbox to account options:
[ ] Exclude this account when getting all messages

That's entirely counterintuitive, because it requires double-negation logic to get the positive:

checked = true -> *ex*clude (do *not* get mails)
checked = false -> *in*clude (*do* get mails)

iow, in the current patch:
checkbox yes -> getmails no  (yes to excluding = yes to not getting)
checkbox no -> getmails yes  (no to excluding = no to not getting)

Really, double negation aka "no to not getting mails" or setting "yes" ticks for things that you do *not* want has a high potential for user confusion.
More so because I understand the patch wants to default to "include", which is "unchecked" in current inverted logic.

Wrong inverted logic was introduced here:
(In reply to :aceman from comment #42)
> I wonder if the new pref should not have inverted meaning to properly
> migrate existing profiles. I.e. if the pref is not set then include the
> account in the 'Get all' loop. So the pref would be
> exclude_account_from_get_all.

That's a clear case of ux-implementation level, hence violating this ux principle:
> interfaces should not be organized around the underlying implementation and
> technology in ways that are illogical...

It's fine to do the migration stuff ("if pref does not exist, include the account to be checked, i.e. create pref and set to true"), but we should not bother the user with that, and I'm sure it's not technically required to invert the logic.
(In reply to Thomas D. from comment #58)
> > +<!ENTITY excludeFromGetAll.label "Exclude this account when getting all messages">
> Current patch as I read it will add this checkbox to account options:
> [ ] Exclude this account when getting all messages
> Can we PLEASE invert the the logic from "exclude this account" to "include
> this account", both for the internal pref and the UI.

More specifically, whereever we have "exclude" in current patch, it should be "include", including the internal prefs:

> +<!ENTITY excludeFromGetAll.label "Exclude this account when getting all messages">
> + attribute boolean excludeFromGetAll;

...should become:

+<!ENTITY includeForGetAll.label "Include this account when getting all messages">
+ attribute boolean includeForGetAll;
etc.

For easier maintenance of code, it's crucial to keep visible and internal pref in line, so that "checked" in UI means "true" for the pref.
After that, adjust surrounding code accordingly as required.
OK, It seems doable. If I read it correctly, then if the pref is not set, nsMsgIncomingServer::GetBoolValue() returns the default value from pref("mail.server.default.*"). So I can have "true" there.
(In reply to Thomas D. from comment #58)

> It's fine to do the migration stuff ("if pref does not exist, include the
> account to be checked, i.e. create pref and set to true"), but we should not
> bother the user with that, and I'm sure it's not technically required to
> invert the logic.

On second thoughts, I'm also (still) worried about the migration experience and general ux of this for existing users (see my comment 55 which is unanswered so far), and I read comments like David Bienvenu's Comment 46 and Magnus Comment 54 sharing that worry.


1) For new accounts, default to includeForGetAll=true

When new accounts are created, I think it's OK to include them for Get All. User can disable that any time if it's unwanted. We might want to check how discoverable disabling is.

2) Migration: for existing accounts, default to includeForGetAll=false

We should not force this radical change of behaviour of one of the most basic buttons (Get Mail) onto existing users. We have no way of telling if they want all their existing accounts suddenly and silently included for checking when they expect to just check the selected account. We have no idea how hazardous this might be for existing users, even dataloss due to unwarranted "delete on server" for POP.

3) Customizability: Option to preserve current behaviour

As described in comment 55, I think we will create as many ux problems as we solve if we just drop the current behaviour without any options to keep it.

Just checking the selected account from GetMail button is still a legitimate scenario (more so as it has been the default for ages), so we should offer ways of keeping the existing behaviour of the button, probably by pref including UI, something like:

Default action for "Get Mail" button:
[Get messages for all accounts v]
|Get messages for selected account]

For one of the core features of a mail reader, adding a single pref is not asking too much.

4) Always respect per-account pref (includeForGetAll=true|false) for GetAllNewMessages command

I'm still thinking about this, but intuitively, I'd expect this:

Regardless of user's choice for GetMail Button default behaviour (between "Get Selected" vs. "Get All", see 3), whenever "GetAllNewMessages" command is triggered, we should respect the new per-account pref which allows users to configure/fine-tune the "Get All" behaviour, i.e. generally include/exclude certain accounts. This makes "Get all" (from button default, OR from button dropdown) a lot more useful for both types of users.
Perhaps we could improve the label to express that only user-defined accounts (having includeForGetAll=true) will be checked.
(In reply to Thomas D. from comment #61)
> (In reply to Thomas D. from comment #58)
> 
> > It's fine to do the migration stuff ("if pref does not exist, include the
> > account to be checked, i.e. create pref and set to true"), but we should not
> > bother the user with that, and I'm sure it's not technically required to
> > invert the logic.
> 
> On second thoughts, I'm also (still) worried about the migration experience
> and general ux of this for existing users (see my comment 55 which is
> unanswered so far), and I read comments like David Bienvenu's Comment 46 and
> Magnus Comment 54 sharing that worry.
> 
> 
> 1) For new accounts, default to includeForGetAll=true
> 
> When new accounts are created, I think it's OK to include them for Get All.
> User can disable that any time if it's unwanted. We might want to check how
> discoverable disabling is.
> 
> 2) Migration: for existing accounts, default to includeForGetAll=false

Presupposing that pressing "Get Mail" will *always* get *at least* the selected account, regardless if button default is "Get All" or "Get Selected".

> 3) Customizability: Option to preserve current behaviour
>
> Default action for "Get Mail" button:
> [Get messages for all accounts v]
> |Get messages for selected account]

We'd probably want that option to default to "Get all" for both new and existing profiles, but I'm still reflecting the details...
 
> For one of the core features of a mail reader, adding a single pref is not
> asking too much.
Attached patch WIP patch v4 (obsolete) — Splinter Review
OK, I reversed the checkbox meaning. I could probably implement the pref but I'd rather not do some migration code.
Anyway, I'd like to hear from bwinton and other guys if they agree with your points.
Attachment #753479 - Attachment is obsolete: true
Attachment #753479 - Flags: ui-review?(bwinton)
Attachment #753479 - Flags: feedback?(mkmelin+mozilla)
Attachment #753479 - Flags: feedback?(iann_bugzilla)
Attachment #753856 - Flags: feedback?(mkmelin+mozilla)
Attachment #753856 - Flags: feedback?(iann_bugzilla)
Attachment #753856 - Flags: feedback?(bwinton)
(In reply to :aceman from comment #57)
> I refreshed the patch. Getting mail from a single account from the dropdown
> should work now (apart from RSS and News, which didn't work before either).

Feeds work just fine (at least before). NNTP is bug 376804 which might, possibly, be easily fixable: see bug 376804 comment 2.
Its true checkbox labels should always have positive wording. I don't think it matters much what the internal pref is though, as long as it's easily understood.

I'd also agree we can't set old accounts to be included by default.

All in all i'm not sure i'm really that happy with the whole approach - it sure is an obscure thing to have an ui pref for what a single button does :/
I'd like it if it could be some kind of customization through the button dropdown or such, but it's hard to come up with good ui for this :(
Comment on attachment 753856 [details] [diff] [review]
WIP patch v4

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

Maybe the Get Mail button could have a Configure... submenu where you'd set the include pref? And then a "Get Mail for Selected Account" submenu also.
Attachment #753856 - Flags: feedback?(mkmelin+mozilla)
Or we could have 2 buttons :) Leave the existing one as is and add a new one that is available from the Customize window.
Well it'd still be awkward to have the button configuration in the account settings.
If it would not be there, then we'd need some new configuration dialog. Or how do you imagine the "Configure... submenu" ?
That was the idea yes.
(In reply to Magnus Melin from comment #65)
> Its true checkbox labels should always have positive wording. I don't think
> it matters much what the internal pref is though, as long as it's easily
> understood.
> 
> I'd also agree we can't set old accounts to be included by default.
> 
> All in all i'm not sure i'm really that happy with the whole approach - it
> sure is an obscure thing to have an ui pref for what a single button does :/

Well, we already have UI prefs for single buttons, e.g.

Tools > Options...
- Forward Messages: Inline | As Attachment
- Open Messages in: A new tab | window | existing window
Tools > Account Settings...
- Compose in HTML

Note that all of these directly affect the behaviour of certain buttons.
Of course, it's sometimes obscure to dig for such settings. Otoh, we don't want all our settings in the primary UI, and having them centralized also has advantages.

> I'd like it if it could be some kind of customization through the button
> dropdown or such, but it's hard to come up with good ui for this :(

A recent precedent for such might be right-clicking on attachment pane header bar, where we now offer "Initially show attachment pane" as an in-place configuration option.(In reply to Magnus Melin from comment #66)

> Maybe the Get Mail button could have a Configure... submenu where you'd set
> the include pref? And then a "Get Mail for Selected Account" submenu also.

In the submenu configuration, do you want the toggle between button default behaviour "get all" vs. "get selected", or the per-account pref for inclusion when "get all", or both?

I like "Get Mail for Selected Account" for completeness.
I'd prefer dynamic "Get Mail for <selected account name>" as label for that.

(In reply to :aceman from comment #67)
> Or we could have 2 buttons :) Leave the existing one as is and add a new one
> that is available from the Customize window.

Hiding such important buttons for legitimate usecases in customization palette would be something that I find obscure... ;)
We're also creating legacies for maintenance of those extra buttons.
And it won't solve migration problems either.

(In reply to Magnus Melin from comment #68)
> Well it'd still be awkward to have the button configuration in the account
> settings.

I thought we're mainly talking about the main toggle for the button between default behaviour of "get all" vs. "get selected". That would be under Tools > Options, and not too awkward imo. Offering per-account include-this-account-for-get-all pref in Account settings together with similar options like "Check for new messages at startup" (Server Settings) imo is a must, notwithstanding offering alternative in-place UI for toggling inclusion for get-all.

(In reply to :aceman from comment #69)
> If it would not be there, then we'd need some new configuration dialog. Or
> how do you imagine the "Configure... submenu" ?

I tried to imagine what Magnus was thinking of, I've created a mockup so that we can look at things rather than just imagining... ;)
(In reply to :aceman from comment #69)
> If it would not be there, then we'd need some new configuration dialog. Or
> how do you imagine the "Configure... submenu" ?

I tried to imagine what Magnus might have been thinking of; I've created a mockup so that we can look at things rather than just imagining... ;)

Comments welcome :)
(In reply to Thomas D. from comment #72)
> Created attachment 756077 [details]
> Interactive XUL-Demo 1: In-place configuration for Get-Mail Button
> a: minimal config flyout (get all vs. get selected);
> b: complete config flyout (with account list);
> c: complete config as a *panel*

Here's how to run XUL Demos in Firefox:

>> Current fx won't render bug 570815 xuls ("Remote XUL - This page uses an
>> unsupported technology that is no longer available by default in Firefox.")
>
> to allow local file://xul in current FF, goto about:config and set
> dom.allow_XUL_XBL_for_file -> true

To allow the xul demos from bugzilla's attachments directly, you need
https://addons.mozilla.org/en-US/firefox/addon/remote-xul-manager/
then add https://bugzilla.mozilla.org/ to that xul-whitelist.
(In reply to Thomas D. from comment #73)
> (In reply to Thomas D. from comment #72)
> > Created attachment 756077 [details]
> > Interactive XUL-Demo 1: In-place configuration for Get-Mail Button
> > a: minimal config flyout (get all vs. get selected);
> > b: complete config flyout (with account list);
> > c: complete config as a *panel*

Alternatively, we could offer such configuration menu or panel when *right-clicking* on the Get-Mail button, so context menu looks like this:

Configure Get Mail Button...
-----------
Mail Toolbar
Menu Bar
-----------
Customize...
I guess something like c). While right clicking is usually good for configuring, I think in this case it's gonna be confusing wrt customize toolbar.

"Customize..." after "Get for Multiple", or maybe something like this?

 +---------------+
 |  Get Mail  v  |
 +----------------------------------------------+
 | ( ) Get New Messages for Current Account     |   +-----------------------+
 | (o) Get New Messages for Multiple Accounts > |   | (x) Work Mail         |
 +---------------------------------------------+-   | (x) Private Account   |
 |  Work Mail                                   |   | ( ) Feeds             |   
 |  Private Account                             |   | ( ) news.mozilla.org  |
 |  Feeds                                       |   +-----------------------+
 |  news.mozilla.org                            |
 +----------------------------------------------+
(In reply to Magnus Melin from comment #75)
> I guess something like c). While right clicking is usually good for
> configuring, I think in this case it's gonna be confusing wrt customize
> toolbar.
> 
> "Customize..." after "Get for Multiple", or maybe something like this?

Looks good at first sight, but it also looks technically impossible and the devil is in the details of the UI and UX which won't work like that unless you're intending to drop existing functionality and ux-consistency and accept unwanted side effects.


>  +---------------+
>  |  Get Mail  v  |
>  +----------------------------------------------+
>  | ( ) Get New Messages for Current Account     |   +-----------------------+
>  | (o) Get New Messages for Multiple Accounts > |   | (x) Work Mail         |
>  +---------------------------------------------+-   | (x) Private Account   |
>  |  Work Mail                                   |   | ( ) Feeds            
> |   
>  |  Private Account                             |   | ( ) news.mozilla.org  |
>  |  Feeds                                       |   +-----------------------+
>  |  news.mozilla.org                            |
>  +----------------------------------------------+
(In reply to Thomas D. from comment #76)
> (In reply to Magnus Melin from comment #75)
> > I guess something like c). While right clicking is usually good for
> > configuring, I think in this case it's gonna be confusing wrt customize
> > toolbar.
> > 
> > "Customize..." after "Get for Multiple", or maybe something like this?
> 
> Looks good at first sight, but it also looks technically impossible and the
> devil is in the details of the UI and UX which won't work like that unless
> you're intending to drop existing functionality and ux-consistency and
> accept unwanted side effects.
> 
> 
> >  +---------------+
> >  |  Get Mail  v  |
> >  +----------------------------------------------+
> >  | ( ) Get New Messages for Current Account     |   +-----------------------+
> >  | (o) Get New Messages for Multiple Accounts > |   | (x) Work Mail         |
> >  +---------------------------------------------+-   | (x) Private Account   |
> >  |  Work Mail                                   |   | ( ) Feeds            
> > |   
> >  |  Private Account                             |   | ( ) news.mozilla.org  |
> >  |  Feeds                                       |   +-----------------------+
> >  |  news.mozilla.org                            |
> >  +----------------------------------------------+

Magnus, can you explain which controls and behaviour you want to use for this proposal?
(o) and ( ) = menuitem with type="radio
(x) and ( ) = menuitem with type="checkbox"
I'm not sure about about the flyout, maybe one can make a menu clickable, or then whatever the app-menu is doing.
But yes, i'm not sure how nice it would be that the flyout menu shouldn't close like normal when you check items. Maybe it needs a dialog after all.
OT: FTR: This bug implements an "Include this account when getting all messages" pref. Note that there's another old pref with a somewhat similar, yet different function (relating to physical bundling of incoming pop mail from several accounts), which has a similar label ("Include this server when getting new mail").

(From Bug 575287 Comment 2)

Tools > Account Settings > YourAccount > Server Settings > Message Storage > Advanced

That's this dialogue:

[Advanced Account Settings]
For Account "YourAccount"
When downloading pop mail for this server, use the following folder for new mail: 

a) (o) Inbox for this server's account
b) ( ) Global Inbox (Local Folders Account)
c) ( ) Inbox for different Account [Account Selector]

x) [ ] Include this server when getting new mail

You can only enable x) for cases of b) or c), never for a) which I believe is default. Note that b) is a different animal from what we have as "Unified Inbox".
And pref x) is different from the pref in this bug as it triggers in different UI setups and scenarios.
Comment on attachment 753856 [details] [diff] [review]
WIP patch v4

This doesn't apply anymore, but when I hand-hacked it, it seems mostly like the right thing to do.

f=me.

Some other notes:
I think we want to move the POP setting that Thomas mentions into the same place as the other settings, and preserve its value.
I think that we want existing accounts (which haven't set that value) to be included in Get All by default.  Yeah, it might confuse some people, but I'm willing to bet that it would confuse more people to leave it the way it is.

I think that's all from me.
Attachment #753856 - Flags: feedback?(bwinton) → feedback+
Comment on attachment 753856 [details] [diff] [review]
WIP patch v4

As mentioned by bwinton, this patch has bitrotted. I have run with it for a few weeks and it doesn't appear to have broken anything, but would like an updated patch before giving f+
WOW. This bug was reported in 2005 and still isn't resolved? Why do people have to debate so long over something so trivial? How silly, to hold up something like this for nearly a decade. It's unfair to the users. Let's please stop beating a dead horse.

Look, here's the simple solution:

I'm looking at my toolbar and I see a "Get Mail" button. There's an arrow next to it that I can click so I can fetch mail from all accounts, or a specific account. It is STANDARD expected behavior that if I just click the "Get Mail" button, it fetches mail from all accounts. Period. Look at any other mail client, and this is most likely how they've implemented it. However, when I click the button, nothing happens. I used Wireshark to see what was happening with my TCP traffic, and sure enough, it's only checking mail for one out of my three IMAP accounts. I have to click the arrow and choose "Get All New Messages" in order to fetch for all accounts. This is a bug. Clicking the button should do something, whether it's immediately fetch mail for all accounts, or pop down the menu. Ideally the former.
by default Get Mail gets emails for the highlighted account only and to get emails for all accounts one must press the little arrow and select from it download all. Is it possible to reverse this? To make the Get Mail button get all emails for all accounts and if emails for only one account are wanted to click the downward pointing arrow and select it from there?
Is it so hard to add a new "Get All New Messages" toolbar button in Customize Toolbar window?
IMO there are 2 approaches to this feature request.
1. Add a new button "Get msg for ALL accounts"
2. Change the behaviour of the button
3. ;-) 
Change the behaviour of the button context sensitive, i.e.
if If a single mail box is selected, get for that specific account
if If using grouped folders view (and I only work with this), get all accounts
4) or sth. in between
Of course, there must be a mechanism that checks inactive mail boxes, but that could
be the same as hitting SH+CMD+Y, so there is no need to change that.

I'm not familiar with Mozilla and C neither (only Java etc and mainframe) so I cant do it,
but I dont consider this to be rocket science ... ;-)
Attached patch WIP patch v5Splinter Review
I also like the idea of offering both options (get all OR get current account).
So this is a crude implementation of the menupopup of Magnus and Thomas, that allows choosing the behavior right in the button.
What do you think?
Attachment #753856 - Attachment is obsolete: true
Attachment #753856 - Flags: feedback?(iann_bugzilla)
Attachment #9027083 - Flags: feedback?(mkmelin+mozilla)
Attachment #9027083 - Flags: feedback?(jorgk)
Attachment #9027083 - Flags: feedback?(bugzilla2007)
Comment on attachment 9027083 [details] [diff] [review]
WIP patch v5

I've come to this party too late. In 2005 I was using Outlook and in 2013/2014 I was still a happy user of TB 17/24 until hell broke loose with TB 31 :-(

That said, I never knew that the button only gets message for the "current" account. I mostly use it selectively to refresh one account and not all.

I think the idea is good, but I am confused about the UI: The "Include this account when getting all message" can also exclude it, so the UI lies when it says: "Get New Messages for All Accounts". This is meant to mean "Get New Messages for All (nominated) Accounts", yes. Perhaps negating the checkbox to "Exclude from 'Get All'" would then be clearer.

Looking at the patch, I think I checked all the new UI features. In general, some screenshots would be handy. I like the tooltip, but then I discovered that there is one already.

The pref with the ugly name button.get_msgs_gets_all remembers the chosen state of the button, yes? Maybe we can still s/msgs/messages.
Attachment #9027083 - Flags: feedback?(jorgk) → feedback+
(In reply to Jorg K (GMT+1) from comment #90)
> Comment on attachment 9027083 [details] [diff] [review]
> WIP patch v5

> I think the idea is good, but I am confused about the UI: The "Include this
> account when getting all message" can also exclude it

correct, that's the nature of checkboxes

> so the UI lies when
> it says: "Get New Messages for All Accounts". This is meant to mean "Get New
> Messages for All (nominated) Accounts", yes.

I agree with Jörg that we should try to find a better wording. Ideas?
"Get New Messages for All Enabled Accounts"?

> Perhaps negating the checkbox
> to "Exclude from 'Get All'" would then be clearer.

Hmmm... probably NOT. Per current patch (for better or worse), this is an option deep in account settings, so that's unlikely to add clarity to the main UI. More importantly, as a general principle of intuitive UX design, we want to avoid "double negative" checkboxes because they are much harder to understand:
"Exclude" = "NOT include".
NOT checked for "NOT Include" = NOT NOT Include = Include. Ugh.

This looks easier:
    CHECKED for Include       = "Include".
NOT checked for "Include"     = NOT Include.

The default action here is "INCLUDE" and that should reflect in the UI as a simple ON/OFF switch where "checked" is the obvious representation for "ON". Also much easier for support questions, where "Ensure 'Exclude' is NOT checked" (double negative) is much harder to convey, understand, and verify than "Ensure 'Include' is checked".
For more details (if needed), pls see my comment 58 ff.
Comment on attachment 9027083 [details] [diff] [review]
WIP patch v5

Aceman, as Jörg said, could you please add a screenshot?
Flags: needinfo?(acelists)
Whom can I ask for a trybuild?
Flags: needinfo?(jorgk)
Plenty of test failures there :-( - Most likely tests need to be adjusted. Or do they originate from the other changesets? That shouldn't stop Thomas from trying the build.
Flags: needinfo?(jorgk)
Yes, failures should be from other patch, so manual testing of the change here should be possible.
The current behaviour is that you can click those radio items in the popup and it toggles the setting for the next direct click of "get messages", but it also executes the action directly. I can change that if that is not wanted (and it should toggle only).
Attachment #9027391 - Flags: feedback?(richard.marti)
Comment on attachment 9027391 [details]
screenshot of the WIP v5

What if I only want one time to check all accounts? This sets the radio and now it checks all the time all accounts until I select the other option again.

I think we should still have the "Get all New Messages" on top and the two radio items on bottom of the menu and let them only setting the pref without a check function. On bottom, because this prefs aren't used everytime and shouldn't be on top with the shortest mouse movement.
Attachment #9027391 - Flags: feedback?(richard.marti)
Comment on attachment 9027083 [details] [diff] [review]
WIP patch v5

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

(In reply to :aceman from comment #89)
> Created attachment 9027083 [details] [diff] [review]
> So this is a crude implementation of the menupopup of Magnus and Thomas,
> that allows choosing the behavior right in the button.
> What do you think?

Aceman, thank you very much for picking this up. Nice.
Let's polish a bit. I cancelled f?me because we must add minimal migration code to protect existing users from unexpected "Get All" annoyances like multiple password prompts or potential silent dataloss on server for POP.

1a) I suggest s/current/selected - Current Account sounds financial and isn't the right term. Oh, it's existing term from main menu - well, guess we should change it there, too.

1b) pls s/"Get Messages for Account:"/"Get New Messages for Account" for consistency, and remove the tooltip " and the hover behaviour. I actually wonder if we really want this caption at all; does it help much? It looks heavy and we've lived well without it so far. I suggest removing the caption to increase the relative visibility of the other two, and for lighter UI.

1c) We now have "Get New Messages for All Accounts", which becomes "Get All New Messages" in the tooltip (vs. "Get New Messages for John@asdf.com"). Yeah, guess that's ok as it's simpler and less clumsy.

2) Jörg, do we want a better wording for "Get New Messages for All Accounts" given that some might be excluded? I think maybe we're good with the current wording as that's the default behaviour out of the box, and if user explicitly excludes certain accounts, he'll know why. We could try "Get New Messages for Enabled Accounts" but wouldn't that make users wonder?
If we had an in-place toggle list of polled accounts, that might explain it best...

4) So if I normally want "Get New Messages for Selected Account", then for that one odd time, I want to "Get New Messages for All Accounts", then that will automatically become the new default until I reverse it again (remembers last used option). Crude, but somehow simple and minimalist. Maybe acceptable.

5) Adapted from my Comment 61, I maintain that we need migration code for existing installations, esp. to avoid dataloss for POP accounts:

> We should not force this radical change of behaviour of one of the most
> basic buttons (Get Mail) onto existing users. We have no way of telling if
> they want all their existing accounts suddenly and silently included for
> checking when they expect to just check the selected account. We have no
> idea how hazardous this might be for existing users, even dataloss due to
> unwarranted "delete on server" for POP.

Existing users could also unexpectedly and annoyingly be confronted with multiple password prompts.

Proposal for migration:
- for all existing installations, set pref button.get_msgs_gets_all = false (custom setting)
- for new installations, default to button.get_msgs_gets_all = true (default setting)

I think anyone who wants the new behaviour (Get New Messages for All Accounts) will certainly check in the dropdown of "Get Messages" button and easily find our new option there.
Attachment #9027083 - Flags: feedback?(bugzilla2007)
(In reply to Richard Marti (:Paenglab) from comment #98)
> Comment on attachment 9027391 [details]
> screenshot of the WIP v5
> 
> What if I only want one time to check all accounts? This sets the radio and
> now it checks all the time all accounts until I select the other option
> again.

I can identify with that sentiment, having a stable default for this essential function might matter for users.

> I think we should still have the "Get all New Messages" on top

Hmmm. That would have to change to "Get New Messages for Selected Account" when "Get-ALL..." is default.
And it's actually nice and standard-conform to show *all* options, more so as our primary UI button so far does NOT indicate which option is chosen (only the radio button in the dropdown does).

> and the two
> radio items on bottom of the menu and let them only setting the pref without
> a check function. On bottom, because this prefs aren't used everytime and
> shouldn't be on top with the shortest mouse movement.

Bottom of a potentially unlimited list of accounts may not be a good place...
I had already explored several other in-place configuration options in my XUL demo attachment 756077 [details], unfortunately no longer accessible with FF I believe. But it's easy to view with XUL explorer desktop app:
https://developer.mozilla.org/en-US/docs/Archive/Mozilla/XUL_Explorer
(In reply to Thomas D. (currently busy elsewhere) from comment #99)
> 2) Jörg, do we want a better wording for "Get New Messages for All Accounts"
> given that some might be excluded? I think maybe we're good with the current
> wording as that's the default behaviour out of the box, and if user
> explicitly excludes certain accounts, he'll know why. We could try "Get New
> Messages for Enabled Accounts" but wouldn't that make users wonder?
> If we had an in-place toggle list of polled accounts, that might explain it
> best...
Well, we could switch the string depending on whether all accounts are included.
(In reply to Jorg K (GMT+1) from comment #101)
> Well, we could switch the string depending on whether all accounts are
> included.

Yes.

(In reply to Thomas D. (currently busy elsewhere) from comment #100)
> And it's actually nice and standard-conform to show *all* options, more so
> as our primary UI button so far does NOT indicate which option is chosen
> (only the radio button in the dropdown does).

The tooltip on the main button shows which function will be run. It is not seen in the screenshot though.

For now, I am using this work-around in Thunderbird 62.4.0:
(a) I observed, "Easy Get All Mail" addons aren't compatible with this version
(b) I installed "Get Selected Mails" addon
(c) Under the addon options, for the default profile, I enabled all accounts and created Custom button with title "GET MAIL"
(d) I used View => Toolbars => Customize to hide the regular "Get Mail" button and show only my Custom "GET MAIL" button

Comment on attachment 9027391 [details]
screenshot of the WIP v5

We probably don't want to have the  "Get messages for account:" separator. I'd think more somthing like

(o) Get All New Messages
(  ) Get New Messages for Account
--------------------------------------
Account 1
Account 3
Account 5
....
Attachment #9027083 - Flags: feedback?(mkmelin+mozilla)

Fair to say current patch will not resolve bug 516360 - Get Mail on Smart/unified Folders Inbox for all accounts doesn't get mail for all accounts ?
(not saying it should in this bug, but we should be working towards it)

"Get Mail" toolbar button should default to "Get new messages for all accounts"
The question is
is it too much trouble to make it so simple ?
Regards to you and Happy and Better New Year to all.

Severity: normal → S3

I have the same issue with the "Get Messages" button on the Mail Toolbar. I have 3 mail accounts. With Thunderbird set to have Unified Folders and Inbox highlighted , this button shows "Get new messages for Unified Folders" when the mouse is hovered over it but when clicked it only gets messages for the Folder (account) first in the list. To get all messages from all Folders (accounts), the drop-down list has be opened and the "Get All New Messages" clicked. Clearly, because of the mouse hover description, it is intended to get all new messages for the Unified Folders and is not working as expected.

See Also: → 1817915
You need to log in before you can comment on or make changes to this bug.