Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#4775 closed defect (fixed)

Unable to add custom filter list by using subscription hyperlink

Reported by: rraceanu Assignee: kzar
Priority: P2 Milestone: Adblock-Plus-1.13-for-Chrome-Opera
Module: Platform Keywords:
Cc: trev, mapx, greiner, kzar, sebastian Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Ross Verified working: yes
Review URL(s):

https://codereview.adblockplus.org/29373683/
https://codereview.adblockplus.org/29373686/

Description (last modified by kzar)

Environment

Windows 10
Firefox 52 Dev
ABP for Firefox 1.24.4.1704

How to reproduce

  1. Access https://adblockplus.org/en/subscriptions
  2. Scroll down and attempt to subscribe to any filterlist.
  3. Open Adblock Plus settings and navigate to the filter list tab.

Observed behaviour

Notice the new filter list does not get added, neither does it autocomplete the empty fields for a new custom subscription (name and filter URL)

Expected behaviour

Using the subscribe feature will add the specific subscription in the filter list

Additional Information

This issue does not occur on Chrome extension.
Manually adding filter URL and name will successfully add a custom filter list.

Change History (16)

comment:1 Changed 3 years ago by rraceanu

  • Description modified (diff)

comment:2 Changed 3 years ago by mapx

the subscription from the subscriptions page is working fine for me (last FF dev edition + last dev build 2.8.2.4234).

btw, you indicated 1.24.4.1704 as ABP build (is that for chrome ..)

comment:3 Changed 3 years ago by mapx

  • Cc mapx added

comment:4 follow-up: Changed 3 years ago by mapx

or are you talking about the new webextensions approach for firefox ? where is such extension for firefox ?

comment:5 in reply to: ↑ 4 Changed 3 years ago by greiner

  • Cc greiner added
  • Summary changed from Unable to add custom filter list by using subscription hyperlink for Firefox to Unable to add custom filter list by using subscription hyperlink on Firefox

Replying to mapx:

or are you talking about the new webextensions approach for firefox ?

I also think that's what he means because I was able to reproduce this issue using:

Adblock Plus 1.12.4.1708
Chrome 55.0.2883.87
Ubuntu 16.04

@rraceanu You mentioned that this issue doesn't occur on Chrome. Which environment have you tried it on?

where is such extension for firefox ?

You'd have to build it yourself.

comment:6 Changed 3 years ago by Lain_13

I can reproduce such behaviour on:
Adblock Plus development build 1.12.4.1708
Google Chrome 55.0.2883.87 (Official Build) m (64-bit)
Windows 10

Firefox DE supports Chrome extensions, so I can reproduce it there as well:
Adblock Plus development build 1.12.4.1708 ← installed as temporary unsigned extension
Firefox DE 52.0a2
Windows 10
BTW, it's not possible to install it as signed since it won't pass automatic validation since AMO detects jqueryui lib there which they consider as unsafe.

It does not reproduce with:
Adblock Plus 1.12.4 ← non-development build
On the same version of Google Chrome and Firefox DE.

Also, this issue does not reproduce with ABP for Firefox 2.8.2.4234-beta in Firefox DE 52.0a2. Most likely rraceanu uses normal (non-dev) build of extension in Google Chrome.

@rraceanu if you want to use in Firefox latest version of ABP for Firefox then use "Adblock Plus for Firefox" from this page: https://adblockplus.org/en/development-builds Unless you deliberately testing ABP for Chrome in Fx you might have clicked on the next link by mistake and installed version for Chrome in Fx.

Last edited 3 years ago by Lain_13 (previous) (diff)

comment:7 Changed 3 years ago by greiner

  • Cc kzar added

It seems like we're dealing with two issues here:

1) The options page doesn't start loading until the ext.showOptions() callback is done. This appears to be caused by the window.setTimeout() being used without the second argument.

2) The ext.showOptions() callback is called after the options page was opened but before it has finished loading. Therefore the options page doesn't listen for the "subscriptions.add" message yet that the background page is sending in the callback.

Therefore I'd suggest that we should wait for the site to finish loading before calling the callback.

Presumably, this regression was introduced by #4680 which made the switch from chrome.tabs.create() to chrome.runtime.openOptionsPage(). At least this issue doesn't appear anymore when using the previous method.

comment:8 Changed 3 years ago by kzar

  • Description modified (diff)
  • Priority changed from Unknown to P2
  • Ready set

I'm not sure your conclusions are correct but I can at least reproduce the problem. (In fact when I try it the options page doesn't open at all when those links are clicked!)

I've spent a while setting up the tooling but I haven't gotten anywhere with the investigation yet. (Having trouble finding the equivalent of a console for the extension's background page in Chrome.)

Will continue to work on this when I get a chance.

comment:9 Changed 3 years ago by kzar

  • Owner set to kzar

comment:10 Changed 3 years ago by kzar

  • Cc sebastian added

comment:11 Changed 3 years ago by kzar

  • Platform changed from Firefox to Unknown / Cross platform
  • Summary changed from Unable to add custom filter list by using subscription hyperlink on Firefox to Unable to add custom filter list by using subscription hyperlink

Crap, I can also reproduce this on Chrome and at least what you've said about #4680 introducing it seems to be correct.

I have a fix for Chrome working already, just wait for the tab to finish loading (if it didn't already) before calling the callback like you suggest. I don't know what's going on in Firefox however and I'd rather fix this for both platforms at once.

comment:12 Changed 3 years ago by kzar

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

Aha, got it.

comment:13 Changed 3 years ago by abpbot

A commit referencing this issue has landed:
Issue 4775 - Fix subscription links for Firefox

comment:14 Changed 3 years ago by abpbot

A commit referencing this issue has landed:
Issue 4775 - Perform callback after options page loaded

comment:15 Changed 3 years ago by kzar

  • Milestone set to Adblock-Plus-for-Chrome-Opera-next
  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:16 Changed 3 years ago by Ross

  • Tester changed from Unknown to Ross
  • Verified working set

Fixed. Still works fine in Chrome, now works in Firefox WebExtension too.

ABP 1.12.4.1741
Firefox 52 / Windows 10

ABP 1.12.4.1739
Chrome 49 / 56 / Windows 10
Chrome 56 / OS X 10.12
Chrome 56 / Ubuntu 16.04
Opera 37 / 41 / Windows 7
Safari 10 / OS X 10.12

Note: See TracTickets for help on using tickets.