Closed Bug 1476354 Opened 6 years ago Closed 6 years ago

URL AutoFill not working as expected

Categories

(Firefox :: Address Bar, defect, P1)

63 Branch
defect

Tracking

()

RESOLVED DUPLICATE of bug 1464154
Tracking Status
firefox63 --- affected

People

(Reporter: dheiberg, Unassigned)

References

Details

Attachments

(1 file)

Hey, It seems like URL AutoFill is not behaving as expected. The clearest example I can think of is navigating to "gmail.com". I visit gmail.com (which redirects to mail.google.com) several times a day, sometimes even several times an hour. Despite this, when I go to type "gm" into the address bar, it does not autocomplete to "gmail.com" which I would expect it to. Could this be due to "gmail.com" being a redirect? It also lists it below a few random google search suggestions, see attached screenshot. This seems like a bug, as I would expect the AutoFill to detect that I often visit gmail.com (explicitly typing out that URL multiple times a day), and provide autocompletion. I have noticed similar behavior with other URLs, but gmail is the best example that comes to mind.
Flags: needinfo?(mak77)
(In reply to David Heiberg [:dheiberg] from comment #0) > I visit gmail.com (which > redirects to mail.google.com) several times a day, sometimes even several > times an hour. Hi, could you please give us more details about how you use to visit gmail several times a hour? (for example "I click on this bookmark", or "I type such string and confirm it", or "I have a pinned tab to it". I think you said that also "mail.google.com" doesn't autofill if you type "mail", right? Please, try this: Open DevTools settings and enable "chrome debugging". Open the Browser Console. Open Scratchpad from DevTools, from the Environment menu in the menubar choose Browser. Paste this script into the Scratchpad, then run it. (async function () { let db = await PlacesUtils.promiseDBConnection(); let rows = await db.execute(` WITH s(count, sum, squares) AS ( SELECT CAST((SELECT IFNULL(value, 0.0) FROM moz_meta WHERE key = "origin_frecency_count") AS REAL), CAST((SELECT IFNULL(value, 0.0) FROM moz_meta WHERE key = "origin_frecency_sum") AS REAL), CAST((SELECT IFNULL(value, 0.0) FROM moz_meta WHERE key = "origin_frecency_sum_of_squares") AS REAL) ) SELECT count, sum, squares, CASE count WHEN 0 THEN 0.0 WHEN 1 THEN sum ELSE (sum / count) + sqrt((squares - ((sum * sum) / count)) / count) END FROM s `); for (let i = 0; i < 4; i++) { console.log(rows[0].getResultByIndex(i)); } console.log("*** origins:"); rows = await db.execute(` SELECT frecency, prefix, host FROM moz_origins WHERE like("%gmail.com%", host) OR like("%mail.google.com%", host) `); for (let row of rows) { console.log(row.getResultByIndex(0), row.getResultByIndex(1), row.getResultByIndex(2)); } let origins = [ "http://gmail.com", "http://www.gmail.com", "https://gmail.com", "https://www.gmail.com", "http://mail.google.com", "https://gmail.com", ]; for (let origin of origins) { console.log(`*** ${origin} places:`); rows = await db.execute(` SELECT frecency FROM moz_places WHERE like("${origin}%", url) `); for (let row of rows) { console.log(row.getResultByIndex(0)); } rows = await db.execute(` SELECT TOTAL(frecency) FROM moz_places WHERE frecency > 0 AND like("${origin}%", url) `); console.log("total:", rows[0].getResultByIndex(0)); } })(); This will print a bunch of stuff to the Browser Console, please paste it back here.
Blocks: 1474755
Flags: needinfo?(mak77) → needinfo?(dheiberg)
Could you please also check that browser.urlbar.autoFill is true in about:config?
(In reply to Marco Bonardo [::mak] from comment #1) I manually type "gmail.com" in the address bar and press return/enter. I do this every time and never use a bookmark/link. "mail.google.com" does autofill correctly. browser.urlbar.autoFill is true. Here is the pastebin of the console output: https://pastebin.com/t4dpyH6h
Flags: needinfo?(dheiberg) → needinfo?(mak77)
ok, mail.google.com indeed clears the threshold, gmail.com doesn't. The frecency values are interesting, I also use gmail.com every day and my values are threshold: 67827.91339423443 *** origins: 21:52:42.958 1544972 https:// mail.google.com Scratchpad/2:27:5 21:52:42.958 106573 http:// gmail.com Scratchpad/2:27:5 21:52:42.958 12956 https:// gmail.com It looks like my gmail.com is being autofilled just because of the nonsecure version is so prominent. That's what I type after all. There is a huge difference between the average and the average + stddev that is what we were discussing in bug 1474755. I wonder if we could shoot somewhere in the middle there. Drew, what's your take on this?
Flags: needinfo?(mak77) → needinfo?(adw)
Would it be worth noting that I have only been using this laptop for 6-7 weeks? If it is a threshold issue, then I definitely think the threshold is too high.
> There is a huge difference between the average and the average + stddev that > is what we were discussing in bug 1474755. I wonder if we could shoot > somewhere in the middle there. Drew, what's your take on this? Mean + one standard deviation is a reasonable but arbitrary threshold I chose in the initial bug. There's nothing special about it, so I don't think we should be averse to tweaking it now based on early feedback. This conversation is getting split across two bugs, but I'd be more comfortable starting (in the first Firefox release with the new algorithm, I mean) with the average and then bumping that up to the average + some other value based on feedback from release users, if we get reports of origins being autofilled that shouldn't be. But I kind of doubt we'll get reports like that -- or I'd guess at least we'd get many fewer of those reports than we would about Firefox *not* autofilling origins that users expect to be autofilled. Something else that comes to mind is bug 1466233. Maybe we should have two inputs to autofill: (1) the current (new) algorithm and (2) adaptive history. And heavily bias to adaptive history. I had been thinking that adaptive history is a red herring because we ought to be able to get the same effect by heavily boosting frecency of actually typed URLs. But I'm starting to think that maybe we should basically guarantee that if you typed it, we'll autofill it. Also, shouldn't bug 1463132 have helped this case?
Flags: needinfo?(adw)
(In reply to Drew Willcoxon :adw from comment #6) > Also, shouldn't bug 1463132 have helped this case? Yes, it does in my case, but frecency takes a long time to build up and I suspect that's what happening here. (In reply to Drew Willcoxon :adw from comment #6) > But I'm > starting to think that maybe we should basically guarantee that if you typed > it, we'll autofill it. What is critical is to guarantee that the behavior will adapt with you, differently from where we were. But I'd probably suggest to first add the probes I suggested in bug 1474755, before going fancy about what to pick, we could discover interesting things.
We could end up just duping to bug 1464154. Let's concentrate on bug 1474755
No longer blocks: 1474755
Depends on: 1474755
David, bug 1474755 has been fixed on Nightly now, and it may have fixed this bug. Can you still reproduce the problem? (I'll paste a disclaimer I wrote in bug 1464154: Even if autofill seems to work as you expect now, we can't really say that this is permanently "fixed" since autofill adapts to your history. Sites you visit often though ought to have a higher than average frecency and should therefore be reliably autofilled.)
Flags: needinfo?(dheiberg)
Priority: -- → P1
(In reply to Drew Willcoxon :adw (Away 7/23–27) from comment #9) > David, bug 1474755 has been fixed on Nightly now, and it may have fixed this > bug. Can you still reproduce the problem? > > (I'll paste a disclaimer I wrote in bug 1464154: Even if autofill seems to > work as you expect now, we can't really say that this is permanently "fixed" > since autofill adapts to your history. Sites you visit often though ought > to have a higher than average frecency and should therefore be reliably > autofilled.) So it seems to have been "fixed" as you say, or at least behaving more like I would expect, with "gm" autocompleting to gmail.com. Is the threshold exposed as a preference? I feel like this would be a good idea to give the user control over the threshold if they want a higher or lower one.
Flags: needinfo?(dheiberg)
the threshold is at its minimum atm, there is a browser.urlbar.autoFill.stddevMultiplier that is a float between 0.0 and 1.0 to increase it, we'll experiment with it in the future.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
(In reply to Marco Bonardo [::mak] from comment #11) > browser.urlbar.autoFill.stddevMultiplier that is a float between 0.0 and 1.0 Technically you could set this to any value, including < 0 or > 1 :-)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: