If your custom filters are gone after the upgrade to AdBlock 3.0, first let us apologize for that. Our testing was extensive, but a bug slipped through our QA.


It's possible your custom filters are still there, however, lurking in Chrome's local storage. Here's how to find out and how to get them back if they are.


Note: This bug only affects AdBlock for Chrome users.


Check to see if the custom filters are still available

  1. Open the Chrome Extensions page (Chrome menu > More Tools > Extensions or open a new tab and enter chrome://extensions).
  2. Enable Developer Mode in the upper right corner of the page.
  3. Find AdBlock or AdBlock development build in the list of extensions.
  4. To the right of "Inspect views," click background page. A new Chrome window opens.

    A screenshot of the Chrome Extensions page is shown below:


  5. In the new Chrome window, click the Console tab.
  6. Type or paste the following text in the console and press Enter:
    localStorage.getItem('custom_filters')  


    A screenshot of the console tab is shown below:


If the word "null" is shown, then the custom filters are probably no longer available.

  1. Click the Resources tab. In the panel on the left, expand the Local Storage folder by clicking the triangle icon next to it, then click the item below it: chrome-extension://gighmmpiobklfepjocnamgkkbiglidom.
  2. Capture a screenshot of this window.
  3. Attach the screenshot to your existing help.getadblock.com ticket or, if you don't have one yet, attach it to an email to help@getadblock.com.


If any text other than the word "null" is shown, then the custom filters can probably be retrieved. Keep going!


Recover the missing custom filters


Paste the following text in its entirety in the console, exactly as presented here. Then press Enter:


var custom = localStorage.getItem('custom_filters');
  if (custom) {
  var originalFilterArray = custom.split('\n');
  originalFilterArray = originalFilterArray.filter(function(item) {
  return (item !== '');
  });
  custom = originalFilterArray.join('\n');
  var response = parseFilters(custom);
  if (response && response.filters) {
  for (var i = 0; i < response.filters.length; i++) {
  var filter = response.filters[i];
  if (filter) {
  FilterStorage.addFilter(filter);
  }
  }
  console.log('Migrated custom filters, count: ', response.filters.length);
  }
  if (response &&
  response.errors &&
  response.errors.length > 0) {
  var errorMsgs = [];
  errorMsgs.push(translate('custom_filters_migration_error_message_part1') + response.errors.length);
  errorMsgs.push(' ');
  errorMsgs.push(translate('custom_filters_migration_error_message_part2'));
  errorMsgs.push(' ');
  for (var i = 0; i < response.errors.length; i++) {
  var error = response.errors[i];
  if (error.lineno) {
  errorMsgs.push(translate('custom_filters_migration_error_message_part3') + originalFilterArray[(error.lineno - 1)]);
  }
  errorMsgs.push(error.toString());
  errorMsgs.push(' ');
  }
  var errorMsg = errorMsgs.join('\n');
  console.log(errorMsg);
  ext.storage.set('custom_filters_errors', errorMsg);
  }
  }
  else {
  console.log("nothing to migrate");
  }


Open the AdBlock Options page and click the CUSTOMIZE tab. The custom filters should be shown in the text box.


If the custom filters aren't there, please provide a screenshot of the console tab so that we can make sure you ran the JavaScript correctly. Then proceed with the same steps as the "null" results above. 

 

Please let us know how it goes!