
Loading…
trello doesn't work on safari with uBlock #1521
Can confirm. When ublock is enabled, scripts on multiple websites crash on errors like this:
TypeError: null is not an object (evaluating 'document.body.setAttribute')
(document.body is null)
The same problem with basecamp.com.
After updating to the latest uBlock for Safari, I cannot escape the absolute breaking of essential JS. This issue happens on multiple sites. Amazon checkout is wholly useless. Trello, as well. Too many sites to mention, in fact.
Solution? I had to disable the uBlock extension in Safari settings.
I'm not sure what to do, though, as the uBlock Origin repo by @gorhill currently has no plans to support Safari (see: gorhill/uBlock#64). Had I the time and experience, I'd make every attempt to contribute to @gorhill's repo (or fork) to get a Safari extension working for uBlock Origin. If the lack of Safari support in uBlock Origin is primarily Apple Developer-account related, I can look into this since I have an active account. Also, Safari Extensions will soon be hosted by Apple (according to their docs), which is similar to Chrome Extensions being hosted by Google.
This video @ 20:18 (no login required) detailing new Content Blocking extensions for Safari seems interesting, particularly if it might make matters easier for uBlock Origin in Safari to exist. Of course, perhaps the new Content Blocking for Safari doesn't offer any advantages for either uBlock or uBlock Origin; I do not have sufficient uBlock-related development experience to comment. Maybe others can do so.
I have uBlock Origin installed under Chrome and the stability has been superb. uBlock under Safari? Not the case.
@gorhill: I've never helped develop a Safari extension, but am willing to learn if it means I can help others get access to what you and others are doing with uBlock Origin. I can and will test, as I have a Mac. My understanding (looking through commits and the file tree) is uBlock Origin has a core plus browser-specific build tools/scripts and the platform-specific dirs with custom JS as needed. From your perspective and experience, is the bulk of the Safari extension existing having a contributor maintain to keep parity with the changes made to other platforms after core is upgraded/updated? Commits like gorhill/uBlock@2dde6f1 are what I'm seeing, in particular. Maybe I'm way off base here? What I am angling at is that if I know what needs to be touched/updated and what will, mostly, remain static in order to have uBlock Origin for Safari, I will jump in.
I'll clone, make changes based upon other platforms common files/shared code, and see if I can get the latest uBlock Origin working in Safari 9.0 (11601.1.43). Probably won't work for me, but hey, that's ok: at least I'm trying to understand.
@ggamel Probably a good first step would be to see the commits for the platform-specific code since the split, and see which ones are relevant to Safari. Probably also best to open a meta-issue on my branch to keep track of the progress -- this way maybe other devs will feel like contributing.
In any case, the specific issue here I will guess is a regression bug from last commit (I can see references to document.body were added to the code).
twitch.tv is also not working with uBlock enabled.
Only chiming in, all sites mentioned do work correctly in Firefox, so obviously Safari code related.
new version 0.9.5.1 breaks office365 in safari. outlook web access will never be able to load the mailbox. this happens even if ublock is disabled. so conclusion for me. as long as gorhill will not provide a ublock origin version for safari, i will go back to adblock. the mentioned and developed ublock of this github breaks things.
Confirmed that ublock safari (8.0.8) breaks above sites. Even breaks sites if ublock is disable for site or site added to whitelist.
Only solution is to disable entire safari extension.
This problem seemed to start between Aug 17. Logged into Trello on Friday and didn't notice any issues.
Yes, @mom20xx you are right. I have 0.9.5.1
Looking at code, I think I see error (changed 3 days ago):
In platform/safari/vapi-client.js this was changed 3 days ago:
(orig) e.detail.url = false;
(changed to) document.body.setAttribute("blocked", "true");
The first line of error I get in loading any site is that no setAttribute for document.body - think they need to reverse this most recent commit.
maybe we should switch to os x 10.11 and safari 9. the mentioned changes fix issues in safari 9 but break safari 8.
Hmm, I can't switch as using software not ready for 10.11 yet.
I would assume there could be some sort of platform check and if Safari = 8 run old code, if 9 run newer.
Trello has worked for me on Safari with uBlock up until a few days ago
For those wondering, uBlock 0.9.5.1 is broken under Safari 9 under OS X 10.11 dev beta 6, too. It's not just Safari 8 that is affected.
Will push fix within the next couple of hours.
Released 0.9.5.2 for Safari which includes the fix.
@ggamel Safari is undergoing a major change in extension APIs — the APIs which enable uBlock to be implemented in Safari are deprecated as of OS X 10.11.
That said, this wasn't the issue here — commit bc11167 was a fix to workaround an undocumented behavior change in extension content scripts' scoping. It did introduce a bug, but 0.9.5.2 should get things back behaving as expected.
Many thanks for the fast response!
Great job guys! Works now, thanks for the super quick fix!
Great thank you! Turns out some of the Trello team were looking into it also (they a few support tickets).
After logging in to trello.com the complete website disappears. This is valid for Safari on Mac. Adding trello.com to the whitelist does not help. It works if I disable uBlock as an extension in the Safari settings.