Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-03 Thread Marvin Renich
* Joerg Dorchain  [200303 05:15]:
> On Tue, Mar 03, 2020 at 10:57:41AM +0100, Andras Korn wrote:
> > I filed https://github.com/neomutt/neomutt/issues/2161.
> 
> Thanks for the effort, but:
> 
> Duplicate #2002 and there's already pull request for it #2160.
> @gahr gahr closed this 6 minutes ago 
> 
> Looks like cherry-pikcing that patch and thinking about the default setting.

No, #2002 is _not_ the same.  See my previous message.

Neomutt bug #2002 is about editing headers.  This Debian bug and Neomutt
#2161 are about commands in the message index.  The behaviors are
different in the two situations.

There are three behaviors being discussed:

1. old behavior:  backspace stays on the command line
2. new behavior:  backspace aborts the command
3. wrong behavior:  backspace invokes command with default argument

In #2002, while editing headers, you currently get "new behavior".  The
bug reporter wants "old behavior" (what the previous version of Neomutt
did in this situation).  The patch adds a config option to select which
you want.

In #2161, while in the message index, the previous version of Neomutt
gave "old behavior".  The current Neomutt gives "wrong behavior", _not_
"new behavior".

For example, type s and (assuming a save-hook matches for the message)
the command line shows:

Save to mailbox ('?' for list): +some_folder

Now keep backspacing until +some_folder is gone and backspace one more
time.  Instead of aborting the save, the message is actually saved to
+some_folder!  This is really, _really_ wrong!

