Closed Bug 16686 Opened 25 years ago Closed 25 years ago

[RFE]Request Database key before "Remember password" dialog

Categories

(Toolkit :: Form Manager, enhancement, P3)

x86
Windows NT
enhancement

Tracking

()

VERIFIED INVALID

People

(Reporter: sidr, Assigned: morse)

Details

Summary:
After the "For your convenience, the browser can remember your user names and
passwords" dialog, the "Select a key for your database" dialog should appear
before the "Remember password for this form" dialog. This is an RFE.
Currently, if the browser crashes during form submission (1e below),
the "Select a key for your database" dialog can appear unexpectedly (2e below)
followed by a crash (2i) that is probably from logic confusion (occam's razor),
and, after restarting, the entire sequence again (3f) This is a bug.
Two ways to kill this bug suggested below.

Scenario (sorry, this may be hard to reproduce):
1. a) Downloaded 1999-10-17-08-M11 after deleting mozregistry.dat.
   b) Entered Additional comments in a show_bug.cgi form, clicked on [Commit].
   c) Entered E-mail address and password into Login form, clicked on [Login].
   d) Got "For your convenience" dialog as expected, "Remember password for
   this form" dialog as expected, and the two "Select a key for your database"
   dialogs as expected. [Ok]'d all of them, entered no key.
   e) Form begins submission. CRASH.
2. a) Rebooted NT 4.0sp3
   b) Started mozilla.exe for same build.
   c) Reentered comments in show_bug.cgi form, clicked on [Commit].
   d) Login form comes up. It is not prefilled.
   e) "Select a key for your database" dialog comes up.
   f) Leave empty, click [OK] to this dialog and its twin.
   g) Attempt to enter E-mail address and password, no text entry happening.
   h) Click on [Back] on the toolbar preparatory to trying Step 2 agin from
      substep c).
   i) CRASH
3. a) Started mozilla.exe for same build.
   c) Reentered comments in show_bug.cgi form, clicked on [Commit].
   d) Login form comes up. It is not prefilled.
   e) Entered E-mail address and password into Login form, clicked on [Login].
   f) Got "For your convenience" dialog, the "Remember password for
      this form" dialog, and the two "Select a key for your database"
      dialogs.
   g) Commentary: At this stage only the "Remember password" dialog is desired,
      but the "Select a key for your database" dialogs were expected. The
      "For your convenience" dialog was not expected, as it had been seen
      once in this "install's" lifetime already, but it's good that it
      appeared - otherwise 2e..2i might well have happened again.
   h) [Ok]'d all of them, entered no key.
   i) Form begins submission.
   j) Submission works this time.

Desired behaviour:
Even if the browser crashed on form submission, it would be nice if the
database key for the autofill data was saved before the crash, to avoid
this inexplicable-to-newbies behaviour {2e through 2i} and having to do it
all over again (3f). After all, even after hundreds more bugs are killed and
hundreds more memory leaks are stemmed, the shipping browser will still
occasionally crash on form submission.

Recommended (the RFE):
Move the "Select a key for your database" dialog before the
"Remember password for this form"  dialog in the one-time-only the sequence
following the "For your convenience" dialog.

morse@netscape.com, you stated in Bug 16086 that you plan to
replace the two "Select a key for your database" dialogs with a single
dialog. If that dialog came up immediately after the "For your convenience"
dialog rather than after the "Remember password" dialog (which makes sense
anyway from a UE perspective), there is a good chance that the database key
would already be stored when a CRASH happens at form submission, which
would prevent 2e from happening.

Alternatively, if you do not want to do that, it would be best to trap
the error condition of no key being stored after a yes to the
"For your convenience" dialog is stored, and give the 3f behaviour
if this happens.

Actually, I'd recommend both. Either should kill the bug, but better safe
than sorry.

Background for info for this RFE/bug report can be found in Bug 16086.
Status: NEW → ASSIGNED
Target Milestone: M11
Summary: Request Database key before "Remember password" dialog → [RFE]Request Database key before "Remember password" dialog
Target Milestone: M11 → M14
Something is very much a-miss here.  Let me explain why I say that.

1. The indication of whether or not the "for your convenience" dialog has ever
been given is kept in the pref.js file.  And that file is immediately written
out as soon as this preference changes.  So that should have occured right in
the middle of 1d, way before the crash.  That explains why you didn't get this
dialog in step 2.  But how could you ever have gotten it in step 3 unless you
somehow clobbered your prefs.js file?

2. The data-base key is also stored immediately as soon as it is entered.  A
file with a generated name is created to hold it and the name of that file is
put into the prefs.js file.  So if in step 3 you were again asked to create a
key, that means that somehow I couldn't find the file name in prefs.js.  Again
this suggests that your pref.js somehow got clobbered.

There are two issues here as I see it.  First is a bunch of crashes that you are
experiencing.  These concern me greatly.  Could you please try to develop a
repeatable set of steps that will demonstrate the crashes.  And, if you are
running debug builds, then include stack traces for the crashes as well.  Then I
can start to tackle this and prevent the crashes from happening.  If you can do
that, put it into a separate report and I'll tackle it immediately.

Second is a request for enhancement to put the data-base key query immediately
after the one-time-only "for your convenience" dialog when it occurs.  That's
actually not a bad idea and I'll probably implement it, but not until after the
beta when we get more stability into the product.  Note that it is possible to
already have a database key established when the "for your convenience" dialog
occurs.  That can happen if you previously used one of the wallet functions
(display wallet contents, capture values into your wallet, prefill from from
your wallet) prior to ever submitting a password form.  In that case the product
will behave as it currently does (i.e., no request for database key is made
after the "for your convenience" dialog).

So I'll consider this bug report as addressing item 2 only (the request for
enahcement) and am therefore forced to later it to M14.
Target Milestone: M14 → M20
See also bug 21324, which may make this bug irrelevant.
QA Contact: paulmac → sairuh
setting sairuh as QA contact for wallet bugs
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → INVALID
py8ieh is correct, this bug is now irrelevant.  We no longer give the one-time
"for your convenience" message as described in bug 21324.
verifying.
Status: RESOLVED → VERIFIED
[RFE] is deprecated in favor of severity: enhancement.  They have the same meaning.
Severity: normal → enhancement
Product: Core → Toolkit
QA Contact: bugzilla → form.manager
You need to log in before you can comment on or make changes to this bug.