Describe the issue you encountered: Entries on about:history are automatically disappearing from session-store-1, though the option to clear history is not enabled. The history of bookmarked pages are retained.
Use the browser for days. Open more than one hundred pages like daily use. For me the browser does not retain entries earlier than 4 days.
If you use the browser daily, open about:history and check if entries dated earilier than 9/11/2016 (as of today) were retained. Taking a screenshot would help to verify the bug.
Expected behavior: The entries should be retained forever unless they are set to be removed or removed manually.
Platform (Win7, 8, 10? macOS? Linux distro?): both Windows 10 and macOS
Brave Version: 0.12.8 on Windows 10, master branch on macOS
Any related issues:
From a perspective of a user this seems to be a serious bug and should be fixed as soon as possible. Definitely by 1.0.
Appears to be the same in 0.12.8 on OS X, worth some degree of investigation.
cc: @bsclifton
User Randy Waffle has also reported this issue.
When I look in the search history for something I viewed the day before
there's nothing there. The history is only listed for 7 days ago and
older. I don't see any search history from the last 7 days.
@srirambv I think it is similar but different because
The history is only listed for 7 days ago and older
I believe that issue is rather related with #4224 or #5072
@bsclifton Is this issue #5590 fixed with #5600?
This is a problem that we're tracking a fix indirectly with https://github.com/brave/browser-laptop/issues/1864
Here's how bookmarks and history works in a nutshell (@bbondy, @darkdh, or others- please correct me if I'm wrong). It's important we all understand this. We can then create issues (or close existing issues) as needed; please help me with this :smile:
cc: @alexwykoff @srirambv @luixxiul @bradleyrichter
Notes about usage:
So the problems with this:
These technically make the same HTTPS request but differ because of the hash (and the fragment that follows it). These will jump you to an anchor tag (and in certain frameworks are sometimes used for routing). The above example would count as 4 entries. However, if you have brave.com bookmarked and you visit it once today and once tomorrow, you'll only see the one for today.
Thanks @bsclifton for explaining :-)
When page is visited, the lastAccessedTime is updated. This is the "history". There's only one entry, so unfortunately visiting a URL will remove the last visit
given URL can only ever have 1 history item.
I notice an entry which has been visited only once disappeared too.
@luixxiul also I forgot to state- we only show the 500 most recent entries. However, the logic for this may have been wrong and was possibly fixed with https://github.com/brave/browser-laptop/issues/5595
Can you please recheck this? Thanks 馃槃
OK, I see.
we only show the 500 most recent entries
Do you mean that the entries earlier than that are erased?
@luixxiul entries earlier than that do exist, but aren't shown. We can definitely show all of them, but it may impact performance
how about pagination?
@luixxiul that sounds really good! Would you be able to describe your expectations in more detail by creating a new issue (and mention Brad in there?) :smile: I think this a great idea (especially needed once we have a true history). I know he would like to refine the screen further, by only having one table (instead of one table per day)
@bsclifton @luixxiul should we increase this, now that we will have split sites, otherwise I would suggest that we add pagination, but not as numbers but as infinite scroll. This means that when you scroll and you are on let's say entry 400, we get history sites from 500-1000 and append them to the list, so that user don't see and of list with a normal scroll. But if you scroll fast we would just display a loader and a text "We are loading history for you".
@NejcZdovc definitely we should increase / not have a limit (now that they're being split) 馃槃
I almost forgotten about the initial issue, but I reported with this:
Entries on about:history are automatically disappearing from session-store-1
So I assume the history has not been just hidden but cleared.
@NejcZdovc does the PR you're working on, #10136, fix the issue as well?
@luixxiul I don't have any clear functions in there, but we have hard limit there were we only display 500 history entries. But we still keep all record past that number in session.
I'm not sure we should increase, I think just moving to chromium history instead. I worry it'll introduce perf problems.
cc: @kevinlawler who is implementing the history API
Once that work is implemented and we're integrated with it, we can likely close this issue
We are currently storing Chromium history in parallel without exposing it. Chromium stores the last 90 days of history. This is different in some ways than the last 500 entries, which is what we currently are offering through the browser-laptop side. As @bbondy points out, removing the 500 cap raises concerns about performance problems.
Possibly the right thing to do is to switch over to Chromium while instituting a "new" 500 entry governor (via LIMIT), then look into removing the cap afterwards. There is a strong likelihood this handover will be complicated, in particular on the UI side: the rationale behind this is that 500 entries can effectively be stored in memory without penalty, and rendered also more or less without penalty (in particular, while I haven't confirmed this is actually the case, it would be possible to avoid entirely building any paging or infinite scroll functionality). My 90-day history, for instance, has 10K or 44K rows, depending on how you want to count it, which is 20x or 80x, and there are sure to be users with more intense access patterns than mine, meaning there's a very real possibility we could run into performance issues using the existing arch.
The worry then is that a table scan on 90-day SQLite history will be cost prohibitive. If, for instance, we want to display history results in an infinite scroll, and we want to select LIMIT,OFFSET pages from SQLite, then any of that that doesn't exist will have to be built, and these are sizeable sub-projects.
Another possibility to consider might be re-skinning whatever Chromium exposes as a history page. Possibly they either already have what we need or have built some of these components that we can reuse. This is easier to describe, but it isn't necessarily the case that the integration is substantially easier than refitting the existing history page to work through a different API.
I think we should expose all of the chromium extension APIs for history and then re-build the about:history page and leave the sites history alone for now since it's used in various other places. As a separate task start to move over other things as we can.
We'll get this functionality by default when we switch to brave-core, so I don't think it's worth the time investment on browser-laptop. Closing as wontfix