diff --git a/server/src/main/resources/static/client.js b/server/src/main/resources/static/client.js index 2c7a481..7cba2d4 100644 --- a/server/src/main/resources/static/client.js +++ b/server/src/main/resources/static/client.js @@ -335,9 +335,21 @@ function main() { function start() { // Request permission to show notifications - Notification.requestPermission().then(function(result) { - console.log('Notification permission: ' + result); - }); + try { + Notification.requestPermission().then(function(result) { + console.log('Notification permission: ' + result); + }); + } catch (error) { + // Safari doesn't return a promise for requestPermissions and it throws a TypeError. + // It takes a callback as the first argument instead. + if (error instanceof TypeError) { + Notification.requestPermission(() => { + console.log('Notification permission: ' + Notification.permission); + }); + } else { + throw error; + } + } // Load initial data doHttpGet('/games', function(games) {