Skip to content

[Bug]: Safari permissions issue on onesignal permissions prompt #144

@mramzan18

Description

@mramzan18

What happened?

The Safari site URL, icon size, or push certificate is invalid, or Safari is in a private session.
whenever OneSignal.Slidedown.promptPush() is executed, prompt shown on safari browser and user click on allow button it instantly show this message 'The Safari site URL, icon size, or push certificate is invalid, or Safari is in a private session.' inside console and do not receive any push notifications. i tried to remove notification icon on onesignal dashboard as well .p12 file as well

import { useEffect, useState } from 'react'
import OneSignal from 'react-onesignal'
import { useSelector } from './useAppSelector'

const useOneSignalConfig = () => {
const { oneSignalExternalId } = useSelector(({ auth }) => auth)

const [isInitialized, setIsInitialized] = useState(false)

useEffect(() => {
    const initOneSignal = async () => {

        try {
            
            await OneSignal.init({
                appId: import.meta.env.VITE_ONESIGNAL_APP_ID, // Replace with your actual OneSignal App ID
                 allowLocalhostAsSecureOrigin: true, // This line is important for local development
                serviceWorkerPath: '/OneSignalSDKWorker.js', // Ensure this points to the correct service worker file
            })
            
            await OneSignal.Slidedown.promptPush()

            setIsInitialized(true)
        } catch (error) {
           
        }
    }

    initOneSignal()
}, [])

useEffect(() => {
    const loginOneSignal = async () => {
        try {
            await OneSignal.login(String(oneSignalExternalId))
           
        } catch (error) {
            
        }
    }

    if (isInitialized && oneSignalExternalId) {
        loginOneSignal()
    }
}, [isInitialized, oneSignalExternalId])

return { isInitialized }

}

export { useOneSignalConfig }

What browsers are you seeing the problem on?

Safari

What operating system are you running?

macOS Sonoma 14.4.1

Steps to reproduce?

using "react-onesignal": "^3.0.1",

What did you expect to happen?

Push notifications on safari

Relevant log output

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions