@things-factory/notification 10.0.0-beta.4 → 10.0.0-beta.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-client/actions/notification-fcm.js +2 -2
- package/dist-client/actions/notification-fcm.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/middlewares/index.d.ts +2 -1
- package/dist-server/middlewares/index.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -8
|
@@ -49,8 +49,8 @@ export async function isSupportingMessaging() {
|
|
|
49
49
|
return !!messaging;
|
|
50
50
|
}
|
|
51
51
|
export async function getSubscriptionToken(force = false) {
|
|
52
|
-
|
|
53
|
-
const registration = await navigator.serviceWorker?.
|
|
52
|
+
/* 서비스워커 미등록 시 .ready는 영원히 pending되므로 getRegistration 사용 */
|
|
53
|
+
const registration = await navigator.serviceWorker?.getRegistration('/');
|
|
54
54
|
if (!registration) {
|
|
55
55
|
console.warn('service worker not registered.');
|
|
56
56
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-fcm.js","sourceRoot":"","sources":["../../client/actions/notification-fcm.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,IAAI,QAAQ,CAAA;AACZ,IAAI,SAAS,CAAA;AACb,IAAI,SAAS,CAAA;AAEb,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,YAAY,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;YAC9C,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,sBAAsB,EAAE;YACnD,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAC/E,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAElC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC/C,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;YAE7B,6DAA6D;YAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;gBACnE,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;gBACnE,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;YACrE,CAAC;YAED,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAA;YAC9B,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;AAChC,CAAC;AAED,0BAA0B;AAC1B,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAQ,CAAA;AAEpD,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IACjD,OAAO,CAAC,CAAC,SAAS,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAK,GAAG,KAAK;IACtD,
|
|
1
|
+
{"version":3,"file":"notification-fcm.js","sourceRoot":"","sources":["../../client/actions/notification-fcm.ts"],"names":[],"mappings":"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","sourcesContent":["export const UPDATE_NOTIFICATION = 'UPDATE_NOTIFICATION'\nexport const CONFIRM_NOTIFICATION = 'CONFIRM_NOTIFICATION'\n\nimport { initializeApp } from 'firebase/app'\nimport { getMessaging, getToken, deleteToken } from 'firebase/messaging'\n\nimport { synchronize } from '@things-factory/utils'\n\nvar vapidKey\nvar appConfig\nvar messaging\n\nasync function _getVapidKey() {\n if (!vapidKey || !appConfig) {\n if (Notification.permission === 'denied') {\n console.warn('Notification permission denied')\n return\n }\n\n const response = await fetch('/notification/config', {\n headers: {\n Accept: 'application/json'\n }\n })\n if (!response.ok) {\n throw new Error(`fail to get notification configuration: ${response.status}`)\n }\n const conf = await response.json()\n\n if (!conf || !conf.vapidPublicKey || !conf.appConfig) {\n throw new Error('correct notification configuration required.')\n }\n\n try {\n const app = await initializeApp(conf.appConfig)\n messaging = getMessaging(app)\n\n // messaging = _messaging.isSupported() ? _messaging() : null\n if (!messaging) {\n console.warn('###################################################')\n console.warn('push notification is not supported in this browser.')\n console.warn('###################################################')\n }\n\n vapidKey = conf.vapidPublicKey\n appConfig = conf.appConfig\n } catch (err) {\n throw new Error(`failed to initialize firebase app.`)\n }\n }\n\n return { vapidKey, messaging }\n}\n\n// to avoid race condition\nconst getVapidKey = synchronize(_getVapidKey) as any\n\nexport async function isSupportingMessaging() {\n const { messaging } = (await getVapidKey()) || {}\n return !!messaging\n}\n\nexport async function getSubscriptionToken(force = false) {\n /* 서비스워커 미등록 시 .ready는 영원히 pending되므로 getRegistration 사용 */\n const registration = await navigator.serviceWorker?.getRegistration('/')\n\n if (!registration) {\n console.warn('service worker not registered.')\n return\n }\n\n if (!registration.pushManager || (!force && !(await registration.pushManager.getSubscription()))) {\n return\n }\n\n const { vapidKey, messaging } = (await getVapidKey()) || {}\n\n try {\n return (\n vapidKey &&\n (await getToken(messaging, {\n vapidKey,\n serviceWorkerRegistration: registration\n }))\n )\n } catch (err) {\n console.error(err)\n }\n}\n\nexport async function subscribe() {\n const token = await getSubscriptionToken(true)\n\n if (!token) {\n return\n }\n\n await fetch('/notification/register', {\n method: 'post',\n headers: {\n 'Content-type': 'application/json',\n Accept: 'application/json'\n },\n body: JSON.stringify({\n subscription: token\n })\n })\n\n return token\n}\n\nexport async function unsubscribe() {\n const token = await getSubscriptionToken()\n if (!token) {\n return\n }\n\n try {\n const { vapidKey, messaging } = (await getVapidKey()) || {}\n vapidKey && (await deleteToken(messaging))\n } catch (err) {\n console.error(err)\n }\n\n await fetch('/notification/unregister', {\n method: 'post',\n headers: {\n 'Content-type': 'application/json',\n Accept: 'application/json'\n },\n body: JSON.stringify({\n subscription: token\n })\n })\n}\n\nexport async function notify(options) {\n const response = await fetch('/notification/notify', {\n method: 'post',\n headers: {\n 'Content-type': 'application/json',\n Accept: 'application/json'\n },\n body: JSON.stringify(options)\n })\n\n return response.ok\n}\n"]}
|