lichess-org / lila

♞ lichess.org: the forever free, adless and open source chess server ♞
https://lichess.org
GNU Affero General Public License v3.0
15.76k stars 2.28k forks source link

Stockfish sometimes won't turn on for Safari users. #5832

Closed nojoking closed 4 years ago

nojoking commented 4 years ago

Various Safari users have reported the same bug. The engine button won't stay on as pictured in the gif. This happens on all pages that have the engine button. The analysis board, puzzles, etc.

https://cdn.discordapp.com/attachments/352965935809691658/658015135067275284/lichess_bug.gif

niklasf commented 4 years ago

Safari 12.1.2 on Mac OS Sierra (outdated) for sure (happened today), and sure at 99% with Safari on IOS 13 (so Safari 13 I think)

niklasf commented 4 years ago

Failing to reproduce on Browserstack. Unlike the screen recording, the browsers even use WASM.

niklasf commented 4 years ago
{
    "diagnosticsVersion": 4,
    "navigator": {
        "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Safari/605.1.15",
        "platform": "MacIntel",
        "chrome": false,
        "is64Bit": true
    },
    "wasm": {
        "WebAssembly": "object",
        "SharedArrayBuffer": "undefined",
        "Atomics": "undefined",
        "mvp": true,
        "structuredCloning": "ok"
    },
    "pnacl": {
        "mimeType": false
    },
    "needsBoardHeightFix": true,
    "hasTouchEvents": false,
    "animate": "undefined",
    "localStorage": {
        "client-eval-enabled": "0",
        "analyse.ceval.watchdog3.pnacl": null,
        "analyse.ceval.max-depth": "21",
        "analyse.ceval.multipv": "1",
        "analyse.ceval.threads": null,
        "analyse.ceval.hash-size": null,
        "analyse.ceval.infinite": null,
        "ceval.pool.start": "1577563833753",
        "ceval.fen": "start:0.20535523733420724",
        "just-notified": null,
        "push-subscribed": null,
        "grid": "1557063616138",
        "resize-nag": "1",
        "speech.enabled": null,
        "sound-volume": null,
        "surl6": "socket.lichess.org:9029"
    },
    "serviceWorker": {
        "navigator": true,
        "permissions": false,
        "Notification": true,
        "PushManager": false,
        "fetch": "function",
        "Notification.permission": "default"
    }
}

image

niklasf commented 4 years ago

Safari violating the localStorage spec, by firing events also in the original document (but only when there are multiple tabs).