From 85f1ce3b010f89bb789906650011c8333f302fab Mon Sep 17 00:00:00 2001 From: "serhii.ku" Date: Wed, 11 Sep 2024 16:59:12 +0300 Subject: [PATCH 1/7] Test commit --- docs/components/VSipPhone.vue | 44 +++ docs/nuxt.config.ts | 3 + docs/package.json | 1 + docs/public/firebase-messaging-sw.js | 0 docs/yarn.lock | 565 ++++++++++++++++++++++++++- src/core/index.ts | 3 + 6 files changed, 613 insertions(+), 3 deletions(-) create mode 100644 docs/public/firebase-messaging-sw.js diff --git a/docs/components/VSipPhone.vue b/docs/components/VSipPhone.vue index 97baa67..f6bef2a 100644 --- a/docs/components/VSipPhone.vue +++ b/docs/components/VSipPhone.vue @@ -218,6 +218,50 @@ import { useVsipInject } from '@/index' import { computed, ref } from 'vue' import { CONSTRAINTS } from '~/enum' +import { initializeApp } from 'firebase/app'; +import { getMessaging, getToken } from "firebase/messaging"; + +const firebaseConfig = window.firebaseConfig + +//const parsed = window.firebaseConfig + +const VAPID_KEY = window.VAPID_KEY + +const app = initializeApp(firebaseConfig); + +//const messaging = getMessaging(); + +let token: string + +async function requestNotificationPermission() { + const messaging = getMessaging(); + + try { + // Request notification permission + const permission = await Notification.requestPermission(); + + if (permission === 'granted') { + console.log('Notification permission granted.'); + + // Get the FCM token + token = await getToken(messaging, { vapidKey: VAPID_KEY }); + + if (token) { + console.log('FCM Token:', token); + // Use the token for sending notifications from your server + } else { + console.log('No registration token available. Request permission to generate one.'); + } + } else { + console.log('Notification permission denied.'); + } + } catch (error) { + console.error('An error occurred while requesting permission:', error); + } +} + +requestNotificationPermission() + const { state, actions } = useVsipInject() const { selectedInputDevice, diff --git a/docs/nuxt.config.ts b/docs/nuxt.config.ts index 360ac9c..d2edf6c 100644 --- a/docs/nuxt.config.ts +++ b/docs/nuxt.config.ts @@ -3,6 +3,9 @@ import { resolve } from 'path' export default defineNuxtConfig({ devtools: { enabled: true }, + devServer: { + https: true + }, app: { head: { meta: [ diff --git a/docs/package.json b/docs/package.json index 6d32af5..cfdb551 100644 --- a/docs/package.json +++ b/docs/package.json @@ -11,6 +11,7 @@ "@nuxt/content": "^2.13.2", "@voicenter-team/opensips-js": "^1.0.95", "@voicenter-team/voicenter-ui-plus": "^0.5.20", + "firebase": "^10.13.1", "voicenter-team-documentation-template": "https://github.com/VoicenterTeam/documentation-template.git" }, "devDependencies": { diff --git a/docs/public/firebase-messaging-sw.js b/docs/public/firebase-messaging-sw.js new file mode 100644 index 0000000..e69de29 diff --git a/docs/yarn.lock b/docs/yarn.lock index b4d1850..1f1fcfe 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -749,6 +749,390 @@ resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== +"@firebase/analytics-compat@0.2.13": + version "0.2.13" + resolved "https://registry.yarnpkg.com/@firebase/analytics-compat/-/analytics-compat-0.2.13.tgz#de8858e578616c4b7a2e209ba14d21cef03e0f9d" + integrity sha512-aZ4wGfNDMsCxhKzDbK2g1aV0JKsdQ9FbeIsjpNJPzhahV0XYj+z36Y4RNLPpG/6hHU4gxnezxs+yn3HhHkNL8w== + dependencies: + "@firebase/analytics" "0.10.7" + "@firebase/analytics-types" "0.8.2" + "@firebase/component" "0.6.8" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/analytics-types@0.8.2": + version "0.8.2" + resolved "https://registry.yarnpkg.com/@firebase/analytics-types/-/analytics-types-0.8.2.tgz#947f85346e404332aac6c996d71fd4a89cd7f87a" + integrity sha512-EnzNNLh+9/sJsimsA/FGqzakmrAUKLeJvjRHlg8df1f97NLUlFidk9600y0ZgWOp3CAxn6Hjtk+08tixlUOWyw== + +"@firebase/analytics@0.10.7": + version "0.10.7" + resolved "https://registry.yarnpkg.com/@firebase/analytics/-/analytics-0.10.7.tgz#6b6e51002d7a4c8f87c0a8c933cc5c26b37b205a" + integrity sha512-GE29uTT6y/Jv2EP0OjpTezeTQZ5FTCTaZXKrrdVGjb/t35AU4u/jiU+hUwUPpuK8fqhhiHkS/AawE3a3ZK/a9Q== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/installations" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/app-check-compat@0.3.14": + version "0.3.14" + resolved "https://registry.yarnpkg.com/@firebase/app-check-compat/-/app-check-compat-0.3.14.tgz#503593a6cf23b7d318f64dfa1f48f759325602eb" + integrity sha512-kK3bPfojAfXE53W+20rxMqIxrloFswXG9vh4kEdYL6Wa2IB3sD5++2dPiK3yGxl8oQiqS8qL2wcKB5/xLpEVEg== + dependencies: + "@firebase/app-check" "0.8.7" + "@firebase/app-check-types" "0.5.2" + "@firebase/component" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/app-check-interop-types@0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.2.tgz#455b6562c7a3de3ef75ea51f72dfec5829ad6997" + integrity sha512-LMs47Vinv2HBMZi49C09dJxp0QT5LwDzFaVGf/+ITHe3BlIhUiLNttkATSXplc89A2lAaeTqjgqVkiRfUGyQiQ== + +"@firebase/app-check-types@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@firebase/app-check-types/-/app-check-types-0.5.2.tgz#1221bd09b471e11bb149252f16640a0a51043cbc" + integrity sha512-FSOEzTzL5bLUbD2co3Zut46iyPWML6xc4x+78TeaXMSuJap5QObfb+rVvZJtla3asN4RwU7elaQaduP+HFizDA== + +"@firebase/app-check@0.8.7": + version "0.8.7" + resolved "https://registry.yarnpkg.com/@firebase/app-check/-/app-check-0.8.7.tgz#b5f01116b99eb7d12d57a1cb1595796f8196ca7f" + integrity sha512-EkOeJcMKVR0zZ6z/jqcFTqHb/xq+TVIRIuBNGHdpcIuFU1czhSlegvqv2+nC+nFrkD8M6Xvd3tAlUOkdbMeS6A== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/app-compat@0.2.40": + version "0.2.40" + resolved "https://registry.yarnpkg.com/@firebase/app-compat/-/app-compat-0.2.40.tgz#d8cc5d2e5a00e2d36b074b405c9472e84a27b750" + integrity sha512-2L5MW4MH2ya7Wvw0hzWy3ZWeB4SqC5gYXDAV5AS1lBTL4zL3k8dsqJmry/cFV00GgkCI01WJbcXvFMCXJvgyow== + dependencies: + "@firebase/app" "0.10.10" + "@firebase/component" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/app-types@0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.9.2.tgz#8cbcceba784753a7c0066a4809bc22f93adee080" + integrity sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ== + +"@firebase/app@0.10.10": + version "0.10.10" + resolved "https://registry.yarnpkg.com/@firebase/app/-/app-0.10.10.tgz#acdccd79b895cfa4d082d74d02594380444e2292" + integrity sha512-sDqkdeFdVn5uygQm5EuIKOQ6/wxTcX/qKfm0MR46AiwLRHGLCDUMrXBkc8GhkK3ca2d6mPUSfPmndggo43D6PQ== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + idb "7.1.1" + tslib "^2.1.0" + +"@firebase/auth-compat@0.5.13": + version "0.5.13" + resolved "https://registry.yarnpkg.com/@firebase/auth-compat/-/auth-compat-0.5.13.tgz#59ec6d35c1efd4fb834c6130a8e1b76962c65c1c" + integrity sha512-rV6TMxUU6wBBZ2ouDMtjJsJXeewtvYvVzslzt3/P7O/kxiWlreHT/2M/1guMiXKo3zk52XK3GqP0uM2bN7fEow== + dependencies: + "@firebase/auth" "1.7.8" + "@firebase/auth-types" "0.12.2" + "@firebase/component" "0.6.8" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + undici "6.19.7" + +"@firebase/auth-interop-types@0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@firebase/auth-interop-types/-/auth-interop-types-0.2.3.tgz#927f1f2139a680b55fef0bddbff2c982b08587e8" + integrity sha512-Fc9wuJGgxoxQeavybiuwgyi+0rssr76b+nHpj+eGhXFYAdudMWyfBHvFL/I5fEHniUM/UQdFzi9VXJK2iZF7FQ== + +"@firebase/auth-types@0.12.2": + version "0.12.2" + resolved "https://registry.yarnpkg.com/@firebase/auth-types/-/auth-types-0.12.2.tgz#f12d890585866e53b6ab18b16fa4d425c52eee6e" + integrity sha512-qsEBaRMoGvHO10unlDJhaKSuPn4pyoTtlQuP1ghZfzB6rNQPuhp/N/DcFZxm9i4v0SogjCbf9reWupwIvfmH6w== + +"@firebase/auth@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@firebase/auth/-/auth-1.7.8.tgz#554e90620c2d6a8db332898879dbdab861f969b7" + integrity sha512-1KJlDrTrEEFTIBj9MxjAWjQ4skecBD4bmoayQ0l14QDbNc1a8qGbi+MFSJkH7O6VnGE6bTMcWSw6RrQNecqKaw== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + undici "6.19.7" + +"@firebase/component@0.6.8": + version "0.6.8" + resolved "https://registry.yarnpkg.com/@firebase/component/-/component-0.6.8.tgz#899b9318c0ce0586580e8cda7eaf61296f7fb43b" + integrity sha512-LcNvxGLLGjBwB0dJUsBGCej2fqAepWyBubs4jt1Tiuns7QLbXHuyObZ4aMeBjZjWx4m8g1LoVI9QFpSaq/k4/g== + dependencies: + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/database-compat@1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@firebase/database-compat/-/database-compat-1.0.7.tgz#5c761bea1a78daea76fecc4bf5de5d6915a1c3b4" + integrity sha512-R/3B+VVzEFN5YcHmfWns3eitA8fHLTL03io+FIoMcTYkajFnrBdS3A+g/KceN9omP7FYYYGTQWF9lvbEx6eMEg== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/database" "1.0.7" + "@firebase/database-types" "1.0.4" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/database-types@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@firebase/database-types/-/database-types-1.0.4.tgz#dc507f7838ed29ac3235c68ebae5fd42a562e3e8" + integrity sha512-mz9ZzbH6euFXbcBo+enuJ36I5dR5w+enJHHjy9Y5ThCdKUseqfDjW3vCp1YxE9zygFCSjJJ/z1cQ+zodvUcwPQ== + dependencies: + "@firebase/app-types" "0.9.2" + "@firebase/util" "1.9.7" + +"@firebase/database@1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@firebase/database/-/database-1.0.7.tgz#0794801ab1e63336eda69401131228bb85aa6776" + integrity sha512-wjXr5AO8RPxVVg7rRCYffT7FMtBjHRfJ9KMwi19MbOf0vBf0H9YqW3WCgcnLpXI6ehiUcU3z3qgPnnU0nK6SnA== + dependencies: + "@firebase/app-check-interop-types" "0.3.2" + "@firebase/auth-interop-types" "0.2.3" + "@firebase/component" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + faye-websocket "0.11.4" + tslib "^2.1.0" + +"@firebase/firestore-compat@0.3.36": + version "0.3.36" + resolved "https://registry.yarnpkg.com/@firebase/firestore-compat/-/firestore-compat-0.3.36.tgz#a776d410942176babecfda096a47f5d12ceb3fb7" + integrity sha512-NtoIm7CT9f+SFB7cPMCtyCSxZReh/+SII5X4TQH394S3dwhru9HIfvEOKAMuAnXsSsLH72jXPUgdsEAUqg6Oug== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/firestore" "4.7.1" + "@firebase/firestore-types" "3.0.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/firestore-types@3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@firebase/firestore-types/-/firestore-types-3.0.2.tgz#75c301acc5fa33943eaaa9570b963c55398cad2a" + integrity sha512-wp1A+t5rI2Qc/2q7r2ZpjUXkRVPtGMd6zCLsiWurjsQpqPgFin3AhNibKcIzoF2rnToNa/XYtyWXuifjOOwDgg== + +"@firebase/firestore@4.7.1": + version "4.7.1" + resolved "https://registry.yarnpkg.com/@firebase/firestore/-/firestore-4.7.1.tgz#43ef10038200e0fe96bbc31e095b3da2d0878aa9" + integrity sha512-WliQNa8GVcH6EWkH0NAf+uAnxNiBuH+G8Buzr2ZS1NznOhJDK/q6Hsjv5TzNrijLTAdEfj/wk9VEv994KDSjxg== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + "@firebase/webchannel-wrapper" "1.0.1" + "@grpc/grpc-js" "~1.9.0" + "@grpc/proto-loader" "^0.7.8" + tslib "^2.1.0" + undici "6.19.7" + +"@firebase/functions-compat@0.3.13": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@firebase/functions-compat/-/functions-compat-0.3.13.tgz#074c8311ee3b9d0af403115e6812042824635ce3" + integrity sha512-qcZvJO2ed6PAD+18DanVztw7WyQVQK43HoRhxusHAwDFvK/xY+mcGpj+IpfdxTNMBGCOIxKFp4Xqk/c2nubBlQ== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/functions" "0.11.7" + "@firebase/functions-types" "0.6.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/functions-types@0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@firebase/functions-types/-/functions-types-0.6.2.tgz#03b4ec9259d2f57548a3909d6a35ae35ad243552" + integrity sha512-0KiJ9lZ28nS2iJJvimpY4nNccV21rkQyor5Iheu/nq8aKXJqtJdeSlZDspjPSBBiHRzo7/GMUttegnsEITqR+w== + +"@firebase/functions@0.11.7": + version "0.11.7" + resolved "https://registry.yarnpkg.com/@firebase/functions/-/functions-0.11.7.tgz#0de6fe8c0445385e00b54a31fb2a68474e8fd777" + integrity sha512-xaUsGI2kYrI8zJXgrNB7SrJKB8v1vJqR16YYi6g6dFTgBz4+VzWJFqqVU60BbdAWm6fXnUrg9gjlJQeqomT2Vg== + dependencies: + "@firebase/app-check-interop-types" "0.3.2" + "@firebase/auth-interop-types" "0.2.3" + "@firebase/component" "0.6.8" + "@firebase/messaging-interop-types" "0.2.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + undici "6.19.7" + +"@firebase/installations-compat@0.2.8": + version "0.2.8" + resolved "https://registry.yarnpkg.com/@firebase/installations-compat/-/installations-compat-0.2.8.tgz#ebc908afe84db2754b19a62f7655608911e13819" + integrity sha512-pI2q8JFHB7yIq/szmhzGSWXtOvtzl6tCUmyykv5C8vvfOVJUH6mP4M4iwjbK8S1JotKd/K70+JWyYlxgQ0Kpyw== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/installations" "0.6.8" + "@firebase/installations-types" "0.5.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/installations-types@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@firebase/installations-types/-/installations-types-0.5.2.tgz#4d4949e0e83ced7f36cbee009355cd305a36e158" + integrity sha512-que84TqGRZJpJKHBlF2pkvc1YcXrtEDOVGiDjovP/a3s6W4nlbohGXEsBJo0JCeeg/UG9A+DEZVDUV9GpklUzA== + +"@firebase/installations@0.6.8": + version "0.6.8" + resolved "https://registry.yarnpkg.com/@firebase/installations/-/installations-0.6.8.tgz#f9c9d493bce04b04ca28814e926ef3ed71f033d6" + integrity sha512-57V374qdb2+wT5v7+ntpLXBjZkO6WRgmAUbVkRfFTM/4t980p0FesbqTAcOIiM8U866UeuuuF8lYH70D3jM/jQ== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/util" "1.9.7" + idb "7.1.1" + tslib "^2.1.0" + +"@firebase/logger@0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@firebase/logger/-/logger-0.4.2.tgz#74dfcfeedee810deb8a7080d5b7eba56aa16ffa2" + integrity sha512-Q1VuA5M1Gjqrwom6I6NUU4lQXdo9IAQieXlujeHZWvRt1b7qQ0KwBaNAjgxG27jgF9/mUwsNmO8ptBCGVYhB0A== + dependencies: + tslib "^2.1.0" + +"@firebase/messaging-compat@0.2.10": + version "0.2.10" + resolved "https://registry.yarnpkg.com/@firebase/messaging-compat/-/messaging-compat-0.2.10.tgz#08711f75e2d517fd209bfbc65b1f754b09b2121c" + integrity sha512-FXQm7rcowkDm8kFLduHV35IRYCRo+Ng0PIp/t1+EBuEbyplaKkGjZ932pE+owf/XR+G/60ku2QRBptRGLXZydg== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/messaging" "0.12.10" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/messaging-interop-types@0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.2.tgz#81042f7e9739733fa4571d17f6eb6869522754d0" + integrity sha512-l68HXbuD2PPzDUOFb3aG+nZj5KA3INcPwlocwLZOzPp9rFM9yeuI9YLl6DQfguTX5eAGxO0doTR+rDLDvQb5tA== + +"@firebase/messaging@0.12.10": + version "0.12.10" + resolved "https://registry.yarnpkg.com/@firebase/messaging/-/messaging-0.12.10.tgz#29909f909b9588d44864732377d88de11f3b3ed3" + integrity sha512-fGbxJPKpl2DIKNJGhbk4mYPcM+qE2gl91r6xPoiol/mN88F5Ym6UeRdMVZah+pijh9WxM55alTYwXuW40r1Y2Q== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/installations" "0.6.8" + "@firebase/messaging-interop-types" "0.2.2" + "@firebase/util" "1.9.7" + idb "7.1.1" + tslib "^2.1.0" + +"@firebase/performance-compat@0.2.8": + version "0.2.8" + resolved "https://registry.yarnpkg.com/@firebase/performance-compat/-/performance-compat-0.2.8.tgz#d97bab3fd0c147c7f796e9b8f78712bc0b83699c" + integrity sha512-o7TFClRVJd3VIBoY7KZQqtCeW0PC6v9uBzM6Lfw3Nc9D7hM6OonqecYvh7NwJ6R14k+xM27frLS4BcCvFHKw2A== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/performance" "0.6.8" + "@firebase/performance-types" "0.2.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/performance-types@0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@firebase/performance-types/-/performance-types-0.2.2.tgz#7b78cd2ab2310bac89a63348d93e67e01eb06dd7" + integrity sha512-gVq0/lAClVH5STrIdKnHnCo2UcPLjJlDUoEB/tB4KM+hAeHUxWKnpT0nemUPvxZ5nbdY/pybeyMe8Cs29gEcHA== + +"@firebase/performance@0.6.8": + version "0.6.8" + resolved "https://registry.yarnpkg.com/@firebase/performance/-/performance-0.6.8.tgz#668b0fc207389f7829fd3bfb6614fe819b7db124" + integrity sha512-F+alziiIZ6Yn8FG47mxwljq+4XkgkT2uJIFRlkyViUQRLzrogaUJW6u/+6ZrePXnouKlKIwzqos3PVJraPEcCA== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/installations" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/remote-config-compat@0.2.8": + version "0.2.8" + resolved "https://registry.yarnpkg.com/@firebase/remote-config-compat/-/remote-config-compat-0.2.8.tgz#a6df065c1fd0a943e84ee0e76acfc6c1bede42f9" + integrity sha512-UxSFOp6dzFj2AHB8Bq/BYtbq5iFyizKx4Rd6WxAdaKYM8cnPMeK+l2v+Oogtjae+AeyHRI+MfL2acsfVe5cd2A== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/remote-config" "0.4.8" + "@firebase/remote-config-types" "0.3.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/remote-config-types@0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@firebase/remote-config-types/-/remote-config-types-0.3.2.tgz#a5d1009c6fd08036c5cd4f28764e3cd694f966d5" + integrity sha512-0BC4+Ud7y2aPTyhXJTMTFfrGGLqdYXrUB9sJVAB8NiqJswDTc4/2qrE/yfUbnQJhbSi6ZaTTBKyG3n1nplssaA== + +"@firebase/remote-config@0.4.8": + version "0.4.8" + resolved "https://registry.yarnpkg.com/@firebase/remote-config/-/remote-config-0.4.8.tgz#b6a79acdf73554e0ee31c278162b85592fc8c1f3" + integrity sha512-AMLqe6wfIRnjc6FkCWOSUjhc1fSTEf8o+cv1NolFvbiJ/tU+TqN4pI7pT+MIKQzNiq5fxLehkOx+xtAQBxPJKQ== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/installations" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/storage-compat@0.3.11": + version "0.3.11" + resolved "https://registry.yarnpkg.com/@firebase/storage-compat/-/storage-compat-0.3.11.tgz#94ac4cf4c147dc9388744227740c9c97696cc837" + integrity sha512-EEa9jgm/aRVIGSD0ByYAsZ0tvEKfVwSp9uFoa/97BISGWGjSNPIWjenaDvpDZ7aL8OxaGIpwuk700aHy7/T0Ug== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/storage" "0.13.1" + "@firebase/storage-types" "0.8.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/storage-types@0.8.2": + version "0.8.2" + resolved "https://registry.yarnpkg.com/@firebase/storage-types/-/storage-types-0.8.2.tgz#edb321b8a3872a9f74e1f27de046f160021c8e1f" + integrity sha512-0vWu99rdey0g53lA7IShoA2Lol1jfnPovzLDUBuon65K7uKG9G+L5uO05brD9pMw+l4HRFw23ah3GwTGpEav6g== + +"@firebase/storage@0.13.1": + version "0.13.1" + resolved "https://registry.yarnpkg.com/@firebase/storage/-/storage-0.13.1.tgz#48e81a5b706a01d3fae6f1adeeec171ede2edee6" + integrity sha512-L6AJ5tWgHSi2g/gbc/2Pbm3qxmoEg9THmPIOpRsLwuz9LPeWbhyMQeGlqxWqtZGQO/z/LMjGYadNlupQj0HNfw== + dependencies: + "@firebase/component" "0.6.8" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + undici "6.19.7" + +"@firebase/util@1.9.7": + version "1.9.7" + resolved "https://registry.yarnpkg.com/@firebase/util/-/util-1.9.7.tgz#c03b0ae065b3bba22800da0bd5314ef030848038" + integrity sha512-fBVNH/8bRbYjqlbIhZ+lBtdAAS4WqZumx03K06/u7fJSpz1TGjEMm1ImvKD47w+xaFKIP2ori6z8BrbakRfjJA== + dependencies: + tslib "^2.1.0" + +"@firebase/vertexai-preview@0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@firebase/vertexai-preview/-/vertexai-preview-0.0.3.tgz#73dea839439ebdbb5ccd946f297ede5b57e6e7e9" + integrity sha512-KVtUWLp+ScgiwkDKAvNkVucAyhLVQp6C6lhnVEuIg4mWhWcS3oerjAeVhZT4uNofKwWxRsOaB2Yec7DMTXlQPQ== + dependencies: + "@firebase/app-check-interop-types" "0.3.2" + "@firebase/component" "0.6.8" + "@firebase/logger" "0.4.2" + "@firebase/util" "1.9.7" + tslib "^2.1.0" + +"@firebase/webchannel-wrapper@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.1.tgz#0b62c9f47f557a5b4adc073bb0a47542ce6af4c4" + integrity sha512-jmEnr/pk0yVkA7mIlHNnxCi+wWzOFUg0WyIotgkKAb2u1J7fAeDBcVNSTjTihbAYNusCLQdW5s9IJ5qwnEufcQ== + "@floating-ui/core@^1.6.0": version "1.6.7" resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.7.tgz#7602367795a390ff0662efd1c7ae8ca74e75fb12" @@ -769,6 +1153,24 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.7.tgz#d0ece53ce99ab5a8e37ebdfe5e32452a2bfc073e" integrity sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA== +"@grpc/grpc-js@~1.9.0": + version "1.9.15" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.9.15.tgz#433d7ac19b1754af690ea650ab72190bd700739b" + integrity sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ== + dependencies: + "@grpc/proto-loader" "^0.7.8" + "@types/node" ">=12.12.47" + +"@grpc/proto-loader@^0.7.8": + version "0.7.13" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.13.tgz#f6a44b2b7c9f7b609f5748c6eac2d420e37670cf" + integrity sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw== + dependencies: + lodash.camelcase "^4.3.0" + long "^5.0.0" + protobufjs "^7.2.5" + yargs "^17.7.2" + "@headlessui/tailwindcss@^0.2.1": version "0.2.1" resolved "https://registry.yarnpkg.com/@headlessui/tailwindcss/-/tailwindcss-0.2.1.tgz#1becc201f69358a40e08bd676acc234b2cabe6e4" @@ -1467,6 +1869,59 @@ resolved "https://registry.yarnpkg.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz#a7f69e3665d3da9b115f9e71671dae1b97e13671" integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ== +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + "@rollup/plugin-alias@^5.1.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-5.1.0.tgz#99a94accc4ff9a3483be5baeedd5d7da3b597e93" @@ -1799,6 +2254,13 @@ dependencies: undici-types "~6.19.2" +"@types/node@>=12.12.47", "@types/node@>=13.7.0": + version "22.5.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.4.tgz#83f7d1f65bc2ed223bdbf57c7884f1d5a4fa84e8" + integrity sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg== + dependencies: + undici-types "~6.19.2" + "@types/normalize-package-data@^2.4.0": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" @@ -4109,6 +4571,13 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +faye-websocket@0.11.4: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + fdir@^6.2.0: version "6.3.0" resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.3.0.tgz#fcca5a23ea20e767b15e081ee13b3e6488ee0bb0" @@ -4154,6 +4623,39 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +firebase@^10.13.1: + version "10.13.1" + resolved "https://registry.yarnpkg.com/firebase/-/firebase-10.13.1.tgz#c26d9e8d19cbeea6e6585c46a903a4a1175a3938" + integrity sha512-L5BSkmvB2dzCUMpr8i/O8WMJC3Nqj5Ld8Wj/qnak+tz2Ga+JH6/FO93xArg9IGhktCrPXVODoWp6t9ybdgmXCA== + dependencies: + "@firebase/analytics" "0.10.7" + "@firebase/analytics-compat" "0.2.13" + "@firebase/app" "0.10.10" + "@firebase/app-check" "0.8.7" + "@firebase/app-check-compat" "0.3.14" + "@firebase/app-compat" "0.2.40" + "@firebase/app-types" "0.9.2" + "@firebase/auth" "1.7.8" + "@firebase/auth-compat" "0.5.13" + "@firebase/database" "1.0.7" + "@firebase/database-compat" "1.0.7" + "@firebase/firestore" "4.7.1" + "@firebase/firestore-compat" "0.3.36" + "@firebase/functions" "0.11.7" + "@firebase/functions-compat" "0.3.13" + "@firebase/installations" "0.6.8" + "@firebase/installations-compat" "0.2.8" + "@firebase/messaging" "0.12.10" + "@firebase/messaging-compat" "0.2.10" + "@firebase/performance" "0.6.8" + "@firebase/performance-compat" "0.2.8" + "@firebase/remote-config" "0.4.8" + "@firebase/remote-config-compat" "0.2.8" + "@firebase/storage" "0.13.1" + "@firebase/storage-compat" "0.3.11" + "@firebase/util" "1.9.7" + "@firebase/vertexai-preview" "0.0.3" + flat-cache@^3.0.4: version "3.2.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" @@ -4657,6 +5159,11 @@ http-errors@~1.6.2: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + http-shutdown@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f" @@ -4685,6 +5192,11 @@ human-signals@^5.0.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== +idb@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b" + integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== + ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -5286,6 +5798,11 @@ lodash-unified@^1.0.2: resolved "https://registry.yarnpkg.com/lodash-unified/-/lodash-unified-1.0.3.tgz#80b1eac10ed2eb02ed189f08614a29c27d07c894" integrity sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ== +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.castarray@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115" @@ -5331,6 +5848,11 @@ loglevel@^1.8.1: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.9.1.tgz#d63976ac9bcd03c7c873116d41c2a85bafff1be7" integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== +long@^5.0.0: + version "5.2.3" + resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" + integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== + longest-streak@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" @@ -6983,6 +7505,24 @@ property-information@^6.0.0, property-information@^6.5.0: resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== +protobufjs@^7.2.5: + version "7.4.0" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.4.0.tgz#7efe324ce9b3b61c82aae5de810d287bc08a248a" + integrity sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + protocols@^2.0.0, protocols@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" @@ -7404,7 +7944,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -8156,7 +8696,7 @@ ts-interface-checker@^0.1.9: resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== -tslib@^2.6.2, tslib@^2.6.3: +tslib@^2.1.0, tslib@^2.6.2, tslib@^2.6.3: version "2.7.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== @@ -8264,6 +8804,11 @@ undici-types@~6.19.2: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== +undici@6.19.7: + version "6.19.7" + resolved "https://registry.yarnpkg.com/undici/-/undici-6.19.7.tgz#7d4cf26dc689838aa8b6753a3c5c4288fc1e0216" + integrity sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A== + undici@^5.28.4: version "5.28.4" resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" @@ -8749,6 +9294,20 @@ webpack-virtual-modules@^0.6.2: resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8" integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ== +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -8882,7 +9441,7 @@ yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^17.2.1, yargs@^17.5.1: +yargs@^17.2.1, yargs@^17.5.1, yargs@^17.7.2: version "17.7.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== diff --git a/src/core/index.ts b/src/core/index.ts index 47b4f82..fbcc1ee 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -211,6 +211,9 @@ export const vsipAPI: VsipAPI = { unregister () { openSIPSJS?.unregister() }, + register () { + openSIPSJS?.register() + }, initCall (target: string, addToCurrentRoom = false) { openSIPSJS?.audio.initCall(target, addToCurrentRoom) }, From 0470555a1b499e1274ce1c67902e922641e939ff Mon Sep 17 00:00:00 2001 From: "serhii.ku" Date: Wed, 11 Sep 2024 17:10:13 +0300 Subject: [PATCH 2/7] updated --- docs/components/LoginComponent.vue | 56 ++++++++++++++++++++++++++++-- docs/components/VSipPhone.vue | 4 +-- 2 files changed, 55 insertions(+), 5 deletions(-) diff --git a/docs/components/LoginComponent.vue b/docs/components/LoginComponent.vue index bbe9280..29be641 100644 --- a/docs/components/LoginComponent.vue +++ b/docs/components/LoginComponent.vue @@ -76,6 +76,9 @@ import { ref } from 'vue' import { useVsipInject } from '@/index' import { VcForm, VcFormItem, VcButton, VcInput } from '@voicenter-team/voicenter-ui-plus' +import { initializeApp } from 'firebase/app'; +import { getMessaging, getToken } from "firebase/messaging"; + const { actions } = useVsipInject() const loginFormRef = ref() @@ -114,6 +117,46 @@ const rules = { ] } +const firebaseConfig = window.firebaseConfig + +//const parsed = window.firebaseConfig + +const VAPID_KEY = window.VAPID_KEY + +const app = initializeApp(firebaseConfig); + +//const messaging = getMessaging(); + +let token: string + +async function requestNotificationPermission() { + const messaging = getMessaging(); + + try { + // Request notification permission + const permission = await Notification.requestPermission(); + + if (permission === 'granted') { + console.log('Notification permission granted.'); + + // Get the FCM token + token = await getToken(messaging, { vapidKey: VAPID_KEY }); + + if (token) { + console.log('FCM Token:', token); + // Use the token for sending notifications from your server + } else { + console.log('No registration token available. Request permission to generate one.'); + } + } else { + console.log('Notification permission denied.'); + } + } catch (error) { + console.error('An error occurred while requesting permission:', error); + } +} + +requestNotificationPermission() // eslint-disable-next-line @@ -125,7 +168,7 @@ const login = async (event: any) => { return } - const pnParams = loginData.value.extraHeaders.split(';').reduce( + /*const pnParams = loginData.value.extraHeaders.split(';').reduce( (acc, item) => { if (typeof item !== 'string') { return acc @@ -142,13 +185,20 @@ const login = async (event: any) => { return acc }, {} - ) + )*/ + + const pnExtraHeaderes = { + 'pn-provider': 'fcm', + 'pn-param': 'voicenter-mobile', + 'pn-prid': token || '', + 'pn-strategy': 'all' + } actions.init( loginData.value.domain, loginData.value.extension, loginData.value.password, - pnParams + pnExtraHeaderes ) } diff --git a/docs/components/VSipPhone.vue b/docs/components/VSipPhone.vue index f6bef2a..60ac68a 100644 --- a/docs/components/VSipPhone.vue +++ b/docs/components/VSipPhone.vue @@ -218,7 +218,7 @@ import { useVsipInject } from '@/index' import { computed, ref } from 'vue' import { CONSTRAINTS } from '~/enum' -import { initializeApp } from 'firebase/app'; +/*import { initializeApp } from 'firebase/app'; import { getMessaging, getToken } from "firebase/messaging"; const firebaseConfig = window.firebaseConfig @@ -260,7 +260,7 @@ async function requestNotificationPermission() { } } -requestNotificationPermission() +requestNotificationPermission()*/ const { state, actions } = useVsipInject() const { From 4100bdb1278690af0d461aa9ccafa91bceddb412 Mon Sep 17 00:00:00 2001 From: "serhii.ku" Date: Wed, 11 Sep 2024 17:19:07 +0300 Subject: [PATCH 3/7] test --- docs/components/VSipPhone.vue | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/components/VSipPhone.vue b/docs/components/VSipPhone.vue index 60ac68a..fd9ed41 100644 --- a/docs/components/VSipPhone.vue +++ b/docs/components/VSipPhone.vue @@ -218,6 +218,15 @@ import { useVsipInject } from '@/index' import { computed, ref } from 'vue' import { CONSTRAINTS } from '~/enum' +import { getMessaging, onMessage } from "firebase/messaging"; + +const messaging = getMessaging(); +onMessage(messaging, (payload) => { + console.log('Message received. ', payload); + + register() +}); + /*import { initializeApp } from 'firebase/app'; import { getMessaging, getToken } from "firebase/messaging"; @@ -293,7 +302,8 @@ const { answerCall, moveCall, mute, - unmute + unmute, + register } = actions /* Data */ From 614c35205f2126f203cf212b7f973deabebc8b4a Mon Sep 17 00:00:00 2001 From: "serhii.ku" Date: Wed, 11 Sep 2024 17:33:40 +0300 Subject: [PATCH 4/7] test --- docs/components/LoginComponent.vue | 4 +++- docs/components/VSipPhone.vue | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/components/LoginComponent.vue b/docs/components/LoginComponent.vue index 29be641..7147b75 100644 --- a/docs/components/LoginComponent.vue +++ b/docs/components/LoginComponent.vue @@ -130,7 +130,9 @@ const app = initializeApp(firebaseConfig); let token: string async function requestNotificationPermission() { - const messaging = getMessaging(); + const messaging = getMessaging(app); + + window.messaging = messaging try { // Request notification permission diff --git a/docs/components/VSipPhone.vue b/docs/components/VSipPhone.vue index fd9ed41..bfaab8e 100644 --- a/docs/components/VSipPhone.vue +++ b/docs/components/VSipPhone.vue @@ -220,8 +220,8 @@ import { CONSTRAINTS } from '~/enum' import { getMessaging, onMessage } from "firebase/messaging"; -const messaging = getMessaging(); -onMessage(messaging, (payload) => { +//const messaging = getMessaging(); +onMessage(window.messaging, (payload) => { console.log('Message received. ', payload); register() From 7f75f1fbc6de58cfca678fb2cf095dd4c54715df Mon Sep 17 00:00:00 2001 From: "serhii.ku" Date: Wed, 11 Sep 2024 17:40:48 +0300 Subject: [PATCH 5/7] test --- docs/components/VSipPhone.vue | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/components/VSipPhone.vue b/docs/components/VSipPhone.vue index bfaab8e..38795fc 100644 --- a/docs/components/VSipPhone.vue +++ b/docs/components/VSipPhone.vue @@ -37,6 +37,13 @@ > {{ muteButtonText }} + + + REGISTER +
@@ -221,11 +228,11 @@ import { CONSTRAINTS } from '~/enum' import { getMessaging, onMessage } from "firebase/messaging"; //const messaging = getMessaging(); -onMessage(window.messaging, (payload) => { +/*onMessage(window.messaging, (payload) => { console.log('Message received. ', payload); register() -}); +});*/ /*import { initializeApp } from 'firebase/app'; import { getMessaging, getToken } from "firebase/messaging"; From 65c4eaade63da3d4679d3ae0c1adb6f4b7c4c0fb Mon Sep 17 00:00:00 2001 From: "serhii.ku" Date: Mon, 23 Sep 2024 13:27:23 +0300 Subject: [PATCH 6/7] Updated opensips version and added disconnect method --- package.json | 4 ++-- src/core/index.ts | 5 +++++ src/types/vsipAPI.d.ts | 4 +++- yarn.lock | 8 ++++---- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 48fc050..c9b4f60 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@voicenter-team/vsip-next", - "version": "1.1.21", + "version": "1.1.22", "description": "", "keywords": [], "scripts": { @@ -24,7 +24,7 @@ "vue": "^3.2.37" }, "dependencies": { - "@voicenter-team/opensips-js": "^1.0.95", + "@voicenter-team/opensips-js": "^1.0.97", "core-js": "3.8.3", "vue": "3.3.8" }, diff --git a/src/core/index.ts b/src/core/index.ts index fbcc1ee..f04b6fe 100644 --- a/src/core/index.ts +++ b/src/core/index.ts @@ -200,6 +200,8 @@ export const vsipAPI: VsipAPI = { callMetrics.value = { ...data } }) .begin() + + resolve(openSIPSJS) } catch (e) { console.error(e) @@ -214,6 +216,9 @@ export const vsipAPI: VsipAPI = { register () { openSIPSJS?.register() }, + disconnect () { + openSIPSJS?.disconnect() + }, initCall (target: string, addToCurrentRoom = false) { openSIPSJS?.audio.initCall(target, addToCurrentRoom) }, diff --git a/src/types/vsipAPI.d.ts b/src/types/vsipAPI.d.ts index ee53743..46ea91a 100644 --- a/src/types/vsipAPI.d.ts +++ b/src/types/vsipAPI.d.ts @@ -43,8 +43,10 @@ interface PNExtraHeaders { } export interface VsipAPIActions { - init(domain: string, username: string, password: string, pnExtraHeaders?: PNExtraHeaders): Promise + init(domain: string, username: string, password: string, pnExtraHeaders?: PNExtraHeaders): Promise unregister: () => void + register: () => void + disconnect: () => void muteCaller: (callId: string) => void unmuteCaller: (callId: string) => void mute: () => void diff --git a/yarn.lock b/yarn.lock index 8112b6c..423080e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -526,10 +526,10 @@ dependencies: "@voicenter-team/eslint-config-ts" "1.0.21" -"@voicenter-team/opensips-js@^1.0.95": - version "1.0.95" - resolved "https://registry.yarnpkg.com/@voicenter-team/opensips-js/-/opensips-js-1.0.95.tgz#2a564484116cb4f9b543b576a7a393d5b9e258da" - integrity sha512-VS6yYLDGWKM0akRzvACccYjOttDFBlTkpnOgZ32jHeiTqK4SaDPU1E4mlCNxVO1kCc/IGrfVteNgzRzaDmU4ng== +"@voicenter-team/opensips-js@^1.0.97": + version "1.0.97" + resolved "https://registry.yarnpkg.com/@voicenter-team/opensips-js/-/opensips-js-1.0.97.tgz#487c87cc0e8f97dff7b8b4544013941e2abbb7db" + integrity sha512-1WcGgBLsKBQmsST+PK/HLGx5U81r143NFnA8eIxLg9s6RCyG57bz2q+fM69MkwpOzedBjar2oqOlb7VcgmUK9g== dependencies: "@types/mime" "^3.0.1" generate-unique-id "^2.0.1" From 1c6e272e4aaefd83962ff59b3f36b08ce3355899 Mon Sep 17 00:00:00 2001 From: "serhii.ku" Date: Mon, 23 Sep 2024 13:30:06 +0300 Subject: [PATCH 7/7] Commented extra register button on docs page --- docs/components/VSipPhone.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/components/VSipPhone.vue b/docs/components/VSipPhone.vue index 38795fc..e318106 100644 --- a/docs/components/VSipPhone.vue +++ b/docs/components/VSipPhone.vue @@ -38,12 +38,12 @@ {{ muteButtonText }} - REGISTER - + -->