mirror of
https://github.com/langgenius/dify.git
synced 2026-02-09 12:42:41 +08:00
Some checks are pending
autofix.ci / autofix (push) Waiting to run
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/amd64, build-api-amd64) (push) Waiting to run
Build and Push API & Web / build (api, DIFY_API_IMAGE_NAME, linux/arm64, build-api-arm64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/amd64, build-web-amd64) (push) Waiting to run
Build and Push API & Web / build (web, DIFY_WEB_IMAGE_NAME, linux/arm64, build-web-arm64) (push) Waiting to run
Build and Push API & Web / create-manifest (api, DIFY_API_IMAGE_NAME, merge-api-images) (push) Blocked by required conditions
Build and Push API & Web / create-manifest (web, DIFY_WEB_IMAGE_NAME, merge-web-images) (push) Blocked by required conditions
Main CI Pipeline / Check Changed Files (push) Waiting to run
Main CI Pipeline / API Tests (push) Blocked by required conditions
Main CI Pipeline / Web Tests (push) Blocked by required conditions
Main CI Pipeline / Style Check (push) Waiting to run
Main CI Pipeline / VDB Tests (push) Blocked by required conditions
Main CI Pipeline / DB Migration Test (push) Blocked by required conditions
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
'use client'
|
|
|
|
import { SerwistProvider } from '@serwist/turbopack/react'
|
|
import { useEffect } from 'react'
|
|
import { IS_DEV } from '@/config'
|
|
import { isClient } from '@/utils/client'
|
|
|
|
export function PWAProvider({ children }: { children: React.ReactNode }) {
|
|
if (IS_DEV) {
|
|
return <DisabledPWAProvider>{children}</DisabledPWAProvider>
|
|
}
|
|
|
|
const basePath = process.env.NEXT_PUBLIC_BASE_PATH || ''
|
|
const swUrl = `${basePath}/serwist/sw.js`
|
|
|
|
return (
|
|
<SerwistProvider swUrl={swUrl}>
|
|
{children}
|
|
</SerwistProvider>
|
|
)
|
|
}
|
|
|
|
function DisabledPWAProvider({ children }: { children: React.ReactNode }) {
|
|
useEffect(() => {
|
|
if (isClient && 'serviceWorker' in navigator) {
|
|
navigator.serviceWorker.getRegistrations()
|
|
.then((registrations) => {
|
|
registrations.forEach((registration) => {
|
|
registration.unregister()
|
|
.catch((error) => {
|
|
console.error('Error unregistering service worker:', error)
|
|
})
|
|
})
|
|
})
|
|
.catch((error) => {
|
|
console.error('Error unregistering service workers:', error)
|
|
})
|
|
}
|
|
}, [])
|
|
|
|
return <>{children}</>
|
|
}
|