This repository was archived by the owner on Nov 1, 2022. It is now read-only.

Description
Depends on ability to delete history. See #1373.
We have limited resources and potentially unlimited browsing history, especially considering syncing against very large profiles.
There are basically two reasons for expiring history:
- it's taking up too much disk space
- it's slowing down the browser - more history usually means slower queries that operate over history (like top sites, frecency calculations, etc)
We'll need to investigate both of these reasons. Questions:
- what are the signals OS may send us regarding our disk usage, and how to interpret them? E.g. Fennec relies on ACTION_DEVICE_STORAGE_LOW to aggressively purge history records
- what's the performance profile of our underlying
HistoryStorage implementations vis-a-vis expensive queries such as frecency/top sites/etc? This will greatly vary depending on implementation, but probably just care about browser-storage-sync. cc @thomcc and @mhammond to comment on places lib.
For reference, Fennec has two types of automatic history cleanup:
- on receiving ACTION_DEVICE_STORAGE_LOW intent, aggressively drop most history except for the last 500 or so visits
- when Fennec is going into background, drop history outside of the "last 2-3 months" time window
┆Issue is synchronized with this Jira Task