Skip to content
Snippets Groups Projects
Closed Prefs.blocked_total is set before the value was read
  • View options
  • Prefs.blocked_total is set before the value was read

  • View options
  • Closed Issue created by Tom Schuster

    This causes the following issue: https://gitlab.com/eyeo/adblockplus/abpui/adblockplusui/-/issues/684

    The problem: Prefs.blocked_total++ is basically Prefs.blocked_total = Prefs.blocked_total + 1. What happens here is that when reading Prefs.blocked_total very soon after starting ABP we haven't read the actual saved value from browser.storage. So we fallback to the default value of 0. On the other hand when assigning we actually use Prefs.set, which will write to browser.storage. This means we are basically starting to count from zero.

    My solution is to use the Prefs.untilLoaded promise to make sure we have (potentially) loaded a the real blocked_total from the storage. Sadly we can't just fix this by somehow changing the getter, because we can't wait for promises there. I looked through the other Prefs and it didn't look to me like any of them should be set often or very early.

    Linked items 0

  • Link items together to show that they're related or that one is blocking others.

    Activity

    • All activity
    • Comments only
    • History only
    • Newest first
    • Oldest first