First, #2161 must be fixed so it doesn't give "wrong behavior".  Then,
the patch needs to be tested to see if it affects both editing message
headers (#2002) and commands in the message index (#2161).  If it does,
great!  If it doesn't, the patch should be updated so that it does.

Then, the default needs to be decided.

Holding the backspace key down is common practice for some people as a
way of erasing the default prompt in preparation for typing a different
value.

Both for this reason and to reduce surprise and change, I feel that the
default should be "old behavior", but I can live with setting the option
myself if other people would rather have "new behavior" as the default.

There is one more reason that having backspace remain on the command
line instead of aborting is a better default.  If someone has bound the
backspace key to some action in the message index (or in the message
editing screen), holding down the backspace key could invoke the bound
action on one (or several) messages in the index, depending on how
quickly the user releases the key.

...Marvin



Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-03 Thread Joerg Dorchain
On Tue, Mar 03, 2020 at 10:57:41AM +0100, Andras Korn wrote:
> I filed https://github.com/neomutt/neomutt/issues/2161.

Thanks for the effort, but:

Duplicate #2002 and there's already pull request for it #2160.
@gahr gahr closed this 6 minutes ago 

Looks like cherry-pikcing that patch and thinking about the default setting.

Bye,

Joerg


signature.asc
Description: PGP signature


Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-03 Thread Andras Korn
On Mon, Mar 02, 2020 at 01:45:26PM -0500, Marvin Renich wrote:

Hi,

> I don't have a github account, and do not wish to get one for this.
> Will someone (Debian maintainer for neomutt, or someone else interested
> in this bug) please file this with upstream as a separate bug, pointing
> out that the other github issue is not the same as this bug, even though
> some of the same code may be involved.

I filed https://github.com/neomutt/neomutt/issues/2161.

Best regards,

András

-- 
Microsoft follows standards the same way fish follow migrating caribou.



Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-02 Thread Marvin Renich
[P.S. I'm subscribed to the bug; you may drop me from explicit To or CC.]

* Joerg Dorchain  [200302 12:18]:
> Then please include
> https://github.com/neomutt/neomutt/commit/f197ab93c8436a39fc511f396acde24f90389f20?diff=unified
> 
> in a new package, maybe with a Debian-specific change of the abort_backspace
> default to false.

I'm not a DD or DM and have no upload rights, and don't have the time at
the moment to prepare and test an upload properly (which is more than
just applying the patch and building a package).  I do appreciate the
people who have in the past and are currently working on the Debian
packaging of neomutt.

Looking at the github issue, it looks like backspace is supposed to
cancel the command, and the behavior that the bug reporter wants is to
remain on the empty command line and ignore the backspace.  But neither
is the behavior I am seeing.

First, the behavior in the github issue is specific to editing email
headers while composing a message.  For me, that specific case seems to
abort the edit, and it seems to be an intentional change.  I don't have
a strong opinion about the github issue, but it is definitely not the
issue in this Debian bug, although the code that implemented the
intentional change may be the cause of this Debian bug.

The situation that I feel is a grave bug is when in the message index,
using certain commands that require more information (save-message is
one such command), pressing backspace when the prompt is empty (only the
":" showing) causes the _default action_ to occur (e.g. save to the
folder specified by the save-hook for that message) rather than aborting
the command.

As long as backspace does not have a binding after the prompt is
aborted (e.g. in the index), I can probably live with either the abort
or ignore behavior, but activating the default action is highly broken.

I cannot tell whether the patch referenced in the previous message will
fix this Debian bug.  If the cause of the Debian bug has to do with
mutt_enter_string_full being called for both completing a command in the
index and for editing message headers, but the result of the function is
being handled differently in the two cases, then perhaps the patch will
allow the bug to be masked by unsetting the option, but with the option
set the bug will still be present.  I can't tell without looking at the
rest of the code.

I don't have a github account, and do not wish to get one for this.
Will someone (Debian maintainer for neomutt, or someone else interested
in this bug) please file this with upstream as a separate bug, pointing
out that the other github issue is not the same as this bug, even though
some of the same code may be involved.

Thanks...Marvin



Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-02 Thread Joerg Dorchain
On Mon, Mar 02, 2020 at 11:40:47AM -0500, Marvin Renich wrote:
[...]
> 
> Here is my rationale for severity grave:
[...]

Then please include
https://github.com/neomutt/neomutt/commit/f197ab93c8436a39fc511f396acde24f90389f20?diff=unified

in a new package, maybe with a Debian-specific change of the abort_backspace
default to false.

Bye,

Joe "ceterum censeo" rg


signature.asc
Description: PGP signature


Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-02 Thread Marvin Renich
* Andreas Henriksson  [200302 08:27]:
> On Fri, Feb 14, 2020 at 11:31:53AM -0500, Marvin Renich wrote:
> > Control: -1 severity grave
> > 
> > I'm increasing the severity of this bug, as it can cause unintended
> [...]
> 
> I just NMUed a new upstream version of neomutt, 20191207+dfsg.1-1,
> which fixes the two other outstanding RC bugs.
> It seems I can still reproduce this issue however (with the first prompt
> I get which is the imap password prompt for me).

Thanks for this!

> This seems somewhat like a possible UX design fail.

Possibly, but I suspect not.  This is a regression from previous
versions, and it would not make sense at all as an intentional design
change.

> This is done
> upstream and not in debian. Do you know if there's already been any
> discussion regarding this upstream? If not could you please file an
> upstream bug report about this?

Unfortunately, I don't have time to do this at the moment.  I have no
clue where upstream's bug system (or mailing list) is, and can't spend
the time to do this right away.  If you (or the maintainer; I assume you
are not the maintainer since you did an NMU) would be so kind as to
point upstream to this bug, I would appreciate it.

> The behaviour hasn't really bothered me and I probably wouldn't even
> have noticed it if it wasn't for this bug showing up on the RC bug radar
> while doing my NMU, so I'm quite tempted to downgrade severity again.
> Please work this out with upstream if this issue is important to you.
> Please give feedback on this bug report about upstream discussions or
> relevant commits and I'm happy to look into cherry-picking and NMUing
> those as needed.

Please don't downgrade this bug.  Here is a very plausible expanded
example based on my original scenario:

The user is unaware of this bug, so is not being careful to watch out
when backspacing (I am now aware of this bug, and still find myself
accidentally backspacing too far).

The user has tagged a large number of messages, intending to save them
all to a different folder.  The user types «;s=soon-but-not-immediate»
out of habit, without watching the command line, and doesn't notice what
folder was originally placed on the command line based on the save-hook
for the first tagged message.  The first message happens to match the
save-hook for "=spam" (it received a marginally-positive spam score from
spamassassin, but was a false positive).

Before hitting enter on the ;s=soon-but-not-immediate command, the user
changes his mind and decides to save them to the =handle-now folder, so
he presses and holds the backspace key.

Oops!  Now all those messages are moved to the spam folder, which
triggers a daemon on the IMAP server to tell spamassassin to learn all
those messages as spam and moves the messages into a quarantine folder
(inaccessible to the user).

Meanwhile, the poor user, who has never seen this neomutt bug before,
has no clue where his messages went, and all those messages have been
learned as spam without the user's knowledge.

Here is my rationale for severity grave:

* This is a regression from a previous version.

* The behavior makes no sense as an intentional UI change.

* The bug can cause behaviour of which the user is unaware.

* The unintended behavior caused by this bug can have significantly
  detrimental effects that are difficult discover and difficult to undo.

Users of neomutt (and mutt) are typically a different kind of user than
those who stick with Thunderbird or the Gmail web interface.  They are
likely to take full advantage of save-hooks and other advanced neomutt
features.  They are also more likely to type sequences of commands
quickly and by habit, only looking at the command line at certain
pauses.

The above scenario is not based on a hypothetical setup.  I run the
renich.org mail server, which uses spamassassin to score incoming
messages.  Messages with scores above a certain threshold are rejected
during the SMTP dialog, but messages with low-positive scores are
accepted.  I have a save-hook that uses =spam as the default folder for
messages that spamassassin marks with a low-but-positive spam score.  I
do have a spam folder, with behavior similar to what is stated above,
except that the auto-learning happens from a cron job overnight.

While I have not had the above happen to me where the messages were
saved to the spam folder and learned as spam before I caught it, it
could have happened.  The way I discovered this bug was, however, very
similar.  The actual (but unintended) save target was a different
folder.  It took several hours of investigation to determine what the
bug was, where the messages actually went (which was not at all obvious
even after I understood the bug), and to restore the messages to the
intended destination.

Debian Policy does not mention "severity" or "grave" anywhere.  The
Developers Reference lists the severities that are considered RC, but
does not define them.  The only definitions I can find are at [1]

Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-02 Thread Joerg Dorchain
On Mon, 2 Mar 2020 15:18:54 +0100 Andreas Henriksson 
wrote:
> On Mon, Mar 02, 2020 at 02:57:02PM +0100, Andras Korn wrote:
> > 
> > https://github.com/neomutt/neomutt/issues/2002
> 
> Thanks for the feedback.
> 
There is meanwhile a fix in the github issue; Would it be possible add
that patch to the debian package even before a new upstream version is
released?

Thanks for considering.

Bye,

Joerg



Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-02 Thread Andras Korn
On Mon, Mar 02, 2020 at 03:18:54PM +0100, Andreas Henriksson wrote:

> > Your rationale for downgrading the severity of an issue like this is that it
> > doesn't bother you personally?
> 
> My rationale, if you must know, is that if this is an important issue,
> then the people who consider it an important issue will ofcourse work on
> getting it fixed.

I'm curious -- what exactly do you have in mind? How should the users
bothered by this bug "work on it"? What would you consider a reasonable,
acceptable level of effort?

> There's nothing in debian policy (the document who defines the severity
> levels for the bug tracking system) that says 'If you raise the severity
> of a bug report then "someone else" has to do the work for you'.

Nobody "has" to "do the work". It's just that if the work is not done, the
issue stays open. If it meets the definition of a "grave" bug, then it stays
grave. You're right in that if it's important enough for *the right people*,
then it'll get fixed eventually. It's entirely possible that the the users
affected by a bug are not the right ones to effect a fix.

You can argue with the severity, but I don't think you should downgrade it
for frivolous reasons like "I'm not interested in fixing it", or "I don't
like the attitude of a commenter; I think they're being lazy."

> Scratch your own itch.

Sorry, no, that's not how this works. I'll scratch my own itch if/when I
can, and also the itches of others if/when I can. This is not a bug I can
realistically fix, but that doesn't affect either its severity or its
existence.

You don't get to downgrade a bug that meets the criteria for being "grave"
just because you aren't personally affected by it, or because the user who
reported it (or someone who commented on it) is unable or unwilling to fix
it himself/herself. I'm sure you don't need me to tell you that.

> The previously provided suggestion that this might lead to data loss is
> a bit far fetched if you ask me.

That's a valid argument. FWIW, I have no opinion. I filed the bug with a
normal priority and won't insist on it being grave. If you think you can
downgrade it for the right reasons, go ahead (as far as I'm concerned).

Best regards,

András

-- 
  Get married and share the problems you didn't know you had.



Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-02 Thread Andreas Henriksson
On Mon, Mar 02, 2020 at 02:57:02PM +0100, Andras Korn wrote:
> 
> https://github.com/neomutt/neomutt/issues/2002

Thanks for the feedback.

[...]
> Your rationale for downgrading the severity of an issue like this is that it
> doesn't bother you personally?

My rationale, if you must know, is that if this is an important issue,
then the people who consider it an important issue will ofcourse work on
getting it fixed.

There's nothing in debian policy (the document who defines the severity
levels for the bug tracking system) that says 'If you raise the severity
of a bug report then "someone else" has to do the work for you'.

Scratch your own itch.

The previously provided suggestion that this might lead to data loss is
a bit far fetched if you ask me. Let a monkey hammer on your keyboard
long enough and he'll eventually manage to  do 'rm -rf ~' which doesn't
necessarily imply that all terminal emulators must be removed from
Debian. In other words, anything can be described as 'data loss' if your
imagination is good enough.

Regards,
Andreas Henriksson



Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-02 Thread Andras Korn
On Mon, Mar 02, 2020 at 02:22:44PM +0100, Andreas Henriksson wrote:

Hi,

> > when mutt prompts for something (e.g. To: address, Subject etc.) it
> > previously was possible to just keep pressing backspace until whatever
> > default text was there disappeared.
> > 
> > As of this version, it's possible to keep erasing back beyond the first
> > character of the string;
> [...]
> 
> On Fri, Feb 14, 2020 at 11:31:53AM -0500, Marvin Renich wrote:
> > Control: -1 severity grave
> > 
> > I'm increasing the severity of this bug, as it can cause unintended
> [...]
> 
> I just NMUed a new upstream version of neomutt, 20191207+dfsg.1-1,
> which fixes the two other outstanding RC bugs.
> It seems I can still reproduce this issue however (with the first prompt
> I get which is the imap password prompt for me).
> 
> This seems somewhat like a possible UX design fail. This is done
> upstream and not in debian. Do you know if there's already been any
> discussion regarding this upstream? If not could you please file an
> upstream bug report about this?

https://github.com/neomutt/neomutt/issues/2002

> The behaviour hasn't really bothered me and I probably wouldn't even
> have noticed it if it wasn't for this bug showing up on the RC bug radar
> while doing my NMU, so I'm quite tempted to downgrade severity again.

Your rationale for downgrading the severity of an issue like this is that it
doesn't bother you personally?

Best regards,

András

-- 
 My wife said I needed to grow up. I was speechless.
 It's hard to say anything when you have 45 gummy bears in your mouth.



Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2020-03-02 Thread Andreas Henriksson
Control: found -1 20191207+dfsg.1-1

Hello,

On Sun, Nov 24, 2019 at 11:10:33PM +0100, Andras Korn wrote:
> Package: neomutt
> Version: 2019+dfsg.1-1
> Severity: normal
> 
> Hi,
> 
> when mutt prompts for something (e.g. To: address, Subject etc.) it
> previously was possibly to just keep pressing backspace until whatever
> default text was there disappeared.
> 
> As of this version, it's possible to keep erasing back beyond the first
> character of the string;
[...]

On Fri, Feb 14, 2020 at 11:31:53AM -0500, Marvin Renich wrote:
> Control: -1 severity grave
> 
> I'm increasing the severity of this bug, as it can cause unintended
[...]

I just NMUed a new upstream version of neomutt, 20191207+dfsg.1-1,
which fixes the two other outstanding RC bugs.
It seems I can still reproduce this issue however (with the first prompt
I get which is the imap password prompt for me).

This seems somewhat like a possible UX design fail. This is done
upstream and not in debian. Do you know if there's already been any
discussion regarding this upstream? If not could you please file an
upstream bug report about this?

The behaviour hasn't really bothered me and I probably wouldn't even
have noticed it if it wasn't for this bug showing up on the RC bug radar
while doing my NMU, so I'm quite tempted to downgrade severity again.
Please work this out with upstream if this issue is important to you.
Please give feedback on this bug report about upstream discussions or
relevant commits and I'm happy to look into cherry-picking and NMUing
those as needed.

Regards,
Andreas Henriksson



Bug#945442: Possible to backspace past beginning of string, which appears to be identical to having pressed Enter immediately, without any backspace

2019-11-24 Thread Andras Korn
Package: neomutt
Version: 2019+dfsg.1-1
Severity: normal

Hi,

when mutt prompts for something (e.g. To: address, Subject etc.) it
previously was possibly to just keep pressing backspace until whatever
default text was there disappeared.

As of this version, it's possible to keep erasing back beyond the first
character of the string; for example, when composing mail, backspacing
beyond the beginning of the offered Subject brings up the editor
with the message being composed; saving and exiting shows that the Subject
is in fact not empty but the default (e.g. "Re: original subject").

Backspacing beyond the beginning of the To: prompt likewise confirms the
default To: address and goes to the Subject prompt.

This behaviour is completely counter-intuitive and hopefully not
intentional.

I can reproduce it with mutt -F /dev/null, leading me to beleive it's not a
problem with my configuration.

Andras

-- Package-specific info:
NeoMutt 2019
Copyright (C) 1996-2016 Michael R. Elkins and others.
NeoMutt comes with ABSOLUTELY NO WARRANTY; for details type 'neomutt -vv'.
NeoMutt is free software, and you are welcome to redistribute it
under certain conditions; type 'neomutt -vv' for details.

System: Linux 4.4.185-vs2.3.9.8+uksm (x86_64)
ncurses: ncurses 6.1.20191019 (compiled with 6.1.20191019)
libidn: 1.33 (compiled with 1.33)
GPGme: 1.13.1-unknown
hcache backends: tokyocabinet

Compiler:
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 9.2.1-19' 
--with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs 
--enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr 
--with-gcc-major-version-only --program-suffix=-9 
--program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id 
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
--libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu 
--enable-libstdcxx-debug --enable-libstdcxx-time=yes 
--with-default-libstdcxx-abi=new --enable-gnu-unique-object 
--disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib 
--with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch 
--disable-werror --with-arch-32=i686 --with-abi=m64 
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic 
--enable-offload-targets=nvptx-none,hsa --without-cuda-driver 
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu 
--target=x86_64-linux-gnu
Thread model: posix
gcc version 9.2.1 20191109 (Debian 9.2.1-19) 

Configure options: --build=x86_64-linux-gnu --prefix=/usr 
{--includedir=${prefix}/include} {--mandir=${prefix}/share/man} 
{--infodir=${prefix}/share/info} --sysconfdir=/etc --localstatedir=/var 
--disable-silent-rules {--libdir=${prefix}/lib/x86_64-linux-gnu} 
{--libexecdir=${prefix}/lib/x86_64-linux-gnu} --disable-maintainer-mode 
--disable-dependency-tracking --mandir=/usr/share/man --libexecdir=/usr/libexec 
--with-mailpath=/var/mail --gpgme --lua --notmuch --with-ui --gnutls --gss 
--idn --mixmaster --sasl --tokyocabinet

Compilation CFLAGS: -g -O2 
-fdebug-prefix-map=/build/neomutt-jdVSn8/neomutt-2019+dfsg.1=. 
-fstack-protector-strong -Wformat -Werror=format-security -std=c99 
-D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D__EXTENSIONS__ -I/usr/include 
-I/usr/include/lua5.3 -DNCURSES_WIDECHAR -isystem /usr/include/mit-krb5

Default options:
  +attach_headers_color +compose_to_sender +compress +cond_date +debug 
  +encrypt_to_self +forgotten_attachments +forwref +ifdef +imap +index_color 
  +initials +limit_current_thread +multiple_fcc +nested_if +new_mail +nntp +pop 
  +progress +quasi_delete +regcomp +reply_with_xorig +sensible_browser +sidebar 
  +skip_quoted +smtp +status_color +timeout +tls_sni +trash 

Compile options:
  -autocrypt +bkgdset +color +curs_set +fcntl -flock -fmemopen +futimens 
  +getaddrinfo +gnutls +gpgme +gss +hcache -homespool +idn +inotify 
  -locales_hack +lua +meta +mixmaster +nls +notmuch -openssl +pgp +sasl +smime 
  -sqlite +start_color +sun_attachment +typeahead 
MAILPATH="/var/mail"
MIXMASTER="mixmaster"
PKGDATADIR="/usr/share/neomutt"
SENDMAIL="/usr/sbin/sendmail"
SYSCONFDIR="/etc"

To learn more about NeoMutt, visit: https://neomutt.org
If you find a bug in NeoMutt, please raise an issue at:
https://github.com/neomutt/neomutt/issues
or send an email to: 

-- System Information:
Debian Release: 10.0
  APT prefers unstable
  APT policy: (350, 'unstable'), (350, 'stable'), (98, 'eoan-updates'), (98, 
'eoan-security'), (98, 'eoan-proposed'), (98, 'eoan-backports'), (98, 'eoan'), 
(1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.4.185-vs2.3.9.8+uksm (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=hu_HU.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)