Closed Bug 1893840 Opened 3 months ago Closed 2 months ago

Frequent domains not autocompleting

Categories

(Firefox :: Address Bar, defect, P2)

Firefox 125
defect

Tracking

()

RESOLVED FIXED
127 Branch
Tracking Status
firefox127 --- fixed

People

(Reporter: cellusb2020, Assigned: mak)

References

Details

(Whiteboard: [sng-scrubbed][search-regression])

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0

Steps to reproduce:

Typed in the first letter of a url of a domain that I visit frequently. Url usually fills in.

Actual results:

Url filled in was one of a bookmark that starts with the same letter. Must type enough letters until they do not match those of any other bookmarks.

Expected results:

Url of frequent website should have been filled in. I have the site bookmarked, and visit it more often than I visit any other domain. It filled in fine until I turned on my laptop one day and it didn't.

Component: Untriaged → Address Bar

Hi Cheesy, two questions: is this issue still happening for you and do you happen to remember specifically which day it first started happening?

Flags: needinfo?(cellusb2020)

(In reply to James Teow [:jteow] from comment #1)

Hi Cheesy, two questions: is this issue still happening for you and do you happen to remember specifically which day it first started happening?

Hello! Yes, it is still happening. I believe it started on the 25th or 25th.

Flags: needinfo?(cellusb2020)

(In reply to Cheesy from comment #0)

Typed in the first letter of a url of a domain that I visit frequently. Url usually fills in.

Thank you for filing this report.
Please keep us up to date if the problem should solve by itself with days passing (as I'd expect that to be the case, if the problem is what I'm thinking).

In the meanwhile, I'll ask you to run a few commands in the Browser Console, and report results here.
To enable the Browser Console, you must visit the about:config page, and toggle to true the devtools.chrome.enabled preference.
Then from the main Firefox menu (three horizontal lines) pick Other Tools / Browser Console.
There should be a command line at the bottom of the Browser Console where you can paste these commands and confirm them.

This should print a number:

(await (await PlacesUtils.promiseDBConnection()).executeCached(`PRAGMA user_version`))[0].getResultByIndex(0);

This should print a number:

(await (await PlacesUtils.promiseDBConnection()).executeCached(`SELECT count(*) FROM moz_origins WHERE recalc_frecency = 1`))[0].getResultByIndex(0);

This should print a matrix (array of array):

(await (await PlacesUtils.promiseDBConnection()).executeCached(`WITH ntiles(frecency, bucket) AS (SELECT frecency, NTILE(10) OVER (ORDER BY frecency DESC) FROM moz_origins) SELECT bucket, count(frecency), min(frecency) FROM ntiles GROUP BY bucket`)).map(r => [r.getResultByIndex(0),r.getResultByIndex(1),r.getResultByIndex(2)]);

In about:config search for idle.lastDailyNotification and report the number there.

Finally, please let us know if your history is enabled: In about:preferences to go Privacy, scroll down to History. How is it set?

Flags: needinfo?(cellusb2020)

(In reply to Marco Bonardo [:mak] from comment #3)

(In reply to Cheesy from comment #0)

Typed in the first letter of a url of a domain that I visit frequently. Url usually fills in.

Thank you for filing this report.
Please keep us up to date if the problem should solve by itself with days passing (as I'd expect that to be the case, if the problem is what I'm thinking).

In the meanwhile, I'll ask you to run a few commands in the Browser Console, and report results here.
To enable the Browser Console, you must visit the about:config page, and toggle to true the devtools.chrome.enabled preference.
Then from the main Firefox menu (three horizontal lines) pick Other Tools / Browser Console.
There should be a command line at the bottom of the Browser Console where you can paste these commands and confirm them.

This should print a number:

(await (await PlacesUtils.promiseDBConnection()).executeCached(`PRAGMA user_version`))[0].getResultByIndex(0);

This should print a number:

(await (await PlacesUtils.promiseDBConnection()).executeCached(`SELECT count(*) FROM moz_origins WHERE recalc_frecency = 1`))[0].getResultByIndex(0);

This should print a matrix (array of array):

(await (await PlacesUtils.promiseDBConnection()).executeCached(`WITH ntiles(frecency, bucket) AS (SELECT frecency, NTILE(10) OVER (ORDER BY frecency DESC) FROM moz_origins) SELECT bucket, count(frecency), min(frecency) FROM ntiles GROUP BY bucket`)).map(r => [r.getResultByIndex(0),r.getResultByIndex(1),r.getResultByIndex(2)]);

In about:config search for idle.lastDailyNotification and report the number there.

Finally, please let us know if your history is enabled: In about:preferences to go Privacy, scroll down to History. How is it set?

Hello! Thanks for helping me.
After pasting the first command into the Browser Console, the number 77 was printed. After pasting the second command, the number 0 was printed. After pasting the third command, Array(10) [ (3) […], (3) […], (3) […], (3) […], (3) […], (3) […], (3) […], (3) […], (3) […], (3) […] ] was printed. The number in idle.lastDailyNotification was 1714838441. Finally, I have my browser history set to use custom settings, with always use private browsing mode turned on.

Flags: needinfo?(cellusb2020)

Could you please try to Clear History using the Clear History button close to the History settings, and selecting Browsing and Download History.
I suspect when you disabled history you did not clear past one, and that may be now causing this strange bug, that we will investigate. Though it would be very useful for us to know if clearing history helps.

Assignee: nobody → mak
Severity: -- → S2
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: needinfo?(cellusb2020)
Priority: -- → P2
Whiteboard: [sng-scrubbed][search-regression]

Apart from my previous suggestion, the problem here is that Firefox doesn't know which sites you visit frequently, because history is disabled (permanent private browsing).
The only available thing is bookmarks, but again we don't know which ones are visited often, so a "random" one gets filled, and if it's not the right one you must type more. Where "random" currently should be the most recently added bookmark.
Unfortunately without signals that something is being used more often (history) we can't do much better.

I suspect before our change, the system was also giving more weight to the number of bookmarks per origin, so an origin with more bookmarks was preferred. That's unfortunately still not a sign of use, but it may be better than nothing.

Question: is it possible the domain that was filled before 125 is one with many bookmarks pointing to it, while the one filled now has fewer?

(In reply to Marco Bonardo [:mak] from comment #6)

Apart from my previous suggestion, the problem here is that Firefox doesn't know which sites you visit frequently, because history is disabled (permanent private browsing).
The only available thing is bookmarks, but again we don't know which ones are visited often, so a "random" one gets filled, and if it's not the right one you must type more. Where "random" currently should be the most recently added bookmark.
Unfortunately without signals that something is being used more often (history) we can't do much better.

I suspect before our change, the system was also giving more weight to the number of bookmarks per origin, so an origin with more bookmarks was preferred. That's unfortunately still not a sign of use, but it may be better than nothing.

Question: is it possible the domain that was filled before 125 is one with many bookmarks pointing to it, while the one filled now has fewer?

Hello! To respond to your question, the domain that used to fill in is a search engine, which I do have have any bookmarks of, and the domain that is being filled now only has one bookmark. Also, clearing my history didn't fix it.

Flags: needinfo?(cellusb2020)

(In reply to Cheesy from comment #8)

Hello! To respond to your question, the domain that used to fill in is a search engine, which I do have have any bookmarks of, and the domain that is being filled now only has one bookmark. Also, clearing my history didn't fix it.

Hm, that's very strange, we don't fill search engines, we only fill based on the visits to a page, and bookmarks. So my fix is unlikely to address your case, but at the same time I'm puzzled because that case should not be possible. The only thing I can guess was some old history accumulated BEFORE enabling permanent private browsing, the new system won't use that stale data. At this point I can only suggest to bookmark a page on the domain you want to be filled.

(In reply to Marco Bonardo [:mak] from comment #9)

Hm, that's very strange, we don't fill search engines

I must correct myself, we used to fill search engines until Firefox 116 if the user explicitly flipped on browser.urlbar.autoFill.searchEngines. Could you please check in about:config if that pref was set in your profile?

That feature was removed in https://bugzilla.mozilla.org/show_bug.cgi?id=1840558
It's still possible to associate a keyword to a search engine in about:preferences Search section, and type the keyword to quickly access that search engine.

Flags: needinfo?(cellusb2020)
Pushed by mak77@bonardo.net:
https://hg.mozilla.org/integration/autoland/rev/37736d29c568
When history is disabled origin autofill will sort by number of bookmarks. r=daisuke
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 127 Branch

(In reply to Marco Bonardo [:mak] from comment #10)

(In reply to Marco Bonardo [:mak] from comment #9)

Hm, that's very strange, we don't fill search engines

I must correct myself, we used to fill search engines until Firefox 116 if the user explicitly flipped on browser.urlbar.autoFill.searchEngines. Could you please check in about:config if that pref was set in your profile?

That feature was removed in https://bugzilla.mozilla.org/show_bug.cgi?id=1840558
It's still possible to associate a keyword to a search engine in about:preferences Search section, and type the keyword to quickly access that search engine.

Yes, there was likely some old history that accumulated before I turned on private browsing. browser.urlbar.autoFill.searchEngines is flipped to true. I also already have many bookmarks on the domain. It still won't autofill, even after I set a new bookmark and tried again.

Flags: needinfo?(cellusb2020)

So that search engines autofill feature has been removed, and that was likely what was doing the fill.
When this patch will hit release it may help or not (it will depend on the number of bookmarks then). This is one of those cases where it's hard to adapt to the user needs without having any data available to use.

You need to log in before you can comment on or make changes to this bug.