Page MenuHomePhabricator

Special:Notifications broken on Safari 4
Closed, ResolvedPublic

Description

The Special:Notifications page no longer displays notifications for me. I'm guessing there was a software update about two weeks ago and my system (Mac OS 10.4.11 Safari 4.0) does not support the upgrade.

https://en.wikipedia.org/wiki/Wikipedia:Village_pump_(technical)#Special:Notifications_page_failure

Archived: https://en.wikipedia.org/wiki/Wikipedia:Village_pump_(technical)/Archive_147#Special:Notifications_page_failure

Safari 4 only has basic support according to our compatibility matrix, so critical tasks should mostly work.
This will be difficult to figure out, since I doubt it will be easy to find a developer that has access to Safari 4.

But hopefully, someone has an idea about what changed and why that would break Safari 4.

Event Timeline

Quoting further:

The Special:Notifications page is displayed as a regular Wikipedia page with the top and left bars, the title is Notifications under which is a link to Preferences and under that is a short, wide rectangle with scrolling diagonal bars as if something is supposed to be there.

I think he's describing the loading indicator.

pasted_file (637×1 px, 82 KB)

That would mean the browser is actually getting JavaScript, and fails in the middle of executing it. We only blacklist Safari 3, apparently.

https://www.mediawiki.org/wiki/Compatibility#Browser_support_matrix disagrees with the comments in the startup.js file, which state Safari 4+ for grade A.

Our Grade A support has required Safari 5.1+ for a while now. In recent commit 79e095fd8a609b71937057034ff5801c13180137, I mistakenly wrote "Safari 4+" in startup.js - based on what the feature test effectively did. (It passes in Safari 4.)

Safari 4 is currently supported for basic level only. However, per our principle guideline, we don't blacklist unless there are known failures. Especially to allow Grade X treatment (best-effort approach, avoid whitelisting popular browsers).

We've never blacklisted Safari versions, so this is not a regression. We do have a feature test as of late, which for the first time effectively started blacklisting Safari versions below 4.

We should figure out what is causing this bug in Safari 4 and determine whether it affects other browsers as well (e.g. browser quirk, or missing browser feature).

If it's a missing feature, it should probably be fixed in the application code - or we can expand the feature test to require it (depending on how many other browser views that would affect).

If it is a browser quirk, we may need to blacklist Safari 4 explicitly, but I'd like to avoid that if possible.

(Right, sorry, "blacklist" was not the right word to use. We have a feature test which effectively always results in us serving JS to Safari 4 and not serving JS to Safari 3.)

hmm, i think we really should bump that then. We have had a few problems recently on older Safari versions already and it's very difficult to figure them out because so few people are using those browsers.

I can't reproduce this using Safari 4 on Windows Vista via crossbrowsertesting.com. They don't have Mac OS 10.4 though.

Saucelab has only Safari 5 and Windows 7 combination. Special:Notifications page looks as expected in Safari 5.

Safari 4 only has basic support

Not even basic support anymore nowadays. Hence proposing to decline this task.

Safari 4 only has basic support

Not even basic support anymore nowadays. Hence proposing to decline this task.

It doesn't say that?

Screen Shot 2017-08-15 at 19.25.29.png (284×1 px, 67 KB)

BasicSafari 3.0+

Also per task description:

@TheDJ wrote:

Safari 4 only has basic support according to our compatibility matrix, so critical tasks should mostly work.

The Notifications special page is most often used as fallback in browsers where the pop-over widget doesn't work. As, such, it should at least succeed at that purpose and be able to show the notifications in some form (as opposed to being an empty page):

pasted_file (637×1 px, 82 KB)

Re-opening given closure was based on false information.

Trying to reproduce the issue in Beta Cluster with Safari 4.0.5 on Mac OS X 10.6 Snow Leopard (using BrowserStack) shows that content does show up.

Screen Shot 2017-08-15 at 19.39.12.png (1×2 px, 1 MB)

However, trying it on the production account, does show a problem. It seems to always say "You have no notifications". Even though the personal toolbar does reflect "Alert (1)".

Screen Shot 2017-08-15 at 19.52.22.png (853×1 px, 712 KB)

This screenshot is from test2.wikipedia.org, but the same was on en.wikipedia.org. "You have no notifications" and "Alert (1)". After making another ping, the page remained unchanged, even the counter did not increase. After 5 minutes I logged-out and in again, and then the counter increased. This suggests it is indefinitely cached within the user's global session?

Screen Shot 2017-08-15 at 19.57.00.png (768×1 px, 513 KB)

Were you trying to view cross-wiki notifications in a no-JS environment? That is known not to work. The counter includes foreign notifications, but the no-JS version of Special:Notifications only shows local ones. There's a task for fixing that somewhere.

Krinkle claimed this task.
Krinkle triaged this task as High priority.

Were you trying to view cross-wiki notifications in a no-JS environment? That is known not to work. The counter includes foreign notifications, but the no-JS version of Special:Notifications only shows local ones. There's a task for fixing that somewhere.

Ah, good point. I didn't think the backend differentiated on that factor. Looking again for local-wiki notifications, they render the same in production as in beta. A few minor layout defects, but otherwise seems to work fine in Safari 4.

Screen Shot 2017-08-16 at 19.49.55.png (1×1 px, 664 KB)

Screen Shot 2017-08-16 at 19.48.47.png (1×1 px, 809 KB)