Changes between Version 12 and Version 16 of Ticket #4023


Ignore:
Timestamp:
10/05/2016 11:56:28 AM (3 years ago)
Author:
oleksandr
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #4023

    • Property Status changed from new to reopened
    • Property Summary changed from Fix "Subscriptions storage full" message - move storage of subscription lists to localStorage to Fix "Subscriptions storage full" message - move storage of subscription lists to IndexedDB
    • Property Milestone changed from to Adblock-Plus-0.9.7-for-Microsoft-Edge
  • Ticket #4023 – Description

    v12 v16  
    1 Edge has a limit of 5Mb storage in storage.local API and also a limit of 1Mb per storage item. Previously we [https://codereview.adblockplus.org/29348062/ tried to overcome] these limitations by splitting the subscription lists into 1Mb chunks. However turned out that is not enough. Since Edge uses UTF-16 to store data internally our subscriptions list use way more data than the current maximum 5Mb. 
     1Edge has a limit of 5Mb storage in storage.local API and also a limit of 1Mb per storage item. Previously we [https://codereview.adblockplus.org/29348062/ tried to overcome] these limitations by splitting the subscription lists into 1Mb chunks. However turned out that is not enough. Since Edge uses UTF-16 to store data internally our subscriptions list use way more data than the current maximum 5Mb. We then tried to [https://codereview.adblockplus.org/29350042/ compress the subscription lists] before storing them and uncompress them when loading. It did not work out well enough too, because that required a lot of computing, which made the UI highly unresponsive, and anything that was touching the subscription lists took way too much time. 
    22 
    33=== What to change === 
    4 Instead of trying to fit the data into a limited storage.local API, use localStorage API. The storage limit there is 10Mb. Since it is still not enough to store our extended subscription list in UTF-16 format archive the string before storing.  
     4Instead of trying to fit the data into a limited storage.local API (where the limit is 5Mb), or localStorage API (where the limit is 10Mb) use IndexedDB API. The storage limit there is [https://developer.microsoft.com/en-us/microsoft-edge/platform/documentation/dev-guide/storage/indexeddb/ from 50Mb to 4% of the volume size] in most cases, which should be enough for all of our uncompressed storage needs.  
  • Ticket #4023 – Review URL(s)

    v12 v16  
    11https://codereview.adblockplus.org/29348062/ 
    22https://codereview.adblockplus.org/29350042/ 
     3https://codereview.adblockplus.org/29355962/