@camera.ui/server 2.2.3 → 2.2.4
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/interface/assets/{404-D0S6IGok.js → 404-Bdbp69ox.js} +1 -1
- package/dist/interface/assets/{About-DAw9u8ZY.js → About-DmtCok-y.js} +1 -1
- package/dist/interface/assets/{Assistant-Gi6_YkEY.js → Assistant-D-Lv6JtY.js} +1 -1
- package/dist/interface/assets/{Automation-6eFKPJPu.js → Automation-LQ3TssrU.js} +3 -3
- package/dist/interface/assets/{AutomationImport-95PfbPvG.js → AutomationImport-B_ra3G3_.js} +2 -2
- package/dist/interface/assets/{AutomationStore-BHxzzx7a.js → AutomationStore-DSXSaQjp.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-DEVlRllt.js → AutomationStoreDetail-B5_Meb6R.js} +2 -2
- package/dist/interface/assets/{Automations-DEivoiS1.js → Automations-DHfPRe8W.js} +2 -2
- package/dist/interface/assets/Camera-B4ojNnKb.css +1 -0
- package/dist/interface/assets/Camera-CDbfvtJv.js +2 -0
- package/dist/interface/assets/{CameraConsole-B8bBYQzk.js → CameraConsole-DX-IRmd_.js} +1 -1
- package/dist/interface/assets/{Cameras-HblWPGCv.js → Cameras-D9m2bxWj.js} +1 -1
- package/dist/interface/assets/{Camview-DEKrbg5R.js → Camview-DKOYY6TI.js} +1 -1
- package/dist/interface/assets/{CertificateUpload-CC6YtX7h.js → CertificateUpload-B8ccb3n-.js} +1 -1
- package/dist/interface/assets/{Config-DQEaOnaN.js → Config-DCIUUWCv.js} +1 -1
- package/dist/interface/assets/{ConfigActionAssistant-C_XRnBzo.js → ConfigActionAssistant-6IUzZeNW.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-oRzM9rjX.js → ConfigActionCameraControl-EXuiNMuG.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-Dc-NZS5L.js → ConfigActionDelay-Cs4sYEk-.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-Nw0wt-JZ.js → ConfigActionHttp-gUM6RQ6Y.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-Do60Upqm.js → ConfigActionImageInput-CPl5kVgO.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-BeQVgaGX.js → ConfigActionMqtt-BeBMCOJ-.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-BA0FjOWs.js → ConfigActionNotification-DJFHdFDN.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-Ce3Kd_Xv.js → ConfigActionNotificationControl-BXoztPTs.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-ChiOMWDy.js → ConfigActionOutput-BGrFWqZ1.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-Cn3r0glk.js → ConfigActionPlugin-CdIIMcJZ.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-DkdBCu-6.js → ConfigActionSensor-MRVGJ22A.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-CLlaDFUV.js → ConfigActionSnapshot-CxA4f5ag.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-D4x3Luxl.js → ConfigActionVariable-DmU4seLh.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-BpL8KZ5X.js → ConfigConditionIfElse-Tgdrk7lo.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-CSQexUF_.js → ConfigConditionSensorState-CyyzoL6Q.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-CB2J_5kr.js → ConfigConditionSwitch-DprK5AbR.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-X9fsNsYu.js → ConfigConditionTime-CDruEvBp.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-VPhPxrQl.js → ConfigSensorValueInput-BhlgTOW9.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-Dhzng4X5.js → ConfigTriggerDetection-4vdEST9Y.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-Cm0CLNf5.js → ConfigTriggerGeofence-1B0BdCOw.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-CRi3rsgG.js → ConfigTriggerManual-BQLDqwZh.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-Ck__CWck.js → ConfigTriggerMqtt-B3YNOB6U.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-C1PZrHEu.js → ConfigTriggerSchedule-DhbJGOT7.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-9xVgCtkn.js → ConfigTriggerSensor-iMPg_Pmb.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-Denf1gkO.js → ConfigTriggerSystem-MaNZTO3h.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-im24LkCn.js → ConfigTriggerWebhook-B3WfXjPv.js} +1 -1
- package/dist/interface/assets/{Console-Q1HpmyO_.js → Console-BQLINPCG.js} +1 -1
- package/dist/interface/assets/{CuiAssistantConversation-BxJf9sdu.js → CuiAssistantConversation-yCRlgjtr.js} +1 -1
- package/dist/interface/assets/{CuiAutomationRunsDialog-B3tJ-Cma.js → CuiAutomationRunsDialog-CJ0mzDLL.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-kvvLw1MQ.js → CuiBottomSheet-BbP0T2v3.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-BpMMQhmJ.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-1EhYM5kQ.js +1 -0
- package/dist/interface/assets/CuiCameraRecordings-CkkHbNyY.css +1 -0
- package/dist/interface/assets/CuiCameraRecordings-D2jG47AV.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-B5ghuJS-.js → CuiCameraShares-IpkomKkl.js} +1 -1
- package/dist/interface/assets/CuiCameraTable-CNclH1KS.js +1 -0
- package/dist/interface/assets/{CuiCameraTable-Y5XUkU7w.js → CuiCameraTable-DlL-z_na.js} +1 -1
- package/dist/interface/assets/{CuiChartTable-CXdupaj5.js → CuiChartTable-B0EPcrgv.js} +1 -1
- package/dist/interface/assets/{CuiConsole-5KgXSOS5.js → CuiConsole-D8Xk2LXY.js} +1 -1
- package/dist/interface/assets/{CuiDataTable-hArZWV9B.js → CuiDataTable-DtRTB560.js} +1 -1
- package/dist/interface/assets/{CuiLightControl-MRpR0XIZ.js → CuiLightControl-CtL3sA8k.js} +1 -1
- package/dist/interface/assets/{CuiList-D-l4HrBP.js → CuiList-Bn7DT_Ao.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-whoQ5YHn.js → CuiPluginCard-B-4x6Mno.js} +2 -2
- package/dist/interface/assets/{CuiPluginCategoryChip-CH53zk2o.js → CuiPluginCategoryChip-Dih4zKtO.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-BBA0AzVO.js → CuiPluginOAuthButton-D-Y9KYJz.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-C0EX5aCI.js → CuiPluginTrustBadge-_g3Ctrg4.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-BRT0NO5c.js → CuiQRCode-D6hzmPzV.js} +1 -1
- package/dist/interface/assets/{CuiSchema-DBY1x1BT.js → CuiSchema-Dh8Mu4BK.js} +1 -1
- package/dist/interface/assets/{CuiTopNavbarItem-CpMT8_0r.js → CuiTopNavbarItem-CgX21E5K.js} +1 -1
- package/dist/interface/assets/Faces-CgDoKVkp.js +1 -0
- package/dist/interface/assets/{FirstSteps-B8n4fGK3.js → FirstSteps-CZSTX7Ot.js} +1 -1
- package/dist/interface/assets/{Floorplan-ZHXNaZA8.js → Floorplan-CRvmaf45.js} +1 -1
- package/dist/interface/assets/{Instances-DEj3gs6H.js → Instances-DRkhTQKC.js} +1 -1
- package/dist/interface/assets/{Logs-CwHvSKd6.js → Logs-CIDJSpdH.js} +1 -1
- package/dist/interface/assets/{Menu-C4BxUV0P.js → Menu-CM_F1jfd.js} +1 -1
- package/dist/interface/assets/{Metrics-BCOE-rcw.js → Metrics-DgJEg-ZK.js} +3 -3
- package/dist/interface/assets/Metrics-Ebv4qK2a.css +1 -0
- package/dist/interface/assets/{OAuthDeviceFlow-D6bjZOYS.js → OAuthDeviceFlow-BZ9LcgmJ.js} +1 -1
- package/dist/interface/assets/{Plugin-ppCvxkl4.js → Plugin-BBDpg6U_.js} +1 -1
- package/dist/interface/assets/{PluginConsole-BP42Qpee.js → PluginConsole-DxVlTuNy.js} +1 -1
- package/dist/interface/assets/{PluginDetail-BnX5lZGz.js → PluginDetail-fLGD3R-u.js} +2 -2
- package/dist/interface/assets/PluginSchema-CewD2H-K.js +1 -0
- package/dist/interface/assets/{PluginSearch-no79fTuf.js → PluginSearch-5wX7WEcz.js} +2 -2
- package/dist/interface/assets/PluginSearch-rDbuXm2z.js +1 -0
- package/dist/interface/assets/{PluginUpdateProgress-73jprYHA.js → PluginUpdateProgress-B7Lj0ttd.js} +1 -1
- package/dist/interface/assets/{Plugins-DtEqS6_j.js → Plugins-DVQ476iL.js} +1 -1
- package/dist/interface/assets/{RecentEventsFilter-CtyCbt6Z.js → RecentEventsFilter-CWNBI2Ge.js} +1 -1
- package/dist/interface/assets/Recordings-DSRgRVhN.js +1 -0
- package/dist/interface/assets/{SensorEdit-D4-mMg8S.js → SensorEdit-B1mYmxDV.js} +1 -1
- package/dist/interface/assets/{SensorHistory-C-X7VI-f.js → SensorHistory-D1kKroxp.js} +1 -1
- package/dist/interface/assets/{Sensors-BJh8BkCR.js → Sensors-yAc1M-oO.js} +2 -2
- package/dist/interface/assets/{Settings-B9CZvA-d.js → Settings-DBKgECRK.js} +1 -1
- package/dist/interface/assets/{SettingsAccount-D3zF2kLc.js → SettingsAccount-CM3XGNL6.js} +1 -1
- package/dist/interface/assets/SettingsAccount-i2nzGFdV.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-CbG8M38w.js → SettingsAppearance-C-nllv3m.js} +1 -1
- package/dist/interface/assets/SettingsAppearance-DCgu01FJ.js +1 -0
- package/dist/interface/assets/{SettingsAssistant-DxYPnbms.js → SettingsAssistant-ClRO04fv.js} +1 -1
- package/dist/interface/assets/{SettingsBackup-DZBzUyQm.js → SettingsBackup-Cq_eLVCR.js} +1 -1
- package/dist/interface/assets/{SettingsList-DFg8g7IM.js → SettingsList-Bklt3TQO.js} +1 -1
- package/dist/interface/assets/{SettingsMqtt-BeujOZkh.js → SettingsMqtt-BLkP0en6.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-DtSTE76r.js → SettingsNotifications-CeUKfEnH.js} +1 -1
- package/dist/interface/assets/{SettingsPermissions-CPOAefv0.js → SettingsPermissions-Cpka-k3Q.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-ClAtT4Bh.js → SettingsRecordings-k20qTe7K.js} +1 -1
- package/dist/interface/assets/{SettingsRemote-58S4Thfp.js → SettingsRemote-CdUj0nZ1.js} +1 -1
- package/dist/interface/assets/{SettingsSystem-tTGpuiRW.js → SettingsSystem-6OChvWL7.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-D8b7I5c2.js → SettingsUsers-B57uZ8jn.js} +1 -1
- package/dist/interface/assets/{Terminal-1_Fi0VW-.js → Terminal-WMgVSORW.js} +1 -1
- package/dist/interface/assets/Training-BkWlywj_.js +1 -0
- package/dist/interface/assets/{Training-CQHfQjUP.css → Training-Dwf5rXyC.css} +1 -1
- package/dist/interface/assets/{Updates-BW0p7Wc5.js → Updates-Dwrd6PQl.js} +1 -1
- package/dist/interface/assets/{VariableInput-sqnLuk6S.js → VariableInput-CDJXnzEV.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-3pbnxhyT.js → VariableSuggestions-CNq7O1o-.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-CWmjDygB.js → VersionsHandler-C0A8Ryhn.js} +1 -1
- package/dist/interface/assets/{VirtualSensorCreate-BzmFlvYD.js → VirtualSensorCreate-zEehu8Fg.js} +1 -1
- package/dist/interface/assets/{Workers-Dm9o2wMo.js → Workers-Be7q2vOK.js} +1 -1
- package/dist/interface/assets/{api-CQ-3I3-i.js → api-CSl3-BNZ.js} +1 -1
- package/dist/interface/assets/api-DcaDMCnj.css +2 -0
- package/dist/interface/assets/api-vegsDz6n.js +4 -0
- package/dist/interface/assets/{assistant-0UymvpMy.js → assistant-jARIkvB1.js} +1 -1
- package/dist/interface/assets/{auth-C0jhqNaz.js → auth-Bov4B1jy.js} +1 -1
- package/dist/interface/assets/{automations-Bj30nb8s.js → automations-CJe7TvLk.js} +1 -1
- package/dist/interface/assets/{cameraSources-CiMjIjsh.js → cameraSources-CDiYtBzG.js} +1 -1
- package/dist/interface/assets/cloudHandoff-BoV37fDI.js +1 -0
- package/dist/interface/assets/{config-D-uVfwYp.js → config-iO2vrtak.js} +1 -1
- package/dist/interface/assets/{flowSchema-D3nNJVLL.js → flowSchema-B0vIoy4y.js} +1 -1
- package/dist/interface/assets/{intercomService-BeoNs-09.js → intercomService-IAAXcRPG.js} +1 -1
- package/dist/interface/assets/main-DQgH1fon.js +3 -0
- package/dist/interface/assets/{mqtt-D7jRwifB.js → mqtt-DfpSLxes.js} +1 -1
- package/dist/interface/assets/{notifications-BpRVoerg.js → notifications-jTSwwN1i.js} +1 -1
- package/dist/interface/assets/{plugins-wZ4RDxCb.js → plugins-ChyJXprl.js} +1 -1
- package/dist/interface/assets/{rooms-CFcu2dU1.js → rooms-BMWJpAXC.js} +1 -1
- package/dist/interface/assets/{sensorIcons-B117n8l2.js → sensorIcons-dUp8Tone.js} +1 -1
- package/dist/interface/assets/{sensorSlots-CAr3prFc.js → sensorSlots-CosoVMys.js} +1 -1
- package/dist/interface/assets/{sensors-oriEG3KR.js → sensors-DLdbNuoj.js} +1 -1
- package/dist/interface/assets/{server-Ce6ou2NV.js → server-D-qkU2-U.js} +1 -1
- package/dist/interface/assets/{theme-CBTC6-Lp.js → theme-DhneHMji.js} +1 -1
- package/dist/interface/assets/{types-CzjppLwt.js → types-CngwbyEy.js} +1 -1
- package/dist/interface/assets/{types-C-amdBz6.js → types-DDpq8alD.js} +1 -1
- package/dist/interface/assets/{types-CjU6-JvD.js → types-DdyAGRju.js} +1 -1
- package/dist/interface/assets/{ungrouped-AYNBKz52.css → ungrouped-DBRZ-Ori.css} +1 -1
- package/dist/interface/assets/ungrouped-e2tQIZD2.js +1 -0
- package/dist/interface/assets/{updates-Cohtc6vb.js → updates-DnVisGT3.js} +1 -1
- package/dist/interface/assets/{useAppVersion-xxi6fR7J.js → useAppVersion-gtzMlM4b.js} +1 -1
- package/dist/interface/assets/{useAssistantActions-BkRK1FBg.js → useAssistantActions-BIHVky9T.js} +1 -1
- package/dist/interface/assets/{useBackupRestore-BGvhSqJB.js → useBackupRestore-DfgufKp3.js} +1 -1
- package/dist/interface/assets/{useCameraOptions-ophs2V4p.js → useCameraOptions-B9yEPgGd.js} +1 -1
- package/dist/interface/assets/{useKeyboardInset-Cpz6Hs5c.js → useKeyboardInset-1sUlRSeV.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-CB07yhv4.js → useLogsSocket-C2QUQqkZ.js} +1 -1
- package/dist/interface/assets/{useNavLayout-BYEejBpb.js → useNavLayout-Br4MtSjQ.js} +1 -1
- package/dist/interface/assets/{usePermissions-yWhjYMcr.js → usePermissions-B8pw9jk1.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-9rvsWfdJ.js → usePluginUpdates-Cx9PwENn.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-b5owOzjH.js → usePushRegistration-CLEyagJM.js} +1 -1
- package/dist/interface/assets/{useServerRestart-yRXDWnH_.js → useServerRestart-BBp4cko_.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-BHyWrAHu.js → useStreamStatus-BrPjpyzs.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-Dr9HYP1J.js → useTabSwipe-B4edrv6o.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-IVj0XKlN.js → useUpdateChannel-DugwYo8J.js} +1 -1
- package/dist/interface/assets/{useUpdatesSocket-CuPHbSF7.js → useUpdatesSocket-CgCXGGVg.js} +1 -1
- package/dist/interface/assets/{useUserOptions-zIfrMDiG.js → useUserOptions-DTlKtp_u.js} +1 -1
- package/dist/interface/assets/vendor-cameraui-D0VXSxSF.js +2326 -0
- package/dist/interface/assets/{vendor-core-CQ2HVu0L.js → vendor-core-Ba81bBNM.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-CeWNZxSE.js → vendor-primevue-LZEE4d1W.js} +1 -1
- package/dist/interface/ha/{404-B70KNhsW.js → 404-CkAIe5nc.js} +1 -1
- package/dist/interface/ha/{About-DLNqqctZ.js → About-C7HxP7hM.js} +3 -3
- package/dist/interface/ha/{Assistant-Duvvoz2B.js → Assistant-DJYxiCOY.js} +278 -278
- package/dist/interface/ha/{Automation-DZ8zvsvo.js → Automation-CfNHCeIm.js} +41 -41
- package/dist/interface/ha/{AutomationImport-DOCdim5O.js → AutomationImport-Dn3C1604.js} +6 -6
- package/dist/interface/ha/{AutomationStore-Bjoubp-m.js → AutomationStore-D63G9w2Y.js} +7 -7
- package/dist/interface/ha/{AutomationStoreDetail-H-RWNpwm.js → AutomationStoreDetail-HoUC8cSY.js} +6 -6
- package/dist/interface/ha/{Automations-GyofQfo7.js → Automations-BOlE1Evb.js} +43 -43
- package/dist/interface/ha/{Camera-Bo5nMQaU.js → Camera-6Vvo7nee.js} +225 -213
- package/dist/interface/ha/{CameraConsole-BmDQ3rcS.js → CameraConsole-DYSNDW4P.js} +3 -3
- package/dist/interface/ha/{Cameras-BfHoFjpC.js → Cameras-CxgwXUaG.js} +306 -306
- package/dist/interface/ha/{Camview-DVoIdM3o.js → Camview-DPjoUMSP.js} +227 -227
- package/dist/interface/ha/{Config-CC8tQiOy.js → Config-BzBFIWVF.js} +7 -7
- package/dist/interface/ha/{ConfigActionAssistant-hfsz38an.js → ConfigActionAssistant-BpHf4Pdi.js} +4 -4
- package/dist/interface/ha/{ConfigActionCameraControl-C0-wxlAS.js → ConfigActionCameraControl-CmbCTwZ8.js} +3 -3
- package/dist/interface/ha/{ConfigActionHttp-CM_3bIUq.js → ConfigActionHttp-BxN2KOA6.js} +2 -2
- package/dist/interface/ha/{ConfigActionImageInput-B5306Z_7.js → ConfigActionImageInput-CrXUZ-cM.js} +1 -1
- package/dist/interface/ha/{ConfigActionMqtt-DLiM83Kz.js → ConfigActionMqtt-DYq-6_S6.js} +4 -4
- package/dist/interface/ha/{ConfigActionNotification-36VBlfim.js → ConfigActionNotification-DPUSAVLI.js} +3 -3
- package/dist/interface/ha/{ConfigActionNotificationControl-DRjDvA1H.js → ConfigActionNotificationControl-h4zta4Db.js} +2 -2
- package/dist/interface/ha/{ConfigActionOutput-BkGHERoJ.js → ConfigActionOutput-Dwa0-7cq.js} +1 -1
- package/dist/interface/ha/{ConfigActionPlugin-Ds1_Pow7.js → ConfigActionPlugin-DXx1a-Hr.js} +5 -5
- package/dist/interface/ha/{ConfigActionSensor-22uKE0d0.js → ConfigActionSensor-CfLIHqS8.js} +5 -5
- package/dist/interface/ha/{ConfigActionSnapshot-uTTsTfo2.js → ConfigActionSnapshot-O0OBVq-R.js} +2 -2
- package/dist/interface/ha/{ConfigActionVariable-DNMJBiQV.js → ConfigActionVariable-CbaIxRRe.js} +1 -1
- package/dist/interface/ha/{ConfigConditionIfElse-BVzmIDKK.js → ConfigConditionIfElse-B7ax92bG.js} +3 -3
- package/dist/interface/ha/{ConfigConditionSensorState-Di7Ic1xI.js → ConfigConditionSensorState-B5XIrEGU.js} +4 -4
- package/dist/interface/ha/{ConfigConditionSwitch-D8CcTHJ1.js → ConfigConditionSwitch-DJSz6bI5.js} +5 -5
- package/dist/interface/ha/{ConfigSensorValueInput-DthsOthT.js → ConfigSensorValueInput-fE2SBn1B.js} +4 -4
- package/dist/interface/ha/{ConfigTriggerDetection-BDYanDEV.js → ConfigTriggerDetection-BuShu78G.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerGeofence-Binp0lYx.js → ConfigTriggerGeofence-pBgXBkb6.js} +6 -6
- package/dist/interface/ha/{ConfigTriggerMqtt-BaPzSHbK.js → ConfigTriggerMqtt-Dyf_TLfU.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSensor-DiTaTZXm.js → ConfigTriggerSensor-C5YUm9ff.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSystem-CsdWiz-S.js → ConfigTriggerSystem-CylHWw4i.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerWebhook-Ca0PsUmU.js → ConfigTriggerWebhook-ZlHsaLu4.js} +1 -1
- package/dist/interface/ha/{Console-0amlIoZR.js → Console-PNAQjW_1.js} +98 -98
- package/dist/interface/ha/{CuiAutomationRunsDialog-DNBuwkgL.js → CuiAutomationRunsDialog-D_q8K7QO.js} +2 -2
- package/dist/interface/ha/{CuiBottomSheet-CdXBYz4P.js → CuiBottomSheet-BbJG-998.js} +1 -1
- package/dist/interface/ha/{CuiCameraRecordings-D4ZB56nd.js → CuiCameraRecordings-BSI8Yn3v.js} +11 -11
- package/dist/interface/ha/{CuiCameraShares-YmzZusZR.js → CuiCameraShares-DKHZJT-z.js} +4 -4
- package/dist/interface/ha/{CuiCameraTable-DFzhCO3J.js → CuiCameraTable-BTdP1pEP.js} +2 -2
- package/dist/interface/ha/{CuiChartTable-BvfJbFNS.js → CuiChartTable-aFRfsewt.js} +4 -4
- package/dist/interface/ha/{CuiConsole-DtxyD6Sd.js → CuiConsole-BD9jYvrD.js} +4 -4
- package/dist/interface/ha/{CuiDataTable-CHvx6ALQ.js → CuiDataTable-C2lOduPV.js} +2 -2
- package/dist/interface/ha/{CuiPluginCard-B3vU57eD.js → CuiPluginCard-C-gpcLCH.js} +18 -18
- package/dist/interface/ha/{CuiPluginOAuthButton-DgOFfP5e.js → CuiPluginOAuthButton-B763Rz1n.js} +3 -3
- package/dist/interface/ha/{CuiPluginTrustBadge-udmtgGHt.js → CuiPluginTrustBadge-j5PKYI-V.js} +1 -1
- package/dist/interface/ha/{CuiQRCode-8yDZMC3o.js → CuiQRCode-D7WV4czh.js} +2 -2
- package/dist/interface/ha/{CuiSchema-0Hikg2mm.js → CuiSchema-BfsT0mAh.js} +96 -96
- package/dist/interface/ha/{CuiTopNavbarItem-B139fVxP.js → CuiTopNavbarItem-BwpXgGJ-.js} +1 -1
- package/dist/interface/ha/{Faces-YdAf9USr.js → Faces-C0e-m9EY.js} +48 -48
- package/dist/interface/ha/{FirstSteps-Dts6TJ6O.js → FirstSteps-DsDmM44G.js} +7 -7
- package/dist/interface/ha/{Floorplan-D6XXe8ni.js → Floorplan-Bei9kIhS.js} +206 -206
- package/dist/interface/ha/{Instances-DsIsonqp.js → Instances-BY5G1zFD.js} +66 -66
- package/dist/interface/ha/{Logs-Cyo3LC94.js → Logs-DDycObDv.js} +9 -9
- package/dist/interface/ha/{Menu-yh_sI9d9.js → Menu-9r_oFG_-.js} +3 -3
- package/dist/interface/ha/{Metrics-VehQmsmN.js → Metrics-BMTIXqn6.js} +283 -279
- package/dist/interface/ha/{OAuthDeviceFlow-CXp9NvbY.js → OAuthDeviceFlow-Dee5fynX.js} +3 -3
- package/dist/interface/ha/{Plugin-BqvlXx43.js → Plugin-B5o4pLyu.js} +41 -41
- package/dist/interface/ha/{PluginConsole-Dx84BNoO.js → PluginConsole-REtxP1Wi.js} +4 -4
- package/dist/interface/ha/{PluginDetail-DUpDS2nD.js → PluginDetail-BHrKifvP.js} +5 -5
- package/dist/interface/ha/{PluginSearch-Cvh0P9VB.js → PluginSearch-oNHMMeJD.js} +124 -124
- package/dist/interface/ha/{PluginUpdateProgress-CfyI2Qdp.js → PluginUpdateProgress-CqllA4eR.js} +3 -3
- package/dist/interface/ha/{Plugins-DXreIUwr.js → Plugins-B6y7z5yD.js} +173 -173
- package/dist/interface/ha/{Recordings-Cb8ifRcB.js → Recordings-CyhOVNoM.js} +168 -191
- package/dist/interface/ha/{SensorEdit-CsNXxcdj.js → SensorEdit-CnUU2PEv.js} +3 -3
- package/dist/interface/ha/{SensorHistory-DToDalOm.js → SensorHistory-z5hDuybW.js} +2 -2
- package/dist/interface/ha/{Sensors-B6giaowJ.js → Sensors-wpoB-X4r.js} +372 -372
- package/dist/interface/ha/{Settings-CVed7MM_.js → Settings-C6wTksxb.js} +3 -3
- package/dist/interface/ha/{SettingsAccount-CvvsLPoT.js → SettingsAccount-DByg5uzj.js} +178 -178
- package/dist/interface/ha/{SettingsAppearance-BDJeNGTd.js → SettingsAppearance-QgPo4M8O.js} +4 -4
- package/dist/interface/ha/{SettingsAssistant-B168p5HB.js → SettingsAssistant-Bg4BhUgb.js} +78 -78
- package/dist/interface/ha/{SettingsBackup-Bz_9xJ61.js → SettingsBackup-BgtZSRub.js} +39 -39
- package/dist/interface/ha/{SettingsList-B42rajJc.js → SettingsList-DB3j7buh.js} +1 -1
- package/dist/interface/ha/{SettingsMqtt-B5Qy6bxD.js → SettingsMqtt-DVx0z8vf.js} +14 -14
- package/dist/interface/ha/SettingsNotifications-osO2kMMO.js +529 -0
- package/dist/interface/ha/{SettingsRecordings-CkJGOiyQ.js → SettingsRecordings-BFEp160g.js} +7 -7
- package/dist/interface/ha/{SettingsRemote-Cc-qt3si.js → SettingsRemote-DQW4FhFn.js} +403 -403
- package/dist/interface/ha/{SettingsSystem-Cco2XXsS.js → SettingsSystem-Cs1MHOTi.js} +9 -9
- package/dist/interface/ha/{SettingsUsers-BDh-3saR.js → SettingsUsers-BtbuHlRZ.js} +23 -23
- package/dist/interface/ha/{Terminal-D2U-kFPW.js → Terminal-BuXCoMle.js} +4 -4
- package/dist/interface/ha/Training-CnsWyeaJ.js +1505 -0
- package/dist/interface/ha/{Updates-DGHNcvO9.js → Updates-BxU1Jpru.js} +5 -5
- package/dist/interface/ha/{VariableInput-Bujz1T1I.js → VariableInput-DgENnHvk.js} +1 -1
- package/dist/interface/ha/{VersionsHandler-CXvbeKbl.js → VersionsHandler-DQTSSqti.js} +10 -10
- package/dist/interface/ha/{VirtualSensorCreate-DOYONbgu.js → VirtualSensorCreate-Bsr6zTQp.js} +2 -2
- package/dist/interface/ha/{Workers-tQbC3WS6.js → Workers-0jZDuLbP.js} +14 -14
- package/dist/interface/ha/{api-DfJZj7ht.js → api-B8xb-N_g.js} +1 -1
- package/dist/interface/ha/{api-BI6_Fcag.js → api-VnpXqKYj.js} +7769 -7443
- package/dist/interface/ha/{assistant-BqSg4N8v.js → assistant-DDwonneA.js} +25 -25
- package/dist/interface/ha/{auth-BFoSqfzS.js → auth-CXX7ago-.js} +22 -22
- package/dist/interface/ha/{automationBlueprint-Q0yt2MdH.js → automationBlueprint-BUkXOKb1.js} +3 -3
- package/dist/interface/ha/cameraui-cards.js +1 -1
- package/dist/interface/ha/{cards-BW9I5B5Z.js → cards-CMel6uVq.js} +639 -637
- package/dist/interface/ha/{config-CeNHEP9A.js → config-9vwosYC8.js} +9 -9
- package/dist/interface/ha/{dist-BV3OfApt.js → dist-jxJIsKjm.js} +306 -282
- package/dist/interface/ha/{mqtt-BkYa2CXH.js → mqtt-Fm_GzbBi.js} +7 -7
- package/dist/interface/ha/{notifications-E3WSCGpc.js → notifications-CwSeoLx0.js} +12 -12
- package/dist/interface/ha/{pinia-DoDLbPZ3.js → pinia-D2fpp6nV.js} +150 -143
- package/dist/interface/ha/{plugins-2jjU7TfW.js → plugins-CgqO91Hg.js} +30 -30
- package/dist/interface/ha/{rooms-BkEw1ev-.js → rooms-DGnhPCGr.js} +1 -1
- package/dist/interface/ha/{server-CuK4o2fS.js → server-BqNJbXKJ.js} +15 -15
- package/dist/interface/ha/{types-BRHWeX0a.js → types-Ca-1kOA9.js} +18 -18
- package/dist/interface/ha/{ungrouped-BDwep3kg.js → ungrouped-B1RIFH36.js} +192 -192
- package/dist/interface/ha/{updates-R4xTxour.js → updates-Dn9WR43I.js} +26 -26
- package/dist/interface/ha/{useAppVersion-uaFjqUpx.js → useAppVersion-FMZfQhEd.js} +1 -1
- package/dist/interface/ha/{useLogsSocket-BZq9GXfy.js → useLogsSocket-Ch8C8inE.js} +1 -1
- package/dist/interface/ha/{useNavLayout-BJdDE__R.js → useNavLayout-DPjjtXVR.js} +2 -2
- package/dist/interface/ha/{useServerRestart-DDCKnE6c.js → useServerRestart-DoozgL8o.js} +1 -1
- package/dist/interface/ha/{useTabSwipe-CEH6ltIZ.js → useTabSwipe-CxXAmZNc.js} +1 -1
- package/dist/interface/ha/{useUpdateChannel-CHt1il2V.js → useUpdateChannel-CBwS4cI2.js} +2 -2
- package/dist/interface/ha/{useUpdatesSocket-BnVaNioY.js → useUpdatesSocket-GrlBqyU4.js} +1 -1
- package/dist/interface/ha/{useUserOptions-C7cQ1P3Q.js → useUserOptions-54hnf6hX.js} +1 -1
- package/dist/interface/index.html +31 -31
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +5 -5
- package/dist/server/src/api/database/record-schemas.d.ts +10 -10
- package/dist/server/src/api/schemas/cameras.schema.d.ts +22 -22
- package/dist/server/src/api/schemas/users.schema.d.ts +70 -70
- package/dist/server/src/api/websocket/nsp/metrics.d.ts +0 -1
- package/dist/server/src/api/websocket/nsp/metrics.js +2 -48
- package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/worker-perf.d.ts +3 -0
- package/dist/server/src/api/websocket/nsp/worker-perf.js +58 -0
- package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -0
- package/dist/server/src/api/websocket/types.d.ts +1 -0
- package/dist/server/src/assistant/search.d.ts +11 -11
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +6 -0
- package/dist/server/src/camera/decoder/detection-coordinator.js +117 -20
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-pipeline.d.ts +3 -1
- package/dist/server/src/camera/decoder/detection-pipeline.js +4 -0
- package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
- package/dist/server/src/camera/decoder/event-manager.d.ts +1 -0
- package/dist/server/src/camera/decoder/event-manager.js +5 -2
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
- package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +4 -0
- package/dist/server/src/camera/decoder/event-thumbnailer.js +3 -0
- package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
- package/dist/server/src/camera/decoder/event-trace.d.ts +2 -0
- package/dist/server/src/camera/decoder/event-trace.js +9 -5
- package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
- package/dist/server/src/camera/decoder/perf-tracker.d.ts +5 -1
- package/dist/server/src/camera/decoder/perf-tracker.js +10 -2
- package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
- package/dist/server/src/camera/decoder/types.d.ts +5 -1
- package/dist/server/src/camera/decoder/types.js.map +1 -1
- package/dist/server/src/rpc/interfaces/detection.d.ts +1 -0
- package/dist/server/src/sensors/registry.d.ts +1 -0
- package/dist/server/src/sensors/registry.js +9 -3
- package/dist/server/src/sensors/registry.js.map +1 -1
- package/dist/server/src/sensors/sensor.js +2 -3
- package/dist/server/src/sensors/sensor.js.map +1 -1
- package/dist/server/src/sensors/types.d.ts +2 -1
- package/dist/server/src/sensors/types.js +7 -1
- package/dist/server/src/sensors/types.js.map +1 -1
- package/package.json +5 -5
- package/dist/interface/assets/Camera-B5l_gv7t.js +0 -2
- package/dist/interface/assets/Camera-gYRy6ECP.css +0 -1
- package/dist/interface/assets/CuiBottomSheet-C37blNu-.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-TVAf5ZYQ.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-C26rX8dh.css +0 -1
- package/dist/interface/assets/CuiCameraRecordings-IHg1dNf4.js +0 -1
- package/dist/interface/assets/CuiCameraTable-xDZz7Wpe.js +0 -1
- package/dist/interface/assets/Faces-Dqi30qs9.js +0 -1
- package/dist/interface/assets/Metrics-DX59XXDc.css +0 -1
- package/dist/interface/assets/PluginSchema-uVKXzfo6.js +0 -1
- package/dist/interface/assets/PluginSearch-C4MvWyLb.js +0 -1
- package/dist/interface/assets/Recordings-DrcOsRLn.js +0 -1
- package/dist/interface/assets/SettingsAccount-CkvScQmF.js +0 -1
- package/dist/interface/assets/SettingsAppearance-ZHqNXXIL.js +0 -1
- package/dist/interface/assets/Training-DfOqDTHJ.js +0 -1
- package/dist/interface/assets/api-B6TtU9Ew.css +0 -2
- package/dist/interface/assets/api-DPgKdIQZ.js +0 -4
- package/dist/interface/assets/cloudHandoff-Cxljjl7N.js +0 -1
- package/dist/interface/assets/main-BrNGfemk.js +0 -3
- package/dist/interface/assets/ungrouped-BQzKp2PT.js +0 -1
- package/dist/interface/assets/vendor-cameraui-Dhg7MEnt.js +0 -2326
- package/dist/interface/ha/SettingsNotifications-C59UxYic.js +0 -529
- package/dist/interface/ha/Training-DWcaCI-3.js +0 -1499
|
@@ -69,7 +69,7 @@ function g(e = {}) {
|
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
function _() {
|
|
72
|
-
let t = e(
|
|
72
|
+
let t = e(At);
|
|
73
73
|
if (!t) throw Error("[camera.ui] useCameraUi() called without CameraUiPlugin installed. Make sure to call app.use(createCameraUiPlugin({ ... })) before using this composable.");
|
|
74
74
|
return t;
|
|
75
75
|
}
|
|
@@ -254,9 +254,7 @@ function F(e, t, n = !1) {
|
|
|
254
254
|
let i = (async () => {
|
|
255
255
|
let r = await le(e, t);
|
|
256
256
|
try {
|
|
257
|
-
|
|
258
|
-
let e = await r.fetchSnapshot(void 0, n ? !0 : void 0);
|
|
259
|
-
return e && I(t, e), e ?? void 0;
|
|
257
|
+
return r ? await r.fetchSnapshot(void 0, n ? !0 : void 0) ?? void 0 : void 0;
|
|
260
258
|
} finally {
|
|
261
259
|
r && ue(t);
|
|
262
260
|
}
|
|
@@ -266,22 +264,27 @@ function F(e, t, n = !1) {
|
|
|
266
264
|
var te = !1;
|
|
267
265
|
function ne(e, t) {
|
|
268
266
|
te || (te = !0, e.on("reconnected", () => {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
(
|
|
275
|
-
|
|
276
|
-
|
|
267
|
+
setTimeout(() => {
|
|
268
|
+
let e = 0;
|
|
269
|
+
for (let n of M.keys()) {
|
|
270
|
+
if ((M.get(n)?.size ?? 0) === 0) continue;
|
|
271
|
+
let r = n;
|
|
272
|
+
setTimeout(() => {
|
|
273
|
+
(M.get(r)?.size ?? 0) !== 0 && F(t, r).catch(() => void 0);
|
|
274
|
+
}, e), e += 150;
|
|
275
|
+
}
|
|
276
|
+
}, 0);
|
|
277
277
|
}));
|
|
278
278
|
}
|
|
279
279
|
function re(e) {
|
|
280
280
|
setTimeout(() => URL.revokeObjectURL(e), ee);
|
|
281
281
|
}
|
|
282
282
|
function I(e, t, n) {
|
|
283
|
-
|
|
284
|
-
|
|
283
|
+
if (k.get(e) !== t) {
|
|
284
|
+
let n = j.get(e);
|
|
285
|
+
n && (re(n), j.delete(e)), k.set(e, t);
|
|
286
|
+
}
|
|
287
|
+
n !== void 0 && A.set(e, n), P(e);
|
|
285
288
|
}
|
|
286
289
|
function L(e) {
|
|
287
290
|
return k.get(e);
|
|
@@ -1107,62 +1110,63 @@ async function ut(e, t) {
|
|
|
1107
1110
|
})().finally(() => ct.delete(t));
|
|
1108
1111
|
return ct.set(t, i), i;
|
|
1109
1112
|
}
|
|
1110
|
-
function dt(e) {
|
|
1111
|
-
let
|
|
1112
|
-
async function
|
|
1113
|
-
if (
|
|
1114
|
-
|
|
1113
|
+
function dt(e, t) {
|
|
1114
|
+
let n = c(), r = l(!1), i = l(), a = null;
|
|
1115
|
+
async function o() {
|
|
1116
|
+
if (a) return a;
|
|
1117
|
+
r.value = !0, i.value = void 0;
|
|
1115
1118
|
try {
|
|
1116
|
-
return
|
|
1117
|
-
|
|
1118
|
-
}),
|
|
1119
|
+
return a = e.getConfig().finally(() => {
|
|
1120
|
+
a = null;
|
|
1121
|
+
}), n.value = await a, n.value;
|
|
1119
1122
|
} catch (e) {
|
|
1120
|
-
|
|
1123
|
+
i.value = e instanceof Error ? e : Error(String(e));
|
|
1121
1124
|
return;
|
|
1122
1125
|
} finally {
|
|
1123
|
-
|
|
1126
|
+
r.value = !1;
|
|
1124
1127
|
}
|
|
1125
1128
|
}
|
|
1126
|
-
async function
|
|
1127
|
-
|
|
1129
|
+
async function s(t, n) {
|
|
1130
|
+
r.value = !0, i.value = void 0;
|
|
1128
1131
|
try {
|
|
1129
|
-
await e.setValue(t,
|
|
1132
|
+
await e.setValue(t, n), await o();
|
|
1130
1133
|
} catch (e) {
|
|
1131
|
-
throw
|
|
1134
|
+
throw i.value = e instanceof Error ? e : Error(String(e)), e;
|
|
1132
1135
|
} finally {
|
|
1133
|
-
|
|
1136
|
+
r.value = !1;
|
|
1134
1137
|
}
|
|
1135
1138
|
}
|
|
1136
|
-
async function
|
|
1137
|
-
|
|
1139
|
+
async function u(t) {
|
|
1140
|
+
r.value = !0, i.value = void 0;
|
|
1138
1141
|
try {
|
|
1139
|
-
await e.setConfig(t), await
|
|
1142
|
+
await e.setConfig(t), await o();
|
|
1140
1143
|
} catch (e) {
|
|
1141
|
-
throw
|
|
1144
|
+
throw i.value = e instanceof Error ? e : Error(String(e)), e;
|
|
1142
1145
|
} finally {
|
|
1143
|
-
|
|
1146
|
+
r.value = !1;
|
|
1144
1147
|
}
|
|
1145
1148
|
}
|
|
1146
|
-
async function
|
|
1147
|
-
|
|
1149
|
+
async function d(t, n) {
|
|
1150
|
+
r.value = !0, i.value = void 0;
|
|
1148
1151
|
try {
|
|
1149
|
-
let
|
|
1150
|
-
return (!
|
|
1152
|
+
let r = await e.submitValue(t, n);
|
|
1153
|
+
return (!r?.toast || r.toast.type !== "error") && await o(), r;
|
|
1151
1154
|
} catch (e) {
|
|
1152
|
-
throw
|
|
1155
|
+
throw i.value = e instanceof Error ? e : Error(String(e)), e;
|
|
1153
1156
|
} finally {
|
|
1154
|
-
|
|
1157
|
+
r.value = !1;
|
|
1155
1158
|
}
|
|
1156
1159
|
}
|
|
1157
1160
|
return {
|
|
1158
1161
|
proxy: e,
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1162
|
+
client: t,
|
|
1163
|
+
config: n,
|
|
1164
|
+
isLoading: r,
|
|
1165
|
+
error: i,
|
|
1166
|
+
getConfig: o,
|
|
1167
|
+
setValue: s,
|
|
1168
|
+
setConfig: u,
|
|
1169
|
+
submitValue: d
|
|
1166
1170
|
};
|
|
1167
1171
|
}
|
|
1168
1172
|
var ft = g({ releaseDelay: 1e3 });
|
|
@@ -1175,8 +1179,9 @@ function mt(e, t) {
|
|
|
1175
1179
|
function ht(e, t) {
|
|
1176
1180
|
return `plugin:${e}:sensor:${t}`;
|
|
1177
1181
|
}
|
|
1178
|
-
function gt(e, t) {
|
|
1179
|
-
|
|
1182
|
+
function gt(e, t, n) {
|
|
1183
|
+
let r = ft.get(e);
|
|
1184
|
+
return r && r.client !== t && ft.forceRelease(e), ft.acquire(e, () => dt(n(), t));
|
|
1180
1185
|
}
|
|
1181
1186
|
function _t(e) {
|
|
1182
1187
|
ft.release(e);
|
|
@@ -1193,16 +1198,23 @@ function yt() {
|
|
|
1193
1198
|
function bt(e, t, n) {
|
|
1194
1199
|
e.currentStorageKey &&= (_t(e.currentStorageKey), void 0), t.value = !1, e.cachedStorage = void 0, n.value = void 0;
|
|
1195
1200
|
}
|
|
1196
|
-
|
|
1201
|
+
function xt(e, t, n, r, i) {
|
|
1202
|
+
(e.currentStorageKey !== t || e.cachedStorage?.client !== n) && (e.currentStorageKey && e.currentStorageKey !== t && (_t(e.currentStorageKey), r.value = void 0), e.currentStorageKey = t, e.cachedStorage = gt(t, n, i));
|
|
1203
|
+
}
|
|
1204
|
+
var St = [
|
|
1197
1205
|
2e3,
|
|
1198
1206
|
5e3,
|
|
1199
1207
|
1e4,
|
|
1208
|
+
15e3,
|
|
1209
|
+
15e3,
|
|
1210
|
+
15e3,
|
|
1211
|
+
15e3,
|
|
1200
1212
|
15e3
|
|
1201
1213
|
];
|
|
1202
|
-
function
|
|
1214
|
+
function Ct(e) {
|
|
1203
1215
|
return new Promise((t) => setTimeout(t, e));
|
|
1204
1216
|
}
|
|
1205
|
-
function
|
|
1217
|
+
function wt(e, t, n, r) {
|
|
1206
1218
|
let i, a;
|
|
1207
1219
|
function o() {
|
|
1208
1220
|
if (!i || a !== e.cachedStorage) {
|
|
@@ -1220,8 +1232,8 @@ function Ct(e, t, n, r) {
|
|
|
1220
1232
|
n.value = !0;
|
|
1221
1233
|
try {
|
|
1222
1234
|
let n = await i.getConfig();
|
|
1223
|
-
for (let t of
|
|
1224
|
-
if (!i.error.value || e.cachedStorage !== i || (await
|
|
1235
|
+
for (let t of St) {
|
|
1236
|
+
if (!i.error.value || e.cachedStorage !== i || (await Ct(t), e.cachedStorage !== i)) break;
|
|
1225
1237
|
n = await i.getConfig();
|
|
1226
1238
|
}
|
|
1227
1239
|
return e.cachedStorage === i ? (t.value = i.config.value, r.value = i.error.value, n) : n;
|
|
@@ -1274,126 +1286,138 @@ function Ct(e, t, n, r) {
|
|
|
1274
1286
|
submitValue: u
|
|
1275
1287
|
};
|
|
1276
1288
|
}
|
|
1277
|
-
function
|
|
1278
|
-
let { rpc:
|
|
1279
|
-
async function
|
|
1280
|
-
|
|
1289
|
+
function Tt(e) {
|
|
1290
|
+
let t = _(), { rpc: r, isConnected: i } = t, a = c(), u = l(!1), f = l(!1), p = l(), m = l(!1), h = yt(), g = wt(h, a, u, p);
|
|
1291
|
+
async function v(e) {
|
|
1292
|
+
let t = r.value;
|
|
1293
|
+
if (!t || !i.value) return !1;
|
|
1281
1294
|
try {
|
|
1282
|
-
let n = await ut(
|
|
1295
|
+
let n = await ut(r, e);
|
|
1283
1296
|
if (!n) throw Error(`Plugin "${e}" not found`);
|
|
1284
|
-
|
|
1285
|
-
return m.currentStorageKey && m.currentStorageKey !== r && _t(m.currentStorageKey), m.currentStorageKey = r, m.cachedStorage = gt(r, () => {
|
|
1297
|
+
return xt(h, pt(n), t, a, () => {
|
|
1286
1298
|
let e = b.pluginNamespaces(n);
|
|
1287
|
-
return t.
|
|
1288
|
-
}),
|
|
1299
|
+
return t.createProxy(e.pluginStorageRpc);
|
|
1300
|
+
}), m.value = !0, !0;
|
|
1289
1301
|
} catch (e) {
|
|
1290
|
-
return
|
|
1302
|
+
return p.value = e instanceof Error ? e : Error(String(e)), m.value = !1, !1;
|
|
1291
1303
|
}
|
|
1292
1304
|
}
|
|
1293
|
-
async function
|
|
1294
|
-
if (!
|
|
1305
|
+
async function y() {
|
|
1306
|
+
if (!h.cachedStorage) {
|
|
1295
1307
|
let t = n(e);
|
|
1296
|
-
if (!t || !await
|
|
1308
|
+
if (!t || !await v(t)) return;
|
|
1297
1309
|
}
|
|
1298
|
-
return
|
|
1310
|
+
return g.getConfig();
|
|
1299
1311
|
}
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1312
|
+
async function x() {
|
|
1313
|
+
let t = n(e);
|
|
1314
|
+
i.value && t ? (await v(t), g.getConfig()) : bt(h, m, a), f.value = !0;
|
|
1315
|
+
}
|
|
1316
|
+
return s([i, () => n(e)], x, { immediate: !0 }), t.on("reconnected", x), d(() => {
|
|
1317
|
+
t.off("reconnected", x), bt(h, m, a);
|
|
1318
|
+
}), {
|
|
1319
|
+
config: a,
|
|
1320
|
+
isLoading: o(() => u.value || !f.value),
|
|
1321
|
+
error: p,
|
|
1322
|
+
isConnected: m,
|
|
1323
|
+
getConfig: y,
|
|
1324
|
+
setValue: g.setValue,
|
|
1325
|
+
setConfig: g.setConfig,
|
|
1326
|
+
submitValue: g.submitValue
|
|
1311
1327
|
};
|
|
1312
1328
|
}
|
|
1313
|
-
function
|
|
1314
|
-
let { rpc:
|
|
1315
|
-
async function
|
|
1316
|
-
|
|
1329
|
+
function Et(e, t) {
|
|
1330
|
+
let r = _(), { rpc: i, isConnected: a } = r, u = c(), f = l(!1), p = l(!1), m = l(), h = l(!1), g = yt(), v = wt(g, u, f, m);
|
|
1331
|
+
async function y(e, t) {
|
|
1332
|
+
let n = i.value;
|
|
1333
|
+
if (!n || !a.value) return !1;
|
|
1317
1334
|
try {
|
|
1318
|
-
let
|
|
1319
|
-
if (!
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
}), m.value = !0, !0;
|
|
1335
|
+
let r = await ut(i, t);
|
|
1336
|
+
if (!r) throw Error(`Plugin "${t}" not found`);
|
|
1337
|
+
return xt(g, mt(r, e), n, u, () => {
|
|
1338
|
+
let t = b.pluginCameraNamespaces(r, e);
|
|
1339
|
+
return n.createProxy(t.cameraStorageRpc);
|
|
1340
|
+
}), h.value = !0, !0;
|
|
1325
1341
|
} catch (e) {
|
|
1326
|
-
return
|
|
1342
|
+
return m.value = e instanceof Error ? e : Error(String(e)), h.value = !1, !1;
|
|
1327
1343
|
}
|
|
1328
1344
|
}
|
|
1329
|
-
async function
|
|
1345
|
+
async function x() {
|
|
1346
|
+
let r = G(n(e)), i = n(t);
|
|
1347
|
+
if (r && i && (g.cachedStorage || await y(r, i))) return v.getConfig();
|
|
1348
|
+
}
|
|
1349
|
+
async function S() {
|
|
1330
1350
|
let r = G(n(e)), i = n(t);
|
|
1331
|
-
|
|
1351
|
+
a.value && r && i ? (await y(r, i), v.getConfig()) : bt(g, h, u), p.value = !0;
|
|
1332
1352
|
}
|
|
1333
1353
|
return s([
|
|
1334
|
-
|
|
1354
|
+
a,
|
|
1335
1355
|
() => G(n(e)),
|
|
1336
1356
|
() => n(t)
|
|
1337
|
-
],
|
|
1338
|
-
|
|
1339
|
-
}
|
|
1340
|
-
config:
|
|
1341
|
-
isLoading: o(() =>
|
|
1342
|
-
error:
|
|
1343
|
-
isConnected:
|
|
1344
|
-
getConfig:
|
|
1345
|
-
setValue:
|
|
1346
|
-
setConfig:
|
|
1347
|
-
submitValue:
|
|
1357
|
+
], S, { immediate: !0 }), r.on("reconnected", S), d(() => {
|
|
1358
|
+
r.off("reconnected", S), bt(g, h, u);
|
|
1359
|
+
}), {
|
|
1360
|
+
config: u,
|
|
1361
|
+
isLoading: o(() => f.value || !p.value),
|
|
1362
|
+
error: m,
|
|
1363
|
+
isConnected: h,
|
|
1364
|
+
getConfig: x,
|
|
1365
|
+
setValue: v.setValue,
|
|
1366
|
+
setConfig: v.setConfig,
|
|
1367
|
+
submitValue: v.submitValue
|
|
1348
1368
|
};
|
|
1349
1369
|
}
|
|
1350
|
-
function
|
|
1351
|
-
let { rpc:
|
|
1352
|
-
function
|
|
1353
|
-
|
|
1370
|
+
function Dt(e, t) {
|
|
1371
|
+
let r = _(), { rpc: i, isConnected: a } = r, u = c(), f = l(!1), p = l(!1), m = l(), h = l(!1), g = yt(), v = wt(g, u, f, m);
|
|
1372
|
+
function y(e, t) {
|
|
1373
|
+
let n = i.value;
|
|
1374
|
+
if (!n || !a.value) return !1;
|
|
1354
1375
|
try {
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
}), m.value = !0, !0;
|
|
1376
|
+
return xt(g, ht(t, e), n, u, () => {
|
|
1377
|
+
let r = b.pluginSensorNamespaces(t, e);
|
|
1378
|
+
return n.createProxy(r.sensorStorageRpc);
|
|
1379
|
+
}), h.value = !0, !0;
|
|
1360
1380
|
} catch (e) {
|
|
1361
|
-
return
|
|
1381
|
+
return m.value = e instanceof Error ? e : Error(String(e)), h.value = !1, !1;
|
|
1362
1382
|
}
|
|
1363
1383
|
}
|
|
1364
|
-
async function
|
|
1384
|
+
async function x() {
|
|
1385
|
+
let r = n(e), i = n(t);
|
|
1386
|
+
if (r && i && (g.cachedStorage || y(r, i))) return v.getConfig();
|
|
1387
|
+
}
|
|
1388
|
+
function S() {
|
|
1365
1389
|
let r = n(e), i = n(t);
|
|
1366
|
-
|
|
1390
|
+
a.value && r && i ? (y(r, i), v.getConfig()) : bt(g, h, u), p.value = !0;
|
|
1367
1391
|
}
|
|
1368
1392
|
return s([
|
|
1369
|
-
|
|
1393
|
+
a,
|
|
1370
1394
|
() => n(e),
|
|
1371
1395
|
() => n(t)
|
|
1372
|
-
], (
|
|
1373
|
-
|
|
1374
|
-
}
|
|
1375
|
-
config:
|
|
1376
|
-
isLoading: o(() =>
|
|
1377
|
-
error:
|
|
1378
|
-
isConnected:
|
|
1379
|
-
getConfig:
|
|
1380
|
-
setValue:
|
|
1381
|
-
setConfig:
|
|
1382
|
-
submitValue:
|
|
1396
|
+
], S, { immediate: !0 }), r.on("reconnected", S), d(() => {
|
|
1397
|
+
r.off("reconnected", S), bt(g, h, u);
|
|
1398
|
+
}), {
|
|
1399
|
+
config: u,
|
|
1400
|
+
isLoading: o(() => f.value || !p.value),
|
|
1401
|
+
error: m,
|
|
1402
|
+
isConnected: h,
|
|
1403
|
+
getConfig: x,
|
|
1404
|
+
setValue: v.setValue,
|
|
1405
|
+
setConfig: v.setConfig,
|
|
1406
|
+
submitValue: v.submitValue
|
|
1383
1407
|
};
|
|
1384
1408
|
}
|
|
1385
|
-
function
|
|
1409
|
+
function Ot() {
|
|
1386
1410
|
W(), ce(), vt(), We(), ie();
|
|
1387
1411
|
}
|
|
1388
|
-
function
|
|
1412
|
+
function kt() {
|
|
1389
1413
|
W(), de(), Ge();
|
|
1390
1414
|
}
|
|
1391
|
-
var
|
|
1392
|
-
function
|
|
1415
|
+
var At = Symbol("camera-ui"), jt = new m("plugin");
|
|
1416
|
+
function Mt(e) {
|
|
1393
1417
|
return "rpc" in e && "isConnected" in e;
|
|
1394
1418
|
}
|
|
1395
|
-
var
|
|
1396
|
-
function
|
|
1419
|
+
var Nt = 4e3;
|
|
1420
|
+
function Pt(e) {
|
|
1397
1421
|
let { natsTransport: t, target: n, wsTransport: a } = e, s = t.getClient() !== null, u = t.getClient(), d = null, f = !1, p = c(t.getClient() ?? void 0), m = l(t.getClient()?.isConnected ?? !1), h = l(void 0), g = o(() => n.value?.endpoint.url), _ = o(() => n.value?.tokens.access), v = o(() => {
|
|
1398
1422
|
let e = n.value;
|
|
1399
1423
|
if (e?.tokens.proxySession) return { session: e.tokens.proxySession };
|
|
@@ -1410,19 +1434,19 @@ function Nt(e) {
|
|
|
1410
1434
|
if (t) for (let e of t) try {
|
|
1411
1435
|
e();
|
|
1412
1436
|
} catch (e) {
|
|
1413
|
-
|
|
1437
|
+
jt.warn("context listener threw:", e);
|
|
1414
1438
|
}
|
|
1415
1439
|
}
|
|
1416
1440
|
return t.subscribeClient((e) => {
|
|
1417
1441
|
if (e) {
|
|
1418
1442
|
d !== null && (clearTimeout(d), d = null);
|
|
1419
1443
|
let t = m.value, n = e !== u;
|
|
1420
|
-
u = e, p.value = e, m.value = !0, h.value = void 0, !t || n ? (
|
|
1444
|
+
u = e, p.value = e, m.value = !0, h.value = void 0, !t || n ? (kt(), s && S("reconnected"), s = !0) : f && s && S("reconnected"), f = !1;
|
|
1421
1445
|
} else {
|
|
1422
1446
|
if (f = !0, p.value = void 0, d !== null || !m.value) return;
|
|
1423
1447
|
d = setTimeout(() => {
|
|
1424
1448
|
d = null, m.value = !1, S("disconnected");
|
|
1425
|
-
},
|
|
1449
|
+
}, Nt);
|
|
1426
1450
|
}
|
|
1427
1451
|
}), t.on("auth-error", (e) => {
|
|
1428
1452
|
h.value = Error(e.message ?? "auth-error");
|
|
@@ -1443,19 +1467,19 @@ function Nt(e) {
|
|
|
1443
1467
|
off: x
|
|
1444
1468
|
});
|
|
1445
1469
|
}
|
|
1446
|
-
function
|
|
1470
|
+
function Ft(e) {
|
|
1447
1471
|
return { install(t) {
|
|
1448
|
-
let n =
|
|
1449
|
-
t.provide(
|
|
1472
|
+
let n = Mt(e) ? e : Pt(e);
|
|
1473
|
+
t.provide(At, n);
|
|
1450
1474
|
} };
|
|
1451
1475
|
}
|
|
1452
|
-
var
|
|
1476
|
+
var It = {
|
|
1453
1477
|
standbyTimeout: 5e3,
|
|
1454
1478
|
activityTimeout: 5e3
|
|
1455
1479
|
};
|
|
1456
|
-
function
|
|
1480
|
+
function Lt(e) {
|
|
1457
1481
|
let { initialMode: t = "always-on", config: n = {}, onStreamStart: r, onStreamStop: i, isStreamPlaying: a } = e, o = {
|
|
1458
|
-
...
|
|
1482
|
+
...It,
|
|
1459
1483
|
...n
|
|
1460
1484
|
}, s = l(t), c = l(!1), u = l(!1), d, f;
|
|
1461
1485
|
function p() {
|
|
@@ -1526,8 +1550,8 @@ function It(e) {
|
|
|
1526
1550
|
dispose: w
|
|
1527
1551
|
};
|
|
1528
1552
|
}
|
|
1529
|
-
var
|
|
1530
|
-
function
|
|
1553
|
+
var Rt = 3e4, Y = new m("TabVisibility"), zt = l(typeof document > "u" || document.visibilityState === "visible"), Bt = null, Vt = /* @__PURE__ */ new Set(), Ht = /* @__PURE__ */ new Set(), Ut = /* @__PURE__ */ new Set(), Wt = !1;
|
|
1554
|
+
function Gt(e) {
|
|
1531
1555
|
Y.debug(`paused listener fired (delay ${e.delayMs}ms reached)`);
|
|
1532
1556
|
try {
|
|
1533
1557
|
e.cb();
|
|
@@ -1535,34 +1559,34 @@ function Wt(e) {
|
|
|
1535
1559
|
Y.error("onTabPaused listener threw:", e);
|
|
1536
1560
|
}
|
|
1537
1561
|
}
|
|
1538
|
-
function
|
|
1562
|
+
function Kt(e) {
|
|
1539
1563
|
Y.debug(`paused listener scheduled in ${e.delayMs}ms`), e.timer = setTimeout(() => {
|
|
1540
|
-
if (e.timer = null,
|
|
1564
|
+
if (e.timer = null, zt.value) {
|
|
1541
1565
|
Y.debug("paused listener skipped — tab visible before delay");
|
|
1542
1566
|
return;
|
|
1543
1567
|
}
|
|
1544
|
-
|
|
1568
|
+
Gt(e);
|
|
1545
1569
|
}, e.delayMs);
|
|
1546
1570
|
}
|
|
1547
|
-
function Kt() {
|
|
1548
|
-
for (let e of Vt) e.timer !== null && (clearTimeout(e.timer), e.timer = null);
|
|
1549
|
-
}
|
|
1550
1571
|
function qt() {
|
|
1551
|
-
|
|
1572
|
+
for (let e of Ht) e.timer !== null && (clearTimeout(e.timer), e.timer = null);
|
|
1573
|
+
}
|
|
1574
|
+
function Jt() {
|
|
1575
|
+
Wt || typeof document > "u" || (Wt = !0, document.addEventListener("visibilitychange", () => {
|
|
1552
1576
|
let e = document.visibilityState === "visible";
|
|
1553
|
-
if (!e &&
|
|
1554
|
-
|
|
1555
|
-
for (let e of
|
|
1577
|
+
if (!e && zt.value) {
|
|
1578
|
+
zt.value = !1, Bt = Date.now(), Y.debug(`tab → hidden (hidden=${Vt.size} paused=${Ht.size})`);
|
|
1579
|
+
for (let e of Vt) try {
|
|
1556
1580
|
e.cb();
|
|
1557
1581
|
} catch (e) {
|
|
1558
1582
|
Y.error("onTabHidden listener threw:", e);
|
|
1559
1583
|
}
|
|
1560
|
-
for (let e of
|
|
1561
|
-
} else if (e && !
|
|
1562
|
-
|
|
1563
|
-
let e =
|
|
1564
|
-
|
|
1565
|
-
for (let { cb: t } of
|
|
1584
|
+
for (let e of Ht) Kt(e);
|
|
1585
|
+
} else if (e && !zt.value) {
|
|
1586
|
+
qt();
|
|
1587
|
+
let e = Bt == null ? 0 : Date.now() - Bt;
|
|
1588
|
+
Bt = null, zt.value = !0, Y.debug(`tab → visible (hiddenMs=${e}, visible-listeners=${Ut.size})`);
|
|
1589
|
+
for (let { cb: t } of Ut) try {
|
|
1566
1590
|
t({ hiddenMs: e });
|
|
1567
1591
|
} catch (e) {
|
|
1568
1592
|
Y.error("onTabVisible listener threw:", e);
|
|
@@ -1570,34 +1594,34 @@ function qt() {
|
|
|
1570
1594
|
}
|
|
1571
1595
|
}));
|
|
1572
1596
|
}
|
|
1573
|
-
function
|
|
1574
|
-
|
|
1575
|
-
let e = o(() =>
|
|
1597
|
+
function Yt() {
|
|
1598
|
+
Jt();
|
|
1599
|
+
let e = o(() => zt.value);
|
|
1576
1600
|
function t(e) {
|
|
1577
1601
|
let t = { cb: e };
|
|
1578
|
-
|
|
1602
|
+
Vt.add(t);
|
|
1579
1603
|
let n = () => {
|
|
1580
|
-
|
|
1604
|
+
Vt.delete(t);
|
|
1581
1605
|
};
|
|
1582
1606
|
return d(n), n;
|
|
1583
1607
|
}
|
|
1584
1608
|
function n(e, t = {}) {
|
|
1585
1609
|
let n = {
|
|
1586
1610
|
cb: e,
|
|
1587
|
-
delayMs: t.delayMs ??
|
|
1611
|
+
delayMs: t.delayMs ?? Rt,
|
|
1588
1612
|
timer: null
|
|
1589
1613
|
};
|
|
1590
|
-
|
|
1614
|
+
Ht.add(n);
|
|
1591
1615
|
let r = () => {
|
|
1592
|
-
n.timer !== null && (clearTimeout(n.timer), n.timer = null),
|
|
1616
|
+
n.timer !== null && (clearTimeout(n.timer), n.timer = null), Ht.delete(n);
|
|
1593
1617
|
};
|
|
1594
1618
|
return d(r), r;
|
|
1595
1619
|
}
|
|
1596
1620
|
function r(e) {
|
|
1597
1621
|
let t = { cb: e };
|
|
1598
|
-
|
|
1622
|
+
Ut.add(t);
|
|
1599
1623
|
let n = () => {
|
|
1600
|
-
|
|
1624
|
+
Ut.delete(t);
|
|
1601
1625
|
};
|
|
1602
1626
|
return d(n), n;
|
|
1603
1627
|
}
|
|
@@ -1642,12 +1666,12 @@ var X = {
|
|
|
1642
1666
|
"PCMA"
|
|
1643
1667
|
]
|
|
1644
1668
|
}
|
|
1645
|
-
},
|
|
1646
|
-
function
|
|
1669
|
+
}, Xt = "hvc1.1.6.L153.B0";
|
|
1670
|
+
function Zt() {
|
|
1647
1671
|
return navigator.userAgent.match(/version\/(\d+)/i);
|
|
1648
1672
|
}
|
|
1649
|
-
function
|
|
1650
|
-
let e = [...X.CODECS.DEFAULT], t =
|
|
1673
|
+
function Qt() {
|
|
1674
|
+
let e = [...X.CODECS.DEFAULT], t = Zt();
|
|
1651
1675
|
if (t?.[1]) {
|
|
1652
1676
|
let n = parseInt(t[1], 10);
|
|
1653
1677
|
if (n < 13) {
|
|
@@ -1663,34 +1687,34 @@ function Zt() {
|
|
|
1663
1687
|
}
|
|
1664
1688
|
return e;
|
|
1665
1689
|
}
|
|
1666
|
-
function
|
|
1690
|
+
function $t(e, t) {
|
|
1667
1691
|
return e.filter((e) => t(`video/mp4; codecs="${e}"`)).join(",");
|
|
1668
1692
|
}
|
|
1669
|
-
function
|
|
1693
|
+
function en(e) {
|
|
1670
1694
|
return X.CODECS.WEBRTC_AUDIO.includes(e);
|
|
1671
1695
|
}
|
|
1672
|
-
function
|
|
1673
|
-
return X.CODECS.WEBRTC_VIDEO.includes(e) ? !0 : e === "H265" &&
|
|
1674
|
-
}
|
|
1675
|
-
var
|
|
1676
|
-
function
|
|
1677
|
-
if (e === "auto") return
|
|
1678
|
-
if (e === "mse") return
|
|
1679
|
-
if (
|
|
1680
|
-
|
|
1696
|
+
function tn(e) {
|
|
1697
|
+
return X.CODECS.WEBRTC_VIDEO.includes(e) ? !0 : e === "H265" && sn();
|
|
1698
|
+
}
|
|
1699
|
+
var nn, rn;
|
|
1700
|
+
function an(e) {
|
|
1701
|
+
if (e === "auto") return an("webrtc") || an("mse");
|
|
1702
|
+
if (e === "mse") return nn === void 0 && (nn = !!un()?.isTypeSupported(`video/mp4; codecs="${Xt}"`)), nn;
|
|
1703
|
+
if (rn === void 0) try {
|
|
1704
|
+
rn = !!(RTCRtpReceiver?.getCapabilities("video")?.codecs)?.some((e) => e.mimeType.toLowerCase().includes("h265") || e.mimeType.toLowerCase().includes("hevc"));
|
|
1681
1705
|
} catch {
|
|
1682
|
-
|
|
1706
|
+
rn = !1;
|
|
1683
1707
|
}
|
|
1684
|
-
return
|
|
1708
|
+
return rn;
|
|
1685
1709
|
}
|
|
1686
|
-
function
|
|
1687
|
-
e === "mse" ?
|
|
1710
|
+
function on(e) {
|
|
1711
|
+
e === "mse" ? nn = !1 : rn = !1;
|
|
1688
1712
|
}
|
|
1689
|
-
function
|
|
1690
|
-
return
|
|
1713
|
+
function sn() {
|
|
1714
|
+
return an("webrtc");
|
|
1691
1715
|
}
|
|
1692
|
-
function
|
|
1693
|
-
let t = e.audio.filter((e) => e.direction === "sendonly"), n = e.video.filter((e) => e.direction === "sendonly"), r = t.length === 0 || t.some((e) =>
|
|
1716
|
+
function cn(e) {
|
|
1717
|
+
let t = e.audio.filter((e) => e.direction === "sendonly"), n = e.video.filter((e) => e.direction === "sendonly"), r = t.length === 0 || t.some((e) => en(e.codec)), i = n.length === 0 || n.some((e) => tn(e.codec)), a = [];
|
|
1694
1718
|
return r || a.push(...t.map((e) => e.codec)), i || a.push(...n.map((e) => e.codec)), {
|
|
1695
1719
|
compatible: r && i,
|
|
1696
1720
|
audioCompatible: r,
|
|
@@ -1698,14 +1722,14 @@ function sn(e) {
|
|
|
1698
1722
|
incompatibleCodecs: a
|
|
1699
1723
|
};
|
|
1700
1724
|
}
|
|
1701
|
-
function
|
|
1725
|
+
function ln() {
|
|
1702
1726
|
return "ManagedMediaSource" in window;
|
|
1703
1727
|
}
|
|
1704
|
-
function
|
|
1705
|
-
if (
|
|
1728
|
+
function un() {
|
|
1729
|
+
if (ln()) return window.ManagedMediaSource;
|
|
1706
1730
|
if ("MediaSource" in window) return window.MediaSource;
|
|
1707
1731
|
}
|
|
1708
|
-
function
|
|
1732
|
+
function dn(e, t) {
|
|
1709
1733
|
return new Promise((n, r) => {
|
|
1710
1734
|
if (t.aborted) {
|
|
1711
1735
|
r(new DOMException("Aborted", "AbortError"));
|
|
@@ -1717,20 +1741,20 @@ function un(e, t) {
|
|
|
1717
1741
|
}, { once: !0 });
|
|
1718
1742
|
});
|
|
1719
1743
|
}
|
|
1720
|
-
function
|
|
1721
|
-
let { videoElement: t, onReady: n, onFirstData: r, onError: i, signal: a } = e, o = null, s = null, c = null, l = !1, u = !1, d = new Uint8Array(X.MSE.BUFFER_SIZE), f = 0, p = [], m =
|
|
1744
|
+
function fn(e) {
|
|
1745
|
+
let { videoElement: t, onReady: n, onFirstData: r, onError: i, signal: a } = e, o = null, s = null, c = null, l = !1, u = !1, d = new Uint8Array(X.MSE.BUFFER_SIZE), f = 0, p = [], m = Qt();
|
|
1722
1746
|
function h() {
|
|
1723
1747
|
if (a.aborted) return;
|
|
1724
|
-
let e =
|
|
1748
|
+
let e = un();
|
|
1725
1749
|
if (!e) {
|
|
1726
1750
|
i(/* @__PURE__ */ Error("MediaSource not supported"));
|
|
1727
1751
|
return;
|
|
1728
1752
|
}
|
|
1729
1753
|
o = new e();
|
|
1730
|
-
let n =
|
|
1754
|
+
let n = ln(), r = t.src;
|
|
1731
1755
|
return o.addEventListener("sourceopen", () => {
|
|
1732
1756
|
a.aborted || !n && r && r.startsWith("blob:") && r !== t.src && URL.revokeObjectURL(r);
|
|
1733
|
-
}, { once: !0 }), n ? (t.disableRemotePlayback = !0, t.srcObject = o) : (c = URL.createObjectURL(o), t.src = c, t.srcObject = null),
|
|
1757
|
+
}, { once: !0 }), n ? (t.disableRemotePlayback = !0, t.srcObject = o) : (c = URL.createObjectURL(o), t.src = c, t.srcObject = null), $t(m, e.isTypeSupported.bind(e));
|
|
1734
1758
|
}
|
|
1735
1759
|
function g(e) {
|
|
1736
1760
|
if (a.aborted || !o) return;
|
|
@@ -1741,7 +1765,7 @@ function dn(e) {
|
|
|
1741
1765
|
return;
|
|
1742
1766
|
}
|
|
1743
1767
|
f = 0, d = new Uint8Array(X.MSE.BUFFER_SIZE);
|
|
1744
|
-
let t =
|
|
1768
|
+
let t = un();
|
|
1745
1769
|
if (t && !t.isTypeSupported(e)) {
|
|
1746
1770
|
i(/* @__PURE__ */ Error(`MIME type not supported: ${e}`));
|
|
1747
1771
|
return;
|
|
@@ -1846,7 +1870,7 @@ async function Z(e) {
|
|
|
1846
1870
|
e.muted || (e.muted = !0, await Z(e));
|
|
1847
1871
|
}
|
|
1848
1872
|
}
|
|
1849
|
-
function
|
|
1873
|
+
function pn(e, t, n) {
|
|
1850
1874
|
let r = new RTCPeerConnection({
|
|
1851
1875
|
bundlePolicy: "max-bundle",
|
|
1852
1876
|
iceServers: [...X.WEBRTC.ICE_SERVERS]
|
|
@@ -1857,34 +1881,34 @@ function fn(e, t, n) {
|
|
|
1857
1881
|
i && t(i);
|
|
1858
1882
|
}, r;
|
|
1859
1883
|
}
|
|
1860
|
-
async function
|
|
1884
|
+
async function mn(e, t, n) {
|
|
1861
1885
|
!t.aborted && e && await e.setRemoteDescription({
|
|
1862
1886
|
type: "answer",
|
|
1863
1887
|
sdp: n
|
|
1864
1888
|
});
|
|
1865
1889
|
}
|
|
1866
|
-
async function
|
|
1890
|
+
async function hn(e, t, n, r) {
|
|
1867
1891
|
!t.aborted && e && (r && n.includes(" udp ") || await e.addIceCandidate({
|
|
1868
1892
|
candidate: n,
|
|
1869
1893
|
sdpMid: "0"
|
|
1870
1894
|
}));
|
|
1871
1895
|
}
|
|
1872
|
-
async function
|
|
1896
|
+
async function gn(e, t, n) {
|
|
1873
1897
|
if (!t.aborted && e) try {
|
|
1874
1898
|
await e.sender.replaceTrack(n);
|
|
1875
1899
|
} catch {}
|
|
1876
1900
|
}
|
|
1877
|
-
function
|
|
1901
|
+
function _n(e) {
|
|
1878
1902
|
e.micTransceiver &&= (e.micTransceiver.sender.replaceTrack(null).catch(() => {}), null), e.pc &&= (e.pc.getTransceivers().forEach((e) => e.sender?.track?.stop()), e.pc.close(), null), e.isConnected = !1;
|
|
1879
1903
|
}
|
|
1880
|
-
function
|
|
1904
|
+
function vn(e) {
|
|
1881
1905
|
let { mode: t, onConnected: n, onDisconnected: r, onFailed: i, onCandidate: a, signal: o } = e, s = {
|
|
1882
1906
|
pc: null,
|
|
1883
1907
|
micTransceiver: null,
|
|
1884
1908
|
isConnected: !1
|
|
1885
1909
|
}, c = t === "webrtc/tcp";
|
|
1886
1910
|
function l() {
|
|
1887
|
-
let e =
|
|
1911
|
+
let e = pn(o, a, c);
|
|
1888
1912
|
return e.onconnectionstatechange = () => {
|
|
1889
1913
|
if (o.aborted) return;
|
|
1890
1914
|
let t = e.connectionState;
|
|
@@ -1902,7 +1926,7 @@ function _n(e) {
|
|
|
1902
1926
|
return await s.pc.setLocalDescription(e), e.sdp;
|
|
1903
1927
|
}
|
|
1904
1928
|
function d() {
|
|
1905
|
-
|
|
1929
|
+
_n(s);
|
|
1906
1930
|
}
|
|
1907
1931
|
return o.addEventListener("abort", d, { once: !0 }), {
|
|
1908
1932
|
get pc() {
|
|
@@ -1915,20 +1939,20 @@ function _n(e) {
|
|
|
1915
1939
|
return s.isConnected;
|
|
1916
1940
|
},
|
|
1917
1941
|
createOffer: u,
|
|
1918
|
-
handleAnswer: (e) =>
|
|
1919
|
-
handleCandidate: (e) =>
|
|
1920
|
-
setMicrophoneTrack: (e) =>
|
|
1942
|
+
handleAnswer: (e) => mn(s.pc, o, e),
|
|
1943
|
+
handleCandidate: (e) => hn(s.pc, o, e, c),
|
|
1944
|
+
setMicrophoneTrack: (e) => gn(s.micTransceiver, o, e),
|
|
1921
1945
|
close: d
|
|
1922
1946
|
};
|
|
1923
1947
|
}
|
|
1924
|
-
function
|
|
1948
|
+
function yn(e) {
|
|
1925
1949
|
let { onConnected: t, onDisconnected: n, onCandidate: r, signal: i } = e, a = {
|
|
1926
1950
|
pc: null,
|
|
1927
1951
|
micTransceiver: null,
|
|
1928
1952
|
isConnected: !1
|
|
1929
1953
|
};
|
|
1930
1954
|
function o() {
|
|
1931
|
-
let e =
|
|
1955
|
+
let e = pn(i, r, !1);
|
|
1932
1956
|
return e.onconnectionstatechange = () => {
|
|
1933
1957
|
if (i.aborted) return;
|
|
1934
1958
|
let r = e.connectionState;
|
|
@@ -1942,20 +1966,20 @@ function vn(e) {
|
|
|
1942
1966
|
return await a.pc.setLocalDescription(e), e.sdp;
|
|
1943
1967
|
}
|
|
1944
1968
|
function c() {
|
|
1945
|
-
|
|
1969
|
+
_n(a);
|
|
1946
1970
|
}
|
|
1947
1971
|
return i.addEventListener("abort", c, { once: !0 }), {
|
|
1948
1972
|
get isConnected() {
|
|
1949
1973
|
return a.isConnected;
|
|
1950
1974
|
},
|
|
1951
1975
|
createOffer: s,
|
|
1952
|
-
handleAnswer: (e) =>
|
|
1953
|
-
handleCandidate: (e) =>
|
|
1954
|
-
setMicrophoneTrack: (e) =>
|
|
1976
|
+
handleAnswer: (e) => mn(a.pc, i, e),
|
|
1977
|
+
handleCandidate: (e) => hn(a.pc, i, e, !1),
|
|
1978
|
+
setMicrophoneTrack: (e) => gn(a.micTransceiver, i, e),
|
|
1955
1979
|
close: c
|
|
1956
1980
|
};
|
|
1957
1981
|
}
|
|
1958
|
-
async function
|
|
1982
|
+
async function bn(e, t) {
|
|
1959
1983
|
switch (t.type) {
|
|
1960
1984
|
case "webrtc/answer":
|
|
1961
1985
|
await e.handleAnswer(t.value);
|
|
@@ -1964,10 +1988,10 @@ async function yn(e, t) {
|
|
|
1964
1988
|
}
|
|
1965
1989
|
}
|
|
1966
1990
|
var Q = new m("StreamConnection");
|
|
1967
|
-
function
|
|
1991
|
+
function xn(e) {
|
|
1968
1992
|
return e ? typeof document < "u" && "pictureInPictureElement" in document && document.pictureInPictureElement === e || e.webkitPresentationMode === "picture-in-picture" : !1;
|
|
1969
1993
|
}
|
|
1970
|
-
var
|
|
1994
|
+
var Sn = class {
|
|
1971
1995
|
status;
|
|
1972
1996
|
activeMode;
|
|
1973
1997
|
requestedMode;
|
|
@@ -2029,7 +2053,7 @@ var xn = class {
|
|
|
2029
2053
|
this.target = t.target, this.wsTransport = t.wsTransport;
|
|
2030
2054
|
let { autoStart: r = !0 } = e;
|
|
2031
2055
|
this.status = l("idle"), this.activeMode = l("webrtc"), this.activeResolution = l("low-resolution"), this.degradedFrom = l(null), this.degradeReason = l(null), this.source = c(), this.hasVideo = l(!1), this.hasAudio = l(!1), this.hasBackchannel = l(!1), this.isPlaying = l(!1), this.error = l(), this.probeInfo = c(), this.muted = l(!0), this.paused = l(!1), this.nativeWidth = l(0), this.nativeHeight = l(0), this.requestedMode = l(n(e.mode) ?? "auto"), this.requestedResolution = l(n(e.resolution) ?? "high-resolution"), this.camera = o(() => n(e.camera)), this.videoElement = o(() => n(e.videoElement)), this.containerElement = o(() => n(e.containerElement)), this.isReady = o(() => !!this.camera.value && !!this.videoElement.value && !!this.target.value), this.scope.run(() => {
|
|
2032
|
-
let { onTabPaused: e, onTabVisible: t } =
|
|
2056
|
+
let { onTabPaused: e, onTabVisible: t } = Yt(), n = f(() => {
|
|
2033
2057
|
this.wsHandle?.readyState === WebSocket.CONNECTING && (this.disconnectWebSocket(), !this.abortController.signal.aborted && this.status.value !== "closed" && this.restart());
|
|
2034
2058
|
}, X.WEBRTC.WS_CONNECT_TIMEOUT, { immediate: !1 }), i = f(() => {
|
|
2035
2059
|
this.webrtcHandler && !this.webrtcHandler.isConnected ? this.requestedMode.value === "auto" ? (this.webrtcHandler.close(), this.webrtcHandler = void 0, this.activeMode.value = "mse", this.mseHandler?.isReady ? this.status.value = "connected" : this.startMSE()) : (this.markSourceUndecodable(), this.restart()) : this.status.value === "connected" && !this.isPlaying.value && !this.abortController.signal.aborted && this.handleNoFramesWhileConnected();
|
|
@@ -2043,7 +2067,7 @@ var xn = class {
|
|
|
2043
2067
|
Q.debug(`onTabPaused — already in ${this.status.value}, skipping stop()`);
|
|
2044
2068
|
return;
|
|
2045
2069
|
}
|
|
2046
|
-
if (
|
|
2070
|
+
if (xn(this.videoElement.value)) {
|
|
2047
2071
|
Q.debug("onTabPaused — video is in picture-in-picture, keeping the stream"), this.watchPipLeave();
|
|
2048
2072
|
return;
|
|
2049
2073
|
}
|
|
@@ -2064,7 +2088,7 @@ var xn = class {
|
|
|
2064
2088
|
let e = this.videoElement.value;
|
|
2065
2089
|
if (!e) return;
|
|
2066
2090
|
let t = () => {
|
|
2067
|
-
|
|
2091
|
+
xn(e) || (this.disarmPipWatch?.(), !(typeof document < "u" && document.visibilityState === "visible") && this.status.value !== "idle" && this.status.value !== "closed" && (Q.debug("picture-in-picture closed while tab hidden — stopping the stream"), this.wasPausedByVisibility = !0, this.stop()));
|
|
2068
2092
|
};
|
|
2069
2093
|
e.addEventListener("leavepictureinpicture", t), e.addEventListener("webkitpresentationmodechanged", t), this.disarmPipWatch = () => {
|
|
2070
2094
|
e.removeEventListener("leavepictureinpicture", t), e.removeEventListener("webkitpresentationmodechanged", t), this.disarmPipWatch = null;
|
|
@@ -2182,7 +2206,7 @@ var xn = class {
|
|
|
2182
2206
|
this.status.value = "reconnecting", this.isPlaying.value = !1, this.cleanup(), this.abortController = new AbortController();
|
|
2183
2207
|
let e = ++this.connectionGeneration;
|
|
2184
2208
|
try {
|
|
2185
|
-
await
|
|
2209
|
+
await dn(1e3, this.abortController.signal);
|
|
2186
2210
|
} catch {
|
|
2187
2211
|
return;
|
|
2188
2212
|
}
|
|
@@ -2283,7 +2307,7 @@ var xn = class {
|
|
|
2283
2307
|
if (this.triedSourceIds.has(e._id)) return !1;
|
|
2284
2308
|
if (e.videoCodec !== "H265") return !0;
|
|
2285
2309
|
let t = this.requestedMode.value;
|
|
2286
|
-
return
|
|
2310
|
+
return an(t === "auto" ? "auto" : t === "mse" ? "mse" : "webrtc");
|
|
2287
2311
|
}
|
|
2288
2312
|
getSourceForResolution(e) {
|
|
2289
2313
|
let t = this.camera.value;
|
|
@@ -2327,7 +2351,7 @@ var xn = class {
|
|
|
2327
2351
|
let t = e.video.filter((e) => e.direction === "sendonly");
|
|
2328
2352
|
if (!t.length || !t.every((e) => e.codec === "H265")) return !1;
|
|
2329
2353
|
let n = this.requestedMode.value;
|
|
2330
|
-
return !
|
|
2354
|
+
return !an(n === "auto" ? "auto" : n === "mse" ? "mse" : "webrtc");
|
|
2331
2355
|
}
|
|
2332
2356
|
sourceLikelyH265() {
|
|
2333
2357
|
let e = this.source.value;
|
|
@@ -2342,7 +2366,7 @@ var xn = class {
|
|
|
2342
2366
|
e && this.sourceLikelyH265() && this.triedSourceIds.add(e._id);
|
|
2343
2367
|
}
|
|
2344
2368
|
handleNoFramesWhileConnected() {
|
|
2345
|
-
if (this.sourceLikelyH265() &&
|
|
2369
|
+
if (this.sourceLikelyH265() && on(this.activeMode.value === "mse" ? "mse" : "webrtc"), this.requestedMode.value === "auto" && this.activeMode.value !== "mse") {
|
|
2346
2370
|
this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.activeMode.value = "mse", this.status.value = "reconnecting", this.startMSE();
|
|
2347
2371
|
return;
|
|
2348
2372
|
}
|
|
@@ -2404,7 +2428,7 @@ var xn = class {
|
|
|
2404
2428
|
switch (e.type) {
|
|
2405
2429
|
case "webrtc/answer":
|
|
2406
2430
|
case "webrtc/candidate":
|
|
2407
|
-
this.webrtcHandler ?
|
|
2431
|
+
this.webrtcHandler ? bn(this.webrtcHandler, e) : this.backchannelHandler && bn(this.backchannelHandler, e);
|
|
2408
2432
|
break;
|
|
2409
2433
|
case "mse":
|
|
2410
2434
|
this.mseHandler && typeof e.value == "string" && this.mseHandler.initializeBuffer(e.value);
|
|
@@ -2414,7 +2438,7 @@ var xn = class {
|
|
|
2414
2438
|
}
|
|
2415
2439
|
async startWebRTC(e) {
|
|
2416
2440
|
if (this.abortController.signal.aborted) return;
|
|
2417
|
-
this.startConnectTimeout(), this.webrtcHandler =
|
|
2441
|
+
this.startConnectTimeout(), this.webrtcHandler = vn({
|
|
2418
2442
|
mode: e,
|
|
2419
2443
|
signal: this.abortController.signal,
|
|
2420
2444
|
onConnected: (e) => this.handleWebRTCConnected(e),
|
|
@@ -2452,7 +2476,7 @@ var xn = class {
|
|
|
2452
2476
|
if (this.mseHandler) return;
|
|
2453
2477
|
let e = this.videoElement.value;
|
|
2454
2478
|
if (this.abortController.signal.aborted || !e) return;
|
|
2455
|
-
this.mseHandler =
|
|
2479
|
+
this.mseHandler = fn({
|
|
2456
2480
|
videoElement: e,
|
|
2457
2481
|
signal: this.abortController.signal,
|
|
2458
2482
|
onReady: () => this.handleMSEReady(),
|
|
@@ -2478,7 +2502,7 @@ var xn = class {
|
|
|
2478
2502
|
async startAutoMode() {
|
|
2479
2503
|
if (this.abortController.signal.aborted) return;
|
|
2480
2504
|
let e = this.probeInfo.value ?? await this.probeStream();
|
|
2481
|
-
if (e && !
|
|
2505
|
+
if (e && !cn(e).compatible) {
|
|
2482
2506
|
this.activeMode.value = "mse", this.startMSE();
|
|
2483
2507
|
return;
|
|
2484
2508
|
}
|
|
@@ -2522,7 +2546,7 @@ var xn = class {
|
|
|
2522
2546
|
}
|
|
2523
2547
|
async startBackchannel() {
|
|
2524
2548
|
if (this.abortController.signal.aborted || !this.wsHandle || this.wsHandle.readyState !== WebSocket.OPEN) return;
|
|
2525
|
-
this.backchannelHandler =
|
|
2549
|
+
this.backchannelHandler = yn({
|
|
2526
2550
|
signal: this.abortController.signal,
|
|
2527
2551
|
onCandidate: (e) => this.sendWsMessage({
|
|
2528
2552
|
type: "webrtc/candidate",
|
|
@@ -2545,10 +2569,10 @@ var xn = class {
|
|
|
2545
2569
|
this.backchannelHandler?.close(), this.backchannelHandler = void 0, this.pendingMicTrack = null;
|
|
2546
2570
|
}
|
|
2547
2571
|
};
|
|
2548
|
-
function
|
|
2549
|
-
return new
|
|
2572
|
+
function Cn(e) {
|
|
2573
|
+
return new Sn(e);
|
|
2550
2574
|
}
|
|
2551
|
-
var
|
|
2575
|
+
var wn = class {
|
|
2552
2576
|
streams = /* @__PURE__ */ new Map();
|
|
2553
2577
|
releaseTimers = /* @__PURE__ */ new Map();
|
|
2554
2578
|
releaseDelay;
|
|
@@ -2621,7 +2645,7 @@ var Cn = class {
|
|
|
2621
2645
|
clear() {
|
|
2622
2646
|
for (let e of this.releaseTimers.values()) clearTimeout(e);
|
|
2623
2647
|
this.releaseTimers.clear();
|
|
2624
|
-
for (let [e, t] of this.streams)
|
|
2648
|
+
for (let [e, t] of this.streams) Tn(t.stream), this.streams.delete(e);
|
|
2625
2649
|
}
|
|
2626
2650
|
getDebugInfo() {
|
|
2627
2651
|
return Array.from(this.streams.entries()).map(([e, t]) => ({
|
|
@@ -2654,25 +2678,25 @@ var Cn = class {
|
|
|
2654
2678
|
}
|
|
2655
2679
|
doRelease(e) {
|
|
2656
2680
|
let t = this.streams.get(e);
|
|
2657
|
-
t && (t.refCount <= 0 && (
|
|
2681
|
+
t && (t.refCount <= 0 && (Tn(t.stream), this.streams.delete(e)), this.releaseTimers.delete(e));
|
|
2658
2682
|
}
|
|
2659
2683
|
};
|
|
2660
|
-
function
|
|
2684
|
+
function Tn(e) {
|
|
2661
2685
|
let t = e;
|
|
2662
2686
|
typeof t.destroy == "function" ? t.destroy() : t.stop();
|
|
2663
2687
|
}
|
|
2664
|
-
var $ = new
|
|
2665
|
-
function
|
|
2666
|
-
|
|
2667
|
-
}
|
|
2668
|
-
var On = [], kn = c(null);
|
|
2669
|
-
function An() {
|
|
2670
|
-
kn.value = On[On.length - 1] ?? null;
|
|
2688
|
+
var $ = new wn(), En = /* @__PURE__ */ new WeakMap(), Dn = null;
|
|
2689
|
+
function On(e) {
|
|
2690
|
+
Dn = e;
|
|
2671
2691
|
}
|
|
2692
|
+
var kn = [], An = c(null);
|
|
2672
2693
|
function jn() {
|
|
2673
|
-
|
|
2694
|
+
An.value = kn[kn.length - 1] ?? null;
|
|
2695
|
+
}
|
|
2696
|
+
function Mn() {
|
|
2697
|
+
return o(() => An.value);
|
|
2674
2698
|
}
|
|
2675
|
-
function
|
|
2699
|
+
function Nn(e, t = {}) {
|
|
2676
2700
|
let r = t.mode ?? "fit", i = l(!1), a = c(null);
|
|
2677
2701
|
s(() => n(e), (e) => {
|
|
2678
2702
|
a.value = e ?? null;
|
|
@@ -2684,7 +2708,7 @@ function Mn(e, t = {}) {
|
|
|
2684
2708
|
let e = a.value;
|
|
2685
2709
|
if (!e || i.value) return;
|
|
2686
2710
|
let t = document.createElement("div");
|
|
2687
|
-
t.className = `cui-fullscreen cui-fullscreen-${r}`,
|
|
2711
|
+
t.className = `cui-fullscreen cui-fullscreen-${r}`, Pn(t, r);
|
|
2688
2712
|
let n = {
|
|
2689
2713
|
wrapper: t,
|
|
2690
2714
|
parent: e.parentElement,
|
|
@@ -2692,16 +2716,16 @@ function Mn(e, t = {}) {
|
|
|
2692
2716
|
bodyOverflow: document.body.style.overflow,
|
|
2693
2717
|
htmlOverflow: document.documentElement.style.overflow
|
|
2694
2718
|
};
|
|
2695
|
-
|
|
2719
|
+
En.set(e, n), e.setAttribute("data-cui-fullscreen", r), (Dn ?? document.body).appendChild(t), t.appendChild(e), document.body.style.overflow = "hidden", document.documentElement.style.overflow = "hidden", document.addEventListener("keydown", u), kn.push(t), jn(), i.value = !0;
|
|
2696
2720
|
}
|
|
2697
2721
|
async function p() {
|
|
2698
2722
|
let e = a.value;
|
|
2699
2723
|
if (!e || !i.value) return;
|
|
2700
|
-
let t =
|
|
2724
|
+
let t = En.get(e);
|
|
2701
2725
|
if (!t) return;
|
|
2702
|
-
|
|
2703
|
-
let n =
|
|
2704
|
-
n !== -1 &&
|
|
2726
|
+
En.delete(e), e.removeAttribute("data-cui-fullscreen"), t.parent && (t.next && t.next.parentNode === t.parent ? t.parent.insertBefore(e, t.next) : t.parent.appendChild(e)), t.wrapper.remove(), document.body.style.overflow = t.bodyOverflow, document.documentElement.style.overflow = t.htmlOverflow, document.removeEventListener("keydown", u);
|
|
2727
|
+
let n = kn.indexOf(t.wrapper);
|
|
2728
|
+
n !== -1 && kn.splice(n, 1), jn(), i.value = !1;
|
|
2705
2729
|
}
|
|
2706
2730
|
async function m() {
|
|
2707
2731
|
i.value ? await p() : await f();
|
|
@@ -2716,7 +2740,7 @@ function Mn(e, t = {}) {
|
|
|
2716
2740
|
toggle: m
|
|
2717
2741
|
};
|
|
2718
2742
|
}
|
|
2719
|
-
function
|
|
2743
|
+
function Pn(e, t) {
|
|
2720
2744
|
let n = {
|
|
2721
2745
|
position: "fixed",
|
|
2722
2746
|
top: "0",
|
|
@@ -2745,18 +2769,18 @@ function Nn(e, t) {
|
|
|
2745
2769
|
overscrollBehavior: "contain"
|
|
2746
2770
|
});
|
|
2747
2771
|
}
|
|
2748
|
-
var
|
|
2749
|
-
function
|
|
2772
|
+
var Fn = 75, In = 500, Ln = 0, Rn = 0;
|
|
2773
|
+
function zn() {
|
|
2750
2774
|
let e = performance.now();
|
|
2751
|
-
e -
|
|
2752
|
-
let t =
|
|
2753
|
-
return
|
|
2775
|
+
e - Rn > In && (Ln = 0);
|
|
2776
|
+
let t = Ln * Fn;
|
|
2777
|
+
return Ln++, Rn = e, t;
|
|
2754
2778
|
}
|
|
2755
|
-
function
|
|
2779
|
+
function Bn(e) {
|
|
2756
2780
|
return !e || !e.isConnected ? !1 : e.checkVisibility?.() ?? e.offsetParent !== null;
|
|
2757
2781
|
}
|
|
2758
|
-
function
|
|
2759
|
-
let { activityConfig: r, autoStart: i = !0, isolated: a = !1 } = e, u = a, f, p = () => n(i), m = e.startDelay ??
|
|
2782
|
+
function Vn(e) {
|
|
2783
|
+
let { activityConfig: r, autoStart: i = !0, isolated: a = !1 } = e, u = a, f, p = () => n(i), m = e.startDelay ?? zn(), h = [], { isConnected: g } = _(), v = o(() => n(e.camera)), y = o(() => typeof v.value == "string"), b = o(() => {
|
|
2760
2784
|
let e = v.value;
|
|
2761
2785
|
return typeof e == "string" ? e : e.name.value;
|
|
2762
2786
|
}), { camera: x, isLoading: S } = fe(o(() => y.value ? b.value : "")), C = o(() => y.value && S.value), w = o(() => y.value ? x.value : v.value), T, E, D, O = c(), ee = c(), k = c(), A = c(), j = c(), M = c(), N = l(!1), P = l(!1), F = l(!1), te = l(0), ne = l(0), re = l(!1), I = l(m <= 0);
|
|
@@ -2765,7 +2789,7 @@ function Bn(e) {
|
|
|
2765
2789
|
}, m)), s(w, (e) => {
|
|
2766
2790
|
M.value = e;
|
|
2767
2791
|
}, { immediate: !0 });
|
|
2768
|
-
let L = o(() => M.value?.disabled.value === !0), R = o(() => j.value?.status.value ?? "idle"), z = o(() => j.value?.isPlaying.value ?? !1), ie = o(() => j.value?.activeMode.value ?? "webrtc"), ae = o(() => j.value?.activeResolution.value ?? "low-resolution"), oe = o(() => j.value?.degradedFrom.value ?? null), se = o(() => R.value === "unsupported"), B = o(() => j.value?.hasAudio.value ?? !1), V = o(() => j.value?.hasBackchannel.value ?? !1), ce = o(() => j.value?.error.value), le = o(() => R.value === "reconnecting"), ue = o(() => C.value || !z.value && R.value !== "error" && R.value !== "unsupported"), de = o(() => B.value && R.value === "connected"), pe = o(() => !!(typeof navigator < "u" && navigator.mediaDevices) && V.value), me = o(() => j.value?.muted.value ?? !0), H = o(() => j.value?.paused.value ?? !1), he = o(() => typeof document < "u" && document.pictureInPictureEnabled && !!k.value), ge = o(() => k.value), _e = o(() => ee.value ?? O.value), U =
|
|
2792
|
+
let L = o(() => M.value?.disabled.value === !0), R = o(() => j.value?.status.value ?? "idle"), z = o(() => j.value?.isPlaying.value ?? !1), ie = o(() => j.value?.activeMode.value ?? "webrtc"), ae = o(() => j.value?.activeResolution.value ?? "low-resolution"), oe = o(() => j.value?.degradedFrom.value ?? null), se = o(() => R.value === "unsupported"), B = o(() => j.value?.hasAudio.value ?? !1), V = o(() => j.value?.hasBackchannel.value ?? !1), ce = o(() => j.value?.error.value), le = o(() => R.value === "reconnecting"), ue = o(() => C.value || !z.value && R.value !== "error" && R.value !== "unsupported"), de = o(() => B.value && R.value === "connected"), pe = o(() => !!(typeof navigator < "u" && navigator.mediaDevices) && V.value), me = o(() => j.value?.muted.value ?? !0), H = o(() => j.value?.paused.value ?? !1), he = o(() => typeof document < "u" && document.pictureInPictureEnabled && !!k.value), ge = o(() => k.value), _e = o(() => ee.value ?? O.value), U = Lt({
|
|
2769
2793
|
initialMode: n(e.activityMode) ?? "always-on",
|
|
2770
2794
|
config: r,
|
|
2771
2795
|
onStreamStart: () => {
|
|
@@ -2779,9 +2803,9 @@ function Bn(e) {
|
|
|
2779
2803
|
j.value?.stop();
|
|
2780
2804
|
},
|
|
2781
2805
|
isStreamPlaying: () => z.value
|
|
2782
|
-
}), { isFullscreen: ve, toggle: ye } =
|
|
2806
|
+
}), { isFullscreen: ve, toggle: ye } = Nn(_e);
|
|
2783
2807
|
function be() {
|
|
2784
|
-
return E =
|
|
2808
|
+
return E = Cn({
|
|
2785
2809
|
camera: M,
|
|
2786
2810
|
videoElement: A,
|
|
2787
2811
|
containerElement: O,
|
|
@@ -2801,7 +2825,7 @@ function Bn(e) {
|
|
|
2801
2825
|
function Ce() {
|
|
2802
2826
|
if (u) return;
|
|
2803
2827
|
let e = O.value, t = k.value;
|
|
2804
|
-
if (!e || !t || t.parentElement === e || !
|
|
2828
|
+
if (!e || !t || t.parentElement === e || !Bn(e) || Bn(t.parentElement)) return;
|
|
2805
2829
|
Se(t, e), t.play().catch(() => {});
|
|
2806
2830
|
let n = b.value, r = n ? $.get(n) : void 0;
|
|
2807
2831
|
r && (r.containerElementRef = O);
|
|
@@ -2831,11 +2855,11 @@ function Bn(e) {
|
|
|
2831
2855
|
let r = $.get(t);
|
|
2832
2856
|
if (r && r.refCount > 0) {
|
|
2833
2857
|
let n = r.containerElementRef.value;
|
|
2834
|
-
if (n && n !== e &&
|
|
2858
|
+
if (n && n !== e && Bn(n)) {
|
|
2835
2859
|
f || (f = setTimeout(() => {
|
|
2836
2860
|
if (f = void 0, F.value || P.value) return;
|
|
2837
2861
|
let e = $.get(t), n = e?.containerElementRef.value;
|
|
2838
|
-
e && e.refCount > 0 && n && n !== O.value &&
|
|
2862
|
+
e && e.refCount > 0 && n && n !== O.value && Bn(n) && (u = !0), G();
|
|
2839
2863
|
}, 200), h.push(() => {
|
|
2840
2864
|
f && clearTimeout(f), f = void 0;
|
|
2841
2865
|
}));
|
|
@@ -3079,7 +3103,7 @@ function Bn(e) {
|
|
|
3079
3103
|
captureScreenshot: He
|
|
3080
3104
|
};
|
|
3081
3105
|
}
|
|
3082
|
-
function
|
|
3106
|
+
function Hn() {
|
|
3083
3107
|
let e = _(), t = b.coreManagerNamespaces(), n = (e) => e.createProxy(t.coreManagerRpc);
|
|
3084
3108
|
return {
|
|
3085
3109
|
getFFmpegPath: () => C(e.rpc, (e) => n(e).getFFmpegPath()),
|
|
@@ -3088,8 +3112,8 @@ function Vn() {
|
|
|
3088
3112
|
getCloudServerId: () => C(e.rpc, (e) => n(e).getCloudServerId())
|
|
3089
3113
|
};
|
|
3090
3114
|
}
|
|
3091
|
-
var
|
|
3092
|
-
function
|
|
3115
|
+
var Un = 1500, Wn = 3e4, Gn = /* @__PURE__ */ new Map();
|
|
3116
|
+
function Kn(e) {
|
|
3093
3117
|
let t = _(), n = l({ status: "disconnected" }), r = l(null), i = null, a = (n) => C(t.rpc, async (r) => {
|
|
3094
3118
|
let i = await ut(t.rpc, e);
|
|
3095
3119
|
if (!i) throw Error(`Plugin "${e}" not found`);
|
|
@@ -3104,7 +3128,7 @@ function Gn(e) {
|
|
|
3104
3128
|
}, e);
|
|
3105
3129
|
}
|
|
3106
3130
|
return s(() => n.value.status, (e) => {
|
|
3107
|
-
c(e === "awaiting_user" || e === "polling" ?
|
|
3131
|
+
c(e === "awaiting_user" || e === "polling" ? Un : Wn);
|
|
3108
3132
|
}, { immediate: !0 }), o().catch(() => void 0), {
|
|
3109
3133
|
state: n,
|
|
3110
3134
|
metadata: r,
|
|
@@ -3112,9 +3136,9 @@ function Gn(e) {
|
|
|
3112
3136
|
refresh: o
|
|
3113
3137
|
};
|
|
3114
3138
|
}
|
|
3115
|
-
function
|
|
3116
|
-
|
|
3117
|
-
let { state: t, metadata: n, call: r, refresh: i } =
|
|
3139
|
+
function qn(e) {
|
|
3140
|
+
Gn.has(e) || Gn.set(e, Kn(e));
|
|
3141
|
+
let { state: t, metadata: n, call: r, refresh: i } = Gn.get(e);
|
|
3118
3142
|
async function a(e) {
|
|
3119
3143
|
t.value = await r((t) => t.startDeviceFlow(e));
|
|
3120
3144
|
}
|
|
@@ -3137,7 +3161,7 @@ function Kn(e) {
|
|
|
3137
3161
|
refresh: i
|
|
3138
3162
|
};
|
|
3139
3163
|
}
|
|
3140
|
-
function
|
|
3164
|
+
function Jn() {
|
|
3141
3165
|
let e = _(), { rpc: t, isConnected: n } = e, r = b.terminalManagerNamespaces(), a = c(), o = l(!1), s = l(!1), u = l(), f = l({
|
|
3142
3166
|
cols: 80,
|
|
3143
3167
|
rows: 24
|
|
@@ -3221,4 +3245,4 @@ function qn() {
|
|
|
3221
3245
|
};
|
|
3222
3246
|
}
|
|
3223
3247
|
//#endregion
|
|
3224
|
-
export { nt as A, ot as C, it as D, rt as E, Ze as F, ae as I,
|
|
3248
|
+
export { nt as A, ot as C, it as D, rt as E, Ze as F, ae as I, Yt as L, Ee as M, Tt as N, tt as O, Dt as P, Jn as R, _ as S, Nn as T, On as _, Be as a, Et as b, De as c, Pe as d, Oe as f, Ot as g, Fe as h, Ae as i, at as j, qn as k, Ne as l, Me as m, ke as n, Ie as o, Re as p, je as r, ze as s, Ft as t, Le as u, Qe as v, Hn as w, Vn as x, fe as y, Mn as z };
|