@camera.ui/server 0.0.13-alpha.7 → 0.0.13-alpha.9

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.
Files changed (76) hide show
  1. package/dist/interface/assets/{@intlify-Ck2ZoCVz.js → @intlify-YW_pt133.js} +4 -4
  2. package/dist/interface/assets/{@mdi-DdmeckA1.js → @mdi-jq8isxax.js} +1 -1
  3. package/dist/interface/assets/@vueuse-DbPVvJxZ.js +1 -0
  4. package/dist/interface/assets/{Account-DmYo08Qh.js → Account-BfQIYSY9.js} +1 -1
  5. package/dist/interface/assets/{Adminpanel-BJMS2lPd.js → Adminpanel-D-IRPo9j.js} +1 -1
  6. package/dist/interface/assets/{Appearance-DKeJKTST.js → Appearance-B6KmagNC.js} +1 -1
  7. package/dist/interface/assets/{Backup-Cxzbjmat.js → Backup-DAQ5i5CX.js} +1 -1
  8. package/dist/interface/assets/{Camera-CdiCoPuE.js → Camera-Bi6_ARja.js} +1 -1
  9. package/dist/interface/assets/{Cameras-CAdTRgyD.js → Cameras-Bnyqxi_V.js} +1 -1
  10. package/dist/interface/assets/{Camview-DQh45zxY.js → Camview-ChqbnO3e.js} +1 -1
  11. package/dist/interface/assets/{Config-BNDa6thC.js → Config-BjrMRwfT.js} +1 -1
  12. package/dist/interface/assets/Console-DWrfRWs9.css +1 -0
  13. package/dist/interface/assets/{Console-DaeLrWgn.js → Console-DvDVSn1k.js} +2 -2
  14. package/dist/interface/assets/{FirstSteps-a9MQcU4I.js → FirstSteps-Dxd9rz8L.js} +1 -1
  15. package/dist/interface/assets/{NewCamera-CQcflfB9.js → NewCamera-Cok5A6i_.js} +18 -18
  16. package/dist/interface/assets/NewCamera-DJ3tUBT_.css +1 -0
  17. package/dist/interface/assets/{Plugin-CuzMGJle.js → Plugin-BDQynqPw.js} +1 -1
  18. package/dist/interface/assets/{Plugins-Vbigmnnl.js → Plugins-BmMHP2A8.js} +1 -1
  19. package/dist/interface/assets/{Recordings-Cj7DTXms.js → Recordings-DXXeJXrx.js} +1 -1
  20. package/dist/interface/assets/{Recordings-OwkmcBiG.js → Recordings-ZTql-w8N.js} +1 -1
  21. package/dist/interface/assets/{Settings-DtuxhxkK.js → Settings-B9yGAOhD.js} +1 -1
  22. package/dist/interface/assets/System-1z5qZSaJ.js +4 -0
  23. package/dist/interface/assets/{User-DtIcGUsp.js → User-8xO4LUlf.js} +1 -1
  24. package/dist/interface/assets/{VConfigEditor.vue_vue_type_script_setup_true_lang-NvLEB-vb.js → VConfigEditor.vue_vue_type_script_setup_true_lang-DDxLGgGL.js} +1 -1
  25. package/dist/interface/assets/{VConsole-CZymGHU4.js → VConsole-D85lNxwk.js} +1 -1
  26. package/dist/interface/assets/VPlayer-B53-f3Ad.js +1 -0
  27. package/dist/interface/assets/{VPlayer-4vWU8KqJ.css → VPlayer-H4sGdlHU.css} +1 -1
  28. package/dist/interface/assets/VPluginCard--4QV9IM6.css +1 -0
  29. package/dist/interface/assets/VPluginCard-Cl6Zw1Dg.js +4 -0
  30. package/dist/interface/assets/main-C2N2tbw_.js +9 -0
  31. package/dist/interface/assets/main-CKofdZVi.css +1 -0
  32. package/dist/interface/assets/{plugins-X26db0mJ.js → plugins-Cs7BJHj-.js} +1 -1
  33. package/dist/interface/assets/rxjs-DmqiRszP.js +3 -0
  34. package/dist/interface/assets/{system-CjiOVZ9H.js → system-C1OmXhti.js} +1 -1
  35. package/dist/interface/assets/{ui-DNIEL7pW.js → ui-CdiPlYMM.js} +1 -1
  36. package/dist/interface/assets/{vue-i18n-Cyk5bTcs.js → vue-i18n-CHUfunSC.js} +3 -3
  37. package/dist/interface/index.html +7 -7
  38. package/dist/interface/sw.js +1 -1
  39. package/dist/server/package.json +4 -4
  40. package/dist/server/src/api/controllers/plugins.controller.d.ts +1 -0
  41. package/dist/server/src/api/controllers/plugins.controller.js +6 -0
  42. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  43. package/dist/server/src/api/schemas/cameras.schema.d.ts +5 -4
  44. package/dist/server/src/api/schemas/cameras.schema.js +44 -2
  45. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  46. package/dist/server/src/api/websocket/index.js +5 -5
  47. package/dist/server/src/api/websocket/index.js.map +1 -1
  48. package/dist/server/src/api/websocket/nsp/main.d.ts +7 -0
  49. package/dist/server/src/api/websocket/nsp/main.js +8 -0
  50. package/dist/server/src/api/websocket/nsp/main.js.map +1 -0
  51. package/dist/server/src/api/websocket/nsp/notifications.d.ts +5 -4
  52. package/dist/server/src/api/websocket/nsp/notifications.js +7 -12
  53. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  54. package/dist/server/src/api/websocket/nsp/server.d.ts +14 -2
  55. package/dist/server/src/api/websocket/nsp/server.js +100 -6
  56. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  57. package/dist/server/src/api/websocket/types.d.ts +1 -1
  58. package/dist/server/src/camera/streaming/peer-connection.js +1 -0
  59. package/dist/server/src/camera/streaming/peer-connection.js.map +1 -1
  60. package/dist/server/src/services/logger/index.d.ts +2 -3
  61. package/dist/server/src/services/logger/index.js +23 -73
  62. package/dist/server/src/services/logger/index.js.map +1 -1
  63. package/package.json +4 -4
  64. package/dist/interface/assets/@vueuse-GPEsefjJ.js +0 -1
  65. package/dist/interface/assets/Console-DJq4Hm5A.css +0 -1
  66. package/dist/interface/assets/NewCamera-C7naTyF1.css +0 -1
  67. package/dist/interface/assets/System-DA2Qigu6.js +0 -4
  68. package/dist/interface/assets/VPlayer-D_SuxyEf.js +0 -1
  69. package/dist/interface/assets/VPluginCard-B7FNMmgt.css +0 -1
  70. package/dist/interface/assets/VPluginCard-BVeId9fp.js +0 -4
  71. package/dist/interface/assets/main-BvNHUtMy.css +0 -1
  72. package/dist/interface/assets/main-f-Qd4R5M.js +0 -9
  73. package/dist/interface/assets/rxjs-CQrF441D.js +0 -3
  74. package/dist/server/src/api/websocket/nsp/frameWorker.d.ts +0 -13
  75. package/dist/server/src/api/websocket/nsp/frameWorker.js +0 -29
  76. package/dist/server/src/api/websocket/nsp/frameWorker.js.map +0 -1
@@ -1,22 +1,45 @@
1
1
  import { compareVersions } from 'compare-versions';
2
2
  import { exec } from 'node:child_process';
3
+ import { gt, parse } from 'semver';
3
4
  import { container } from 'tsyringe';
4
5
  import { promisify } from 'util';
5
6
  import { ConfigService } from '../../../services/config/index.js';
6
7
  import { getNpmPath } from '../../../utils/npm.js';
8
+ import { PluginsService } from '../../services/plugins.service.js';
9
+ import fetchInstance from '../../utils/fetch.js';
7
10
  const execAsync = promisify(exec);
8
11
  export class ServerNamespace {
9
12
  nsp;
10
- nspName = '/camera.ui';
13
+ nspName = '/server';
11
14
  logger;
15
+ pluginsService;
16
+ serverUpdate;
17
+ pluginUpdates = [];
12
18
  constructor(io) {
13
19
  this.logger = container.resolve('logger');
20
+ this.pluginsService = new PluginsService();
14
21
  this.nsp = io.of(this.nspName);
15
22
  this.nsp.on('connection', (socket) => {
16
- socket.on('get-updates', () => this.checkUpdate(socket));
23
+ socket.on('get-updates', this.getUpdates.bind(this));
17
24
  });
25
+ setInterval(() => {
26
+ this.checkUpdate();
27
+ }, 60000);
28
+ this.checkUpdate();
18
29
  }
19
- async checkUpdate(socket) {
30
+ getUpdates(payload, callback) {
31
+ const data = {
32
+ server: this.serverUpdate,
33
+ plugins: this.pluginUpdates,
34
+ };
35
+ callback?.(data);
36
+ return data;
37
+ }
38
+ async checkUpdate() {
39
+ await Promise.allSettled([this.checkServerUpdate(), this.checkPluginUpdates()]);
40
+ this.nsp.emit('updates', this.getUpdates({}));
41
+ }
42
+ async checkServerUpdate() {
20
43
  try {
21
44
  // TODO: Change on release
22
45
  const { stdout, stderr } = await execAsync(`${getNpmPath().join(' ')} view @camera.ui/server versions dist-tags --json`);
@@ -25,15 +48,86 @@ export class ServerNamespace {
25
48
  }
26
49
  const data = JSON.parse(stdout);
27
50
  const currentVersion = ConfigService.VERSION;
28
- const latestVersion = data.versions[data.versions.length - 1];
29
- const updateAvailable = compareVersions(latestVersion, currentVersion) === 1;
51
+ const latestVersion = data['dist-tags'].latest;
52
+ const latestAlpha = data['dist-tags'].alpha;
53
+ const updateAvailableLatest = compareVersions(latestVersion, currentVersion) === 1;
54
+ const updateAvailableAlpha = compareVersions(latestAlpha, currentVersion) === 1;
55
+ const updateAvailable = updateAvailableLatest ? latestVersion : updateAvailableAlpha ? latestAlpha : undefined;
56
+ this.serverUpdate = {
57
+ updateAvailable: updateAvailableLatest,
58
+ betaUpdateAvailable: updateAvailableAlpha,
59
+ latestVersion: updateAvailable,
60
+ };
30
61
  if (updateAvailable) {
31
- this.logger.notify('Update', `New update available v${latestVersion}`, 'info', '/settings/system', socket);
62
+ this.logger.notify('Update', 'New update available', 'info', '/settings/system');
63
+ }
64
+ }
65
+ catch {
66
+ //
67
+ }
68
+ }
69
+ async checkPluginUpdates() {
70
+ try {
71
+ const plugins = this.pluginsService.listPlugins();
72
+ const pluginStates = [];
73
+ for (const plugin of plugins) {
74
+ const pluginState = await this.getPluginFromNpm(plugin.info);
75
+ if (pluginState.updateAvailable || pluginState.betaUpdateAvailable) {
76
+ pluginStates.push(pluginState);
77
+ }
78
+ }
79
+ this.pluginUpdates = pluginStates;
80
+ if (pluginStates.length > 0) {
81
+ this.logger.notify('Plugin Update', 'New plugin updates available', 'info', '/plugins');
32
82
  }
33
83
  }
34
84
  catch {
35
85
  //
36
86
  }
37
87
  }
88
+ async getPluginFromNpm(plugin) {
89
+ const pluginState = {
90
+ updateAvailable: false,
91
+ betaUpdateAvailable: false,
92
+ };
93
+ try {
94
+ const response = await fetchInstance(`https://registry.npmjs.org/${encodeURIComponent(plugin.pluginName).replace(/%40/g, '@')}/latest`, {
95
+ method: 'GET',
96
+ });
97
+ const pkg = (await response.json());
98
+ pluginState.latestVersion = pkg.version;
99
+ pluginState.updateAvailable = gt(pkg.version, plugin.installedVersion);
100
+ // check for beta updates, if no latest version is available
101
+ if (!pluginState.updateAvailable) {
102
+ const pluginVersion = parse(plugin.installedVersion);
103
+ if (pluginVersion?.prerelease[0] === 'beta' && gt(plugin.installedVersion, pluginState.latestVersion || '0.0.1')) {
104
+ const versions = await this.getAvailablePluginVersions(plugin.pluginName);
105
+ if (versions.tags.beta && gt(versions.tags.beta, plugin.installedVersion)) {
106
+ pluginState.betaUpdateAvailable = true;
107
+ pluginState.latestVersion = versions.tags.beta;
108
+ }
109
+ }
110
+ }
111
+ }
112
+ catch {
113
+ pluginState.latestVersion = undefined;
114
+ pluginState.updateAvailable = false;
115
+ pluginState.betaUpdateAvailable = false;
116
+ }
117
+ return pluginState;
118
+ }
119
+ async getAvailablePluginVersions(pluginName) {
120
+ const response = await fetchInstance(`https://registry.npmjs.org/${encodeURIComponent(pluginName).replace(/%40/g, '@')}`, {
121
+ method: 'GET',
122
+ headers: {
123
+ accept: 'application/vnd.npm.install-v1+json', // only return minimal information
124
+ },
125
+ });
126
+ const pkg = (await response.json());
127
+ return {
128
+ tags: pkg['dist-tags'],
129
+ versions: Object.keys(pkg.versions).reverse(),
130
+ };
131
+ }
38
132
  }
39
133
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,OAAO,eAAe;IACnB,GAAG,CAAY;IACf,OAAO,GAAc,YAAY,CAAC;IAEjC,MAAM,CAAS;IAEvB,YAAY,EAAU;QACpB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAS,QAAQ,CAAC,CAAC;QAElD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;YAC3C,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAAe;QACtC,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YAEzH,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAA2E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExG,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC;YAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9D,MAAM,eAAe,GAAG,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;YAE7E,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,yBAAyB,aAAa,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;YAC7G,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,EAAE;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/server.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { Namespace } from 'socket.io';
2
2
  import type { PLUGIN_STATUS } from '../../plugins/types.js';
3
3
  import type { RuntimeInfo } from '../../services/config/types.js';
4
- export type SocketNsp = '/camera.ui' | '/metrics' | '/logs' | '/status' | '/notifications' | '/plugins' | '/proxy' | '/frame' | '/frameWorker';
4
+ export type SocketNsp = '/camera.ui' | '/metrics' | '/logs' | '/status' | '/notifications' | '/plugins' | '/proxy' | '/server';
5
5
  export interface SocketNspMap {
6
6
  nsp: Namespace;
7
7
  [key: string]: any;
@@ -144,6 +144,7 @@ export class WeriftPeerConnection extends Subscribed {
144
144
  ],
145
145
  },
146
146
  iceServers: convertIceServers(iceServers),
147
+ bundlePolicy: 'max-bundle',
147
148
  });
148
149
  }
149
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"peer-connection.js","sourceRoot":"","sources":["../../../../../src/camera/streaming/peer-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer-connection.js","sourceRoot":"","sources":["../../../../../src/camera/streaming/peer-connection.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import 'reflect-metadata';
2
- import type { Socket } from 'socket.io';
3
2
  import type { UiNotification } from '../../api/types/index.js';
4
3
  import type { LoggingLevel } from '../config/types.js';
5
4
  export declare class Logger {
@@ -16,9 +15,9 @@ export declare class Logger {
16
15
  attention(...args: any[]): void;
17
16
  debug(...args: any[]): void;
18
17
  trace(...args: any[]): void;
19
- notify(title: string, text: string, type: LoggingLevel, link: string, socket?: Socket): Promise<void>;
18
+ notify(title: string, text: string, type: LoggingLevel, link: string): Promise<void>;
20
19
  formatMessage(level: 'log' | 'warn' | 'error' | 'debug' | 'trace' | 'attention', ...args: any[]): string[];
21
- private setNotification;
22
20
  private formattedArgs;
23
21
  private formatDateTime;
22
+ private checkIfNotificationExists;
24
23
  }
@@ -1,18 +1,8 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
1
  import 'reflect-metadata';
11
2
  import { bgDarkGray, bgMagenta, bgRed, bgYellow, blue, darkGray, magenta, red, white, yellow } from 'ansicolor';
12
- import { container, delay, registry } from 'tsyringe';
3
+ import { container } from 'tsyringe';
13
4
  import { v4 as uuidv4 } from 'uuid';
14
- import { SocketService } from '../../api/websocket/index.js';
15
- let Logger = class Logger {
5
+ export class Logger {
16
6
  _loggerPrefix = 'camera.ui';
17
7
  debugEnabled = false;
18
8
  traceEnabled = false;
@@ -34,23 +24,9 @@ let Logger = class Logger {
34
24
  }
35
25
  error(...args) {
36
26
  console.log(...this.formatMessage('error', ...args));
37
- // if (this.notifications.length > 100) {
38
- // this.notifications.pop();
39
- // }
40
- // const notification = this.setNotification('error', ...args);
41
- // this.notifications.unshift(notification);
42
- // const socketService = container.resolve<SocketService>('socketService');
43
- // socketService.io?.of?.('/notifications').emit('notifications', notification);
44
27
  }
45
28
  warn(...args) {
46
29
  console.log(...this.formatMessage('warn', ...args));
47
- // if (this.notifications.length > 100) {
48
- // this.notifications.pop();
49
- // }
50
- // const notification = this.setNotification('warn', ...args);
51
- // this.notifications.unshift(notification);
52
- // const socketService = container.resolve<SocketService>('socketService');
53
- // socketService.io?.of?.('/notifications').emit('notifications', notification);
54
30
  }
55
31
  attention(...args) {
56
32
  console.log(...this.formatMessage('attention', ...args));
@@ -65,33 +41,25 @@ let Logger = class Logger {
65
41
  console.log(...this.formatMessage('trace', ...args));
66
42
  }
67
43
  }
68
- async notify(title, text, type, link, socket) {
44
+ async notify(title, text, type, link) {
45
+ if (this.checkIfNotificationExists(title, text)) {
46
+ return;
47
+ }
69
48
  const socketService = container.resolve('socketService');
70
- // @ts-ignore
71
- if (socketService.io?.of) {
72
- const notification = {
73
- _id: uuidv4(),
74
- title,
75
- text,
76
- type,
77
- timestamp: Date.now(),
78
- link,
79
- };
80
- this.debug('New notification', JSON.stringify(notification));
81
- // push notification to every use on /notifications nsp
82
- if (socket) {
83
- const sockets = await socketService.io.of('/notifications').fetchSockets();
84
- for (const _socket of sockets) {
85
- // @ts-ignore
86
- if (_socket.encodedToken === socket.encodedToken) {
87
- _socket.emit('notifications', notification);
88
- }
89
- }
90
- }
91
- else {
92
- socketService.io.of('/notifications').emit('notifications', notification);
93
- }
49
+ const notification = {
50
+ _id: uuidv4(),
51
+ title,
52
+ text,
53
+ type,
54
+ timestamp: Date.now(),
55
+ link,
56
+ };
57
+ if (this.notifications.length > 100) {
58
+ this.notifications.pop();
94
59
  }
60
+ this.notifications.unshift(notification);
61
+ this.debug('New notification', JSON.stringify(notification));
62
+ socketService.io.of('/notifications').emit('notifications', this.notifications);
95
63
  }
96
64
  formatMessage(level, ...args) {
97
65
  switch (level) {
@@ -109,17 +77,6 @@ let Logger = class Logger {
109
77
  return [this.prefix, ...this.formattedArgs(...args)];
110
78
  }
111
79
  }
112
- setNotification(type, ...args) {
113
- const title = args[1] || 'Notification';
114
- const text = typeof args[0] === 'object' ? JSON.stringify(args[0]) : args[0];
115
- return {
116
- _id: uuidv4(),
117
- title: title,
118
- text: text,
119
- type: type,
120
- timestamp: Date.now(),
121
- };
122
- }
123
80
  formattedArgs(...args) {
124
81
  return args.map((arg) => {
125
82
  if (arg instanceof Error) {
@@ -150,15 +107,8 @@ let Logger = class Logger {
150
107
  const seconds = date.getSeconds().toString().padStart(2, '0');
151
108
  return `${day}.${month}.${year}, ${hours}:${minutes}:${seconds}`;
152
109
  }
153
- };
154
- Logger = __decorate([
155
- registry([
156
- {
157
- token: 'socketService',
158
- useValue: delay(() => SocketService),
159
- },
160
- ]),
161
- __metadata("design:paramtypes", [])
162
- ], Logger);
163
- export { Logger };
110
+ checkIfNotificationExists(title, text) {
111
+ return this.notifications.some((notification) => notification.title === title && notification.text === text);
112
+ }
113
+ }
164
114
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/logger/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/logger/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/server",
3
- "version": "0.0.13-alpha.7",
3
+ "version": "0.0.13-alpha.9",
4
4
  "description": "camera.ui",
5
5
  "author": "seydx (https://github.com/seydx/camera.ui)",
6
6
  "bin": {
@@ -31,7 +31,7 @@
31
31
  "dependencies": {
32
32
  "@assemblyscript/loader": "^0.27.29",
33
33
  "@bjia56/portable-python": "^0.1.74",
34
- "@camera.ui/go2rtc": "^0.0.22",
34
+ "@camera.ui/go2rtc": "^0.0.21",
35
35
  "@camera.ui/nats": "^0.0.10",
36
36
  "@fastify/cors": "^9.0.1",
37
37
  "@fastify/formbody": "^7.4.0",
@@ -65,7 +65,7 @@
65
65
  "rxjs": "^7.8.1",
66
66
  "safe-timers": "^1.1.0",
67
67
  "semver": "^7.6.3",
68
- "sharp": "^0.33.4",
68
+ "sharp": "^0.33.5",
69
69
  "socket.io": "^4.7.5",
70
70
  "systeminformation": "^5.23.4",
71
71
  "tail": "^2.2.6",
@@ -83,7 +83,7 @@
83
83
  "@types/fs-extra": "^11.0.4",
84
84
  "@types/js-yaml": "^4.0.9",
85
85
  "@types/jsonwebtoken": "^9.0.6",
86
- "@types/node": "^22.3.0",
86
+ "@types/node": "^22.4.0",
87
87
  "@types/node-forge": "^1.3.11",
88
88
  "@types/object-path": "^0.11.4",
89
89
  "@types/safe-timers": "^1.1.2",
@@ -1 +0,0 @@
1
- import{s as me,x as pe,y as he,z as we,o as Ae,A as Le,i as ne,u as Fe,B as Pe,d as ge,r as h,c as k,C as ye,w as C,D as oe,b as K,E as re,F as ie}from"./@vue-CIFymae3.js";import{n as Y}from"./nprogress-QK5AFhFr.js";function N(e){return we()?(Ae(e),!0):!1}function Mt(e){let n=0,t,o;const s=()=>{n-=1,o&&n<=0&&(o.stop(),t=void 0,o=void 0)};return(...r)=>(n+=1,t||(o=Le(!0),t=o.run(()=>e(...r))),N(s),t)}function He(e,n,{enumerable:t=!1,unwrap:o=!0}={}){for(const[s,r]of Object.entries(n))s!=="value"&&(ne(r)&&o?Object.defineProperty(e,s,{get(){return r.value},set(a){r.value=a},enumerable:t}):Object.defineProperty(e,s,{value:r,enumerable:t}));return e}function We(e,n){if(typeof Symbol<"u"){const t={...e};return Object.defineProperty(t,Symbol.iterator,{enumerable:!1,value(){let o=0;return{next:()=>({value:n[o++],done:o>n.length})}}}),t}else return Object.assign([...n],e)}function O(e){return typeof e=="function"?e():Fe(e)}const q=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ce=e=>e!=null,Re=Object.prototype.toString,Se=e=>Re.call(e)==="[object Object]",W=()=>{},V=Ye();function Ye(){var e,n;return q&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((n=window==null?void 0:window.navigator)==null?void 0:n.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function le(e,n){function t(...o){return new Promise((s,r)=>{Promise.resolve(e(()=>n.apply(this,o),{fn:n,thisArg:this,args:o})).then(s).catch(r)})}return t}const be=e=>e();function Ne(e,n={}){let t,o,s=W;const r=l=>{clearTimeout(l),s(),s=W};return l=>{const u=O(e),i=O(n.maxWait);return t&&r(t),u<=0||i!==void 0&&i<=0?(o&&(r(o),o=null),Promise.resolve(l())):new Promise((v,d)=>{s=n.rejectOnCancel?d:v,i&&!o&&(o=setTimeout(()=>{t&&r(t),o=null,v(l())},i)),t=setTimeout(()=>{o&&r(o),o=null,v(l())},u)})}}function ze(...e){let n=0,t,o=!0,s=W,r,a,l,u,i;!ne(e[0])&&typeof e[0]=="object"?{delay:a,trailing:l=!0,leading:u=!0,rejectOnCancel:i=!1}=e[0]:[a,l=!0,u=!0,i=!1]=e;const v=()=>{t&&(clearTimeout(t),t=void 0,s(),s=W)};return c=>{const f=O(a),p=Date.now()-n,w=()=>r=c();return v(),f<=0?(n=Date.now(),w()):(p>f&&(u||!o)?(n=Date.now(),w()):l&&(r=new Promise((S,m)=>{s=i?m:S,t=setTimeout(()=>{n=Date.now(),o=!0,S(w()),v()},Math.max(0,f-p))})),!u&&!t&&(t=setTimeout(()=>o=!0,f)),o=!1,r)}}function Ie(e=be){const n=h(!0);function t(){n.value=!1}function o(){n.value=!0}const s=(...r)=>{n.value&&e(...r)};return{isActive:ge(n),pause:t,resume:o,eventFilter:s}}const Ee={mounted:"mounted",updated:"updated",unmounted:"unmounted"};function Xe(e){const n=Object.create(null);return t=>n[t]||(n[t]=e(t))}const $e=/-(\w)/g,je=Xe(e=>e.replace($e,(n,t)=>t?t.toUpperCase():""));function Be(e){return ye()}function De(...e){if(e.length!==1)return Pe(...e);const n=e[0];return typeof n=="function"?ge(me(()=>({get:n,set:W}))):h(n)}function Ve(e,n=200,t={}){return le(Ne(n,t),e)}function qe(e,n=200,t=!1,o=!0,s=!1){return le(ze(n,t,o,s),e)}function xt(e,n={}){let t=e,o,s;const r=me((c,f)=>(o=c,s=f,{get(){return a()},set(p){l(p)}}));function a(c=!0){return c&&o(),t}function l(c,f=!0){var p,w;if(c===t)return;const S=t;((p=n.onBeforeChange)==null?void 0:p.call(n,c,S))!==!1&&(t=c,(w=n.onChanged)==null||w.call(n,c,S),f&&s())}return He(r,{get:a,set:l,untrackedGet:()=>a(!1),silentSet:c=>l(c,!1),peek:()=>a(!1),lay:c=>l(c,!1)},{enumerable:!0})}function Ue(e,n,t={}){const{eventFilter:o=be,...s}=t;return C(e,le(o,n),s)}function Ge(e,n,t={}){const{eventFilter:o,...s}=t,{eventFilter:r,pause:a,resume:l,isActive:u}=Ie(o);return{stop:Ue(e,n,{...s,eventFilter:r}),pause:a,resume:l,isActive:u}}function U(e,n=!0,t){Be()?pe(e,t):n?e():he(e)}const Je=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i,Ke=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function Qe(e,n,t,o){let s=e<12?"AM":"PM";return o&&(s=s.split("").reduce((r,a)=>r+=`${a}.`,"")),t?s.toLowerCase():s}function I(e){const n=["th","st","nd","rd"],t=e%100;return e+(n[(t-20)%10]||n[t]||n[0])}function Ze(e,n,t={}){var o;const s=e.getFullYear(),r=e.getMonth(),a=e.getDate(),l=e.getHours(),u=e.getMinutes(),i=e.getSeconds(),v=e.getMilliseconds(),d=e.getDay(),c=(o=t.customMeridiem)!=null?o:Qe,f={Yo:()=>I(s),YY:()=>String(s).slice(-2),YYYY:()=>s,M:()=>r+1,Mo:()=>I(r+1),MM:()=>`${r+1}`.padStart(2,"0"),MMM:()=>e.toLocaleDateString(t.locales,{month:"short"}),MMMM:()=>e.toLocaleDateString(t.locales,{month:"long"}),D:()=>String(a),Do:()=>I(a),DD:()=>`${a}`.padStart(2,"0"),H:()=>String(l),Ho:()=>I(l),HH:()=>`${l}`.padStart(2,"0"),h:()=>`${l%12||12}`.padStart(1,"0"),ho:()=>I(l%12||12),hh:()=>`${l%12||12}`.padStart(2,"0"),m:()=>String(u),mo:()=>I(u),mm:()=>`${u}`.padStart(2,"0"),s:()=>String(i),so:()=>I(i),ss:()=>`${i}`.padStart(2,"0"),SSS:()=>`${v}`.padStart(3,"0"),d:()=>d,dd:()=>e.toLocaleDateString(t.locales,{weekday:"narrow"}),ddd:()=>e.toLocaleDateString(t.locales,{weekday:"short"}),dddd:()=>e.toLocaleDateString(t.locales,{weekday:"long"}),A:()=>c(l,u),AA:()=>c(l,u,!1,!0),a:()=>c(l,u,!0),aa:()=>c(l,u,!0,!0)};return n.replace(Ke,(p,w)=>{var S,m;return(m=w??((S=f[p])==null?void 0:S.call(f)))!=null?m:p})}function et(e){if(e===null)return new Date(Number.NaN);if(e===void 0)return new Date;if(e instanceof Date)return new Date(e);if(typeof e=="string"&&!/Z$/i.test(e)){const n=e.match(Je);if(n){const t=n[2]-1||0,o=(n[7]||"0").substring(0,3);return new Date(n[1],t,n[3]||1,n[4]||0,n[5]||0,n[6]||0,o)}}return new Date(e)}function Ot(e,n="HH:mm:ss",t={}){return k(()=>Ze(et(O(e)),O(n),t))}function Tt(e,n,t){let o;ne(t)?o={evaluating:t}:o=t||{};const{lazy:s=!1,evaluating:r=void 0,shallow:a=!0,onError:l=W}=o,u=h(!s),i=a?oe(n):h(n);let v=0;return re(async d=>{if(!u.value)return;v++;const c=v;let f=!1;r&&Promise.resolve().then(()=>{r.value=!0});try{const p=await e(w=>{d(()=>{r&&(r.value=!1),f||w()})});c===v&&(i.value=p)}catch(p){l(p)}finally{r&&c===v&&(r.value=!1),f=!0}}),s?k(()=>(u.value=!0,i.value)):i}function kt(e={}){const{inheritAttrs:n=!0}=e,t=oe(),o=ie({setup(r,{slots:a}){return()=>{t.value=a.default}}}),s=ie({inheritAttrs:n,setup(r,{attrs:a,slots:l}){return()=>{var u;t.value;const i=(u=t.value)==null?void 0:u.call(t,{...tt(a),$slots:l});return n&&(i==null?void 0:i.length)===1?i[0]:i}}});return We({define:o,reuse:s},[o,s])}function tt(e){const n={};for(const t in e)n[je(t)]=e[t];return n}function L(e){var n;const t=O(e);return(n=t==null?void 0:t.$el)!=null?n:t}const F=q?window:void 0,_e=q?window.document:void 0;function D(...e){let n,t,o,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([t,o,s]=e,n=F):[n,t,o,s]=e,!n)return W;Array.isArray(t)||(t=[t]),Array.isArray(o)||(o=[o]);const r=[],a=()=>{r.forEach(v=>v()),r.length=0},l=(v,d,c,f)=>(v.addEventListener(d,c,f),()=>v.removeEventListener(d,c,f)),u=C(()=>[L(n),O(s)],([v,d])=>{if(a(),!v)return;const c=Se(d)?{...d}:d;r.push(...t.flatMap(f=>o.map(p=>l(v,f,p,c))))},{immediate:!0,flush:"post"}),i=()=>{u(),a()};return N(i),i}let ae=!1;function At(e,n,t={}){const{window:o=F,ignore:s=[],capture:r=!0,detectIframe:a=!1}=t;if(!o)return W;V&&!ae&&(ae=!0,Array.from(o.document.body.children).forEach(c=>c.addEventListener("click",W)),o.document.documentElement.addEventListener("click",W));let l=!0;const u=c=>s.some(f=>{if(typeof f=="string")return Array.from(o.document.querySelectorAll(f)).some(p=>p===c.target||c.composedPath().includes(p));{const p=L(f);return p&&(c.target===p||c.composedPath().includes(p))}}),v=[D(o,"click",c=>{const f=L(e);if(!(!f||f===c.target||c.composedPath().includes(f))){if(c.detail===0&&(l=!u(c)),!l){l=!0;return}n(c)}},{passive:!0,capture:r}),D(o,"pointerdown",c=>{const f=L(e);l=!u(c)&&!!(f&&!c.composedPath().includes(f))},{passive:!0}),a&&D(o,"blur",c=>{setTimeout(()=>{var f;const p=L(e);((f=o.document.activeElement)==null?void 0:f.tagName)==="IFRAME"&&!(p!=null&&p.contains(o.document.activeElement))&&n(c)},0)})].filter(Boolean);return()=>v.forEach(c=>c())}function nt(e){return typeof e=="function"?e:typeof e=="string"?n=>n.key===e:Array.isArray(e)?n=>e.includes(n.key):()=>!0}function Lt(...e){let n,t,o={};e.length===3?(n=e[0],t=e[1],o=e[2]):e.length===2?typeof e[1]=="object"?(n=!0,t=e[0],o=e[1]):(n=e[0],t=e[1]):(n=!0,t=e[0]);const{target:s=F,eventName:r="keydown",passive:a=!1,dedupe:l=!1}=o,u=nt(n);return D(s,r,v=>{v.repeat&&O(l)||u(v)&&t(v)},a)}function ot(){const e=h(!1),n=ye();return n&&pe(()=>{e.value=!0},n),e}function $(e){const n=ot();return k(()=>(n.value,!!e()))}function rt(e,n,t={}){const{window:o=F,...s}=t;let r;const a=$(()=>o&&"MutationObserver"in o),l=()=>{r&&(r.disconnect(),r=void 0)},u=k(()=>{const c=O(e),f=(Array.isArray(c)?c:[c]).map(L).filter(Ce);return new Set(f)}),i=C(()=>u.value,c=>{l(),a.value&&c.size&&(r=new MutationObserver(n),c.forEach(f=>r.observe(f,s)))},{immediate:!0,flush:"post"}),v=()=>r==null?void 0:r.takeRecords(),d=()=>{l(),i()};return N(d),{isSupported:a,stop:d,takeRecords:v}}function lt(e,n={}){const{window:t=F}=n,o=$(()=>t&&"matchMedia"in t&&typeof t.matchMedia=="function");let s;const r=h(!1),a=i=>{r.value=i.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",a):s.removeListener(a))},u=re(()=>{o.value&&(l(),s=t.matchMedia(O(e)),"addEventListener"in s?s.addEventListener("change",a):s.addListener(a),r.value=s.matches)});return N(()=>{u(),l(),s=void 0}),r}const G=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},J="__vueuse_ssr_handlers__",st=ut();function ut(){return J in G||(G[J]=G[J]||{}),G[J]}function it(e,n){return st[e]||n}function at(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const ct={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},ce="vueuse-storage";function ft(e,n,t,o={}){var s;const{flush:r="pre",deep:a=!0,listenToStorageChanges:l=!0,writeDefaults:u=!0,mergeDefaults:i=!1,shallow:v,window:d=F,eventFilter:c,onError:f=y=>{console.error(y)},initOnMounted:p}=o,w=(v?oe:h)(typeof n=="function"?n():n);if(!t)try{t=it("getDefaultStorage",()=>{var y;return(y=F)==null?void 0:y.localStorage})()}catch(y){f(y)}if(!t)return w;const S=O(n),m=at(S),_=(s=o.serializer)!=null?s:ct[m],{pause:A,resume:M}=Ge(w,()=>T(w.value),{flush:r,deep:a,eventFilter:c});d&&l&&U(()=>{D(d,"storage",P),D(d,ce,E),p&&P()}),p||P();function g(y,x){d&&d.dispatchEvent(new CustomEvent(ce,{detail:{key:e,oldValue:y,newValue:x,storageArea:t}}))}function T(y){try{const x=t.getItem(e);if(y==null)g(x,null),t.removeItem(e);else{const H=_.write(y);x!==H&&(t.setItem(e,H),g(x,H))}}catch(x){f(x)}}function b(y){const x=y?y.newValue:t.getItem(e);if(x==null)return u&&S!=null&&t.setItem(e,_.write(S)),S;if(!y&&i){const H=_.read(x);return typeof i=="function"?i(H,S):m==="object"&&!Array.isArray(H)?{...S,...H}:H}else return typeof x!="string"?x:_.read(x)}function P(y){if(!(y&&y.storageArea!==t)){if(y&&y.key==null){w.value=S;return}if(!(y&&y.key!==e)){A();try{(y==null?void 0:y.newValue)!==_.write(w.value)&&(w.value=b(y))}catch(x){f(x)}finally{y?he(M):M()}}}}function E(y){P(y.detail)}return w}function Ft(e={}){const{document:n=_e}=e;if(!n)return h("visible");const t=h(n.visibilityState);return D(n,"visibilitychange",()=>{t.value=n.visibilityState}),t}function Me(e,n,t={}){const{window:o=F,...s}=t;let r;const a=$(()=>o&&"ResizeObserver"in o),l=()=>{r&&(r.disconnect(),r=void 0)},u=k(()=>Array.isArray(e)?e.map(d=>L(d)):[L(e)]),i=C(u,d=>{if(l(),a.value&&o){r=new ResizeObserver(n);for(const c of d)c&&r.observe(c,s)}},{immediate:!0,flush:"post"}),v=()=>{l(),i()};return N(v),{isSupported:a,stop:v}}function Pt(e,n={}){const{reset:t=!0,windowResize:o=!0,windowScroll:s=!0,immediate:r=!0}=n,a=h(0),l=h(0),u=h(0),i=h(0),v=h(0),d=h(0),c=h(0),f=h(0);function p(){const w=L(e);if(!w){t&&(a.value=0,l.value=0,u.value=0,i.value=0,v.value=0,d.value=0,c.value=0,f.value=0);return}const S=w.getBoundingClientRect();a.value=S.height,l.value=S.bottom,u.value=S.left,i.value=S.right,v.value=S.top,d.value=S.width,c.value=S.x,f.value=S.y}return Me(e,p),C(()=>L(e),w=>!w&&p()),rt(e,p,{attributeFilter:["style","class"]}),s&&D("scroll",p,{capture:!0,passive:!0}),o&&D("resize",p,{passive:!0}),U(()=>{r&&p()}),{height:a,bottom:l,left:u,right:i,top:v,width:d,x:c,y:f,update:p}}function Ht(e,n={width:0,height:0},t={}){const{window:o=F,box:s="content-box"}=t,r=k(()=>{var d,c;return(c=(d=L(e))==null?void 0:d.namespaceURI)==null?void 0:c.includes("svg")}),a=h(n.width),l=h(n.height),{stop:u}=Me(e,([d])=>{const c=s==="border-box"?d.borderBoxSize:s==="content-box"?d.contentBoxSize:d.devicePixelContentBoxSize;if(o&&r.value){const f=L(e);if(f){const p=f.getBoundingClientRect();a.value=p.width,l.value=p.height}}else if(c){const f=Array.isArray(c)?c:[c];a.value=f.reduce((p,{inlineSize:w})=>p+w,0),l.value=f.reduce((p,{blockSize:w})=>p+w,0)}else a.value=d.contentRect.width,l.value=d.contentRect.height},t);U(()=>{const d=L(e);d&&(a.value="offsetWidth"in d?d.offsetWidth:n.width,l.value="offsetHeight"in d?d.offsetHeight:n.height)});const i=C(()=>L(e),d=>{a.value=d?n.width:0,l.value=d?n.height:0});function v(){u(),i()}return{width:a,height:l,stop:v}}const B=new Map;function Wt(e){const n=we();function t(l){var u;const i=B.get(e)||new Set;i.add(l),B.set(e,i);const v=()=>s(l);return(u=n==null?void 0:n.cleanups)==null||u.push(v),v}function o(l){function u(...i){s(u),l(...i)}return t(u)}function s(l){const u=B.get(e);u&&(u.delete(l),u.size||r())}function r(){B.delete(e)}function a(l,u){var i;(i=B.get(e))==null||i.forEach(v=>v(l,u))}return{on:t,once:o,off:s,emit:a,reset:r}}const fe=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Ct(e,n={}){const{document:t=_e,autoExit:o=!1}=n,s=k(()=>{var m;return(m=L(e))!=null?m:t==null?void 0:t.querySelector("html")}),r=h(!1),a=k(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(m=>t&&m in t||s.value&&m in s.value)),l=k(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(m=>t&&m in t||s.value&&m in s.value)),u=k(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(m=>t&&m in t||s.value&&m in s.value)),i=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(m=>t&&m in t),v=$(()=>s.value&&t&&a.value!==void 0&&l.value!==void 0&&u.value!==void 0),d=()=>i?(t==null?void 0:t[i])===s.value:!1,c=()=>{if(u.value){if(t&&t[u.value]!=null)return t[u.value];{const m=s.value;if((m==null?void 0:m[u.value])!=null)return!!m[u.value]}}return!1};async function f(){if(!(!v.value||!r.value)){if(l.value)if((t==null?void 0:t[l.value])!=null)await t[l.value]();else{const m=s.value;(m==null?void 0:m[l.value])!=null&&await m[l.value]()}r.value=!1}}async function p(){if(!v.value||r.value)return;c()&&await f();const m=s.value;a.value&&(m==null?void 0:m[a.value])!=null&&(await m[a.value](),r.value=!0)}async function w(){await(r.value?f():p())}const S=()=>{const m=c();(!m||m&&d())&&(r.value=m)};return D(t,fe,S,!1),D(()=>L(s),fe,S,!1),o&&N(f),{isSupported:v,isFullscreen:r,enter:p,exit:f,toggle:w}}const de=1;function Rt(e,n={}){const{throttle:t=0,idle:o=200,onStop:s=W,onScroll:r=W,offset:a={left:0,right:0,top:0,bottom:0},eventListenerOptions:l={capture:!1,passive:!0},behavior:u="auto",window:i=F,onError:v=b=>{console.error(b)}}=n,d=h(0),c=h(0),f=k({get(){return d.value},set(b){w(b,void 0)}}),p=k({get(){return c.value},set(b){w(void 0,b)}});function w(b,P){var E,y,x,H;if(!i)return;const R=O(e);if(!R)return;(x=R instanceof Document?i.document.body:R)==null||x.scrollTo({top:(E=O(P))!=null?E:p.value,left:(y=O(b))!=null?y:f.value,behavior:O(u)});const j=((H=R==null?void 0:R.document)==null?void 0:H.documentElement)||(R==null?void 0:R.documentElement)||R;f!=null&&(d.value=j.scrollLeft),p!=null&&(c.value=j.scrollTop)}const S=h(!1),m=K({left:!0,right:!1,top:!0,bottom:!1}),_=K({left:!1,right:!1,top:!1,bottom:!1}),A=b=>{S.value&&(S.value=!1,_.left=!1,_.right=!1,_.top=!1,_.bottom=!1,s(b))},M=Ve(A,t+o),g=b=>{var P;if(!i)return;const E=((P=b==null?void 0:b.document)==null?void 0:P.documentElement)||(b==null?void 0:b.documentElement)||L(b),{display:y,flexDirection:x}=getComputedStyle(E),H=E.scrollLeft;_.left=H<d.value,_.right=H>d.value;const R=Math.abs(H)<=(a.left||0),j=Math.abs(H)+E.clientWidth>=E.scrollWidth-(a.right||0)-de;y==="flex"&&x==="row-reverse"?(m.left=j,m.right=R):(m.left=R,m.right=j),d.value=H;let z=E.scrollTop;b===i.document&&!z&&(z=i.document.body.scrollTop),_.top=z<c.value,_.bottom=z>c.value;const se=Math.abs(z)<=(a.top||0),ue=Math.abs(z)+E.clientHeight>=E.scrollHeight-(a.bottom||0)-de;y==="flex"&&x==="column-reverse"?(m.top=ue,m.bottom=se):(m.top=se,m.bottom=ue),c.value=z},T=b=>{var P;if(!i)return;const E=(P=b.target.documentElement)!=null?P:b.target;g(E),S.value=!0,M(b),r(b)};return D(e,"scroll",t?qe(T,t,!0,!1):T,l),U(()=>{try{const b=O(e);if(!b)return;g(b)}catch(b){v(b)}}),D(e,"scrollend",A,l),{x:f,y:p,isScrolling:S,arrivedState:m,directions:_,measure(){const b=O(e);i&&b&&g(b)}}}function Q(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Yt(e,n,t={}){const{window:o=F}=t;return ft(e,n,o==null?void 0:o.localStorage,t)}const dt={page:e=>[e.pageX,e.pageY],client:e=>[e.clientX,e.clientY],screen:e=>[e.screenX,e.screenY],movement:e=>e instanceof Touch?null:[e.movementX,e.movementY]};function vt(e={}){const{type:n="page",touch:t=!0,resetOnTouchEnds:o=!1,initialValue:s={x:0,y:0},window:r=F,target:a=r,scroll:l=!0,eventFilter:u}=e;let i=null;const v=h(s.x),d=h(s.y),c=h(null),f=typeof n=="function"?n:dt[n],p=g=>{const T=f(g);i=g,T&&([v.value,d.value]=T,c.value="mouse")},w=g=>{if(g.touches.length>0){const T=f(g.touches[0]);T&&([v.value,d.value]=T,c.value="touch")}},S=()=>{if(!i||!r)return;const g=f(i);i instanceof MouseEvent&&g&&(v.value=g[0]+r.scrollX,d.value=g[1]+r.scrollY)},m=()=>{v.value=s.x,d.value=s.y},_=u?g=>u(()=>p(g),{}):g=>p(g),A=u?g=>u(()=>w(g),{}):g=>w(g),M=u?()=>u(()=>S(),{}):()=>S();if(a){const g={passive:!0};D(a,["mousemove","dragover"],_,g),t&&n!=="movement"&&(D(a,["touchstart","touchmove"],A,g),o&&D(a,"touchend",m,g)),l&&n==="page"&&D(r,"scroll",M,{passive:!0})}return{x:v,y:d,sourceType:c}}function Nt(e,n={}){const{handleOutside:t=!0,window:o=F}=n,s=n.type||"page",{x:r,y:a,sourceType:l}=vt(n),u=h(e??(o==null?void 0:o.document.body)),i=h(0),v=h(0),d=h(0),c=h(0),f=h(0),p=h(0),w=h(!0);let S=()=>{};return o&&(S=C([u,r,a],()=>{const m=L(u);if(!m)return;const{left:_,top:A,width:M,height:g}=m.getBoundingClientRect();d.value=_+(s==="page"?o.pageXOffset:0),c.value=A+(s==="page"?o.pageYOffset:0),f.value=g,p.value=M;const T=r.value-d.value,b=a.value-c.value;w.value=M===0||g===0||T<0||b<0||T>M||b>g,(t||!w.value)&&(i.value=T,v.value=b)},{immediate:!0}),D(document,"mouseleave",()=>{w.value=!0})),{x:r,y:a,sourceType:l,elementX:i,elementY:v,elementPositionX:d,elementPositionY:c,elementHeight:f,elementWidth:p,isOutside:w,stop:S}}function zt(e={}){const{touch:n=!0,drag:t=!0,capture:o=!1,initialValue:s=!1,window:r=F}=e,a=h(s),l=h(null);if(!r)return{pressed:a,sourceType:l};const u=d=>()=>{a.value=!0,l.value=d},i=()=>{a.value=!1,l.value=null},v=k(()=>L(e.target)||r);return D(v,"mousedown",u("mouse"),{passive:!0,capture:o}),D(r,"mouseleave",i,{passive:!0,capture:o}),D(r,"mouseup",i,{passive:!0,capture:o}),t&&(D(v,"dragstart",u("mouse"),{passive:!0,capture:o}),D(r,"drop",i,{passive:!0,capture:o}),D(r,"dragend",i,{passive:!0,capture:o})),n&&(D(v,"touchstart",u("touch"),{passive:!0,capture:o}),D(r,"touchend",i,{passive:!0,capture:o}),D(r,"touchcancel",i,{passive:!0,capture:o})),{pressed:a,sourceType:l}}function mt(e={}){const{window:n=F}=e,t=n==null?void 0:n.navigator,o=$(()=>t&&"connection"in t),s=h(!0),r=h(!1),a=h(void 0),l=h(void 0),u=h(void 0),i=h(void 0),v=h(void 0),d=h(void 0),c=h("unknown"),f=o.value&&t.connection;function p(){t&&(s.value=t.onLine,a.value=s.value?void 0:Date.now(),l.value=s.value?Date.now():void 0,f&&(u.value=f.downlink,i.value=f.downlinkMax,d.value=f.effectiveType,v.value=f.rtt,r.value=f.saveData,c.value=f.type))}return n&&(D(n,"offline",()=>{s.value=!1,a.value=Date.now()}),D(n,"online",()=>{s.value=!0,l.value=Date.now()})),f&&D(f,"change",p,!1),p(),{isSupported:o,isOnline:s,saveData:r,offlineAt:a,onlineAt:l,downlink:u,downlinkMax:i,effectiveType:d,rtt:v,type:c}}function It(e={}){const{isOnline:n}=mt(e);return n}function Xt(e={}){const{window:n=F}=e,t=$(()=>n&&"screen"in n&&"orientation"in n.screen),o=t.value?n.screen.orientation:{},s=h(o.type),r=h(o.angle||0);return t.value&&D(n,"orientationchange",()=>{s.value=o.type,r.value=o.angle}),{isSupported:t,orientation:s,angle:r,lockOrientation:u=>t.value&&typeof o.lock=="function"?o.lock(u):Promise.reject(new Error("Not supported")),unlockOrientation:()=>{t.value&&typeof o.unlock=="function"&&o.unlock()}}}function xe(e){const n=window.getComputedStyle(e);if(n.overflowX==="scroll"||n.overflowY==="scroll"||n.overflowX==="auto"&&e.clientWidth<e.scrollWidth||n.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const t=e.parentNode;return!t||t.tagName==="BODY"?!1:xe(t)}}function pt(e){const n=e||window.event,t=n.target;return xe(t)?!1:n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)}const Z=new WeakMap;function $t(e,n=!1){const t=h(n);let o=null,s="";C(De(e),l=>{const u=Q(O(l));if(u){const i=u;if(Z.get(i)||Z.set(i,i.style.overflow),i.style.overflow!=="hidden"&&(s=i.style.overflow),i.style.overflow==="hidden")return t.value=!0;if(t.value)return i.style.overflow="hidden"}},{immediate:!0});const r=()=>{const l=Q(O(e));!l||t.value||(V&&(o=D(l,"touchmove",u=>{pt(u)},{passive:!1})),l.style.overflow="hidden",t.value=!0)},a=()=>{const l=Q(O(e));!l||!t.value||(V&&(o==null||o()),l.style.overflow=s,Z.delete(l),t.value=!1)};return N(a),k({get(){return t.value},set(l){l?r():a()}})}function jt(e,n={}){const{threshold:t=50,onSwipe:o,onSwipeEnd:s,onSwipeStart:r,passive:a=!0,window:l=F}=n,u=K({x:0,y:0}),i=K({x:0,y:0}),v=k(()=>u.x-i.x),d=k(()=>u.y-i.y),{max:c,abs:f}=Math,p=k(()=>c(f(v.value),f(d.value))>=t),w=h(!1),S=k(()=>p.value?f(v.value)>f(d.value)?v.value>0?"left":"right":d.value>0?"up":"down":"none"),m=E=>[E.touches[0].clientX,E.touches[0].clientY],_=(E,y)=>{u.x=E,u.y=y},A=(E,y)=>{i.x=E,i.y=y};let M;const g=ht(l==null?void 0:l.document);a?M=g?{passive:!0}:{capture:!1}:M=g?{passive:!1,capture:!0}:{capture:!0};const T=E=>{w.value&&(s==null||s(E,S.value)),w.value=!1},b=[D(e,"touchstart",E=>{if(E.touches.length!==1)return;M.capture&&!M.passive&&E.preventDefault();const[y,x]=m(E);_(y,x),A(y,x),r==null||r(E)},M),D(e,"touchmove",E=>{if(E.touches.length!==1)return;const[y,x]=m(E);A(y,x),!w.value&&p.value&&(w.value=!0),w.value&&(o==null||o(E))},M),D(e,["touchend","touchcancel"],T,M)];return{isPassiveEventSupported:g,isSwiping:w,direction:S,coordsStart:u,coordsEnd:i,lengthX:v,lengthY:d,stop:()=>b.forEach(E=>E())}}function ht(e){if(!e)return!1;let n=!1;const t={get passive(){return n=!0,!1}};return e.addEventListener("x",W,t),e.removeEventListener("x",W),n}function Bt(e={}){const{window:n=F,behavior:t="auto"}=e;if(!n)return{x:h(0),y:h(0)};const o=h(n.scrollX),s=h(n.scrollY),r=k({get(){return o.value},set(l){scrollTo({left:l,behavior:t})}}),a=k({get(){return s.value},set(l){scrollTo({top:l,behavior:t})}});return D(n,"scroll",()=>{o.value=n.scrollX,s.value=n.scrollY},{capture:!1,passive:!0}),{x:r,y:a}}function Vt(e={}){const{window:n=F,initialWidth:t=Number.POSITIVE_INFINITY,initialHeight:o=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:r=!0}=e,a=h(t),l=h(o),u=()=>{n&&(r?(a.value=n.innerWidth,l.value=n.innerHeight):(a.value=n.document.documentElement.clientWidth,l.value=n.document.documentElement.clientHeight))};if(u(),U(u),D("resize",u,{passive:!0}),s){const i=lt("(orientation: portrait)");C(i,()=>u())}return{width:a,height:l}}function qt(e=null,n){const t=h(e),o=k({set:r=>r?Y.start():Y.done(),get:()=>typeof t.value=="number"&&t.value<1});n&&Y.configure(n);const s=Y.set;return Y.set=r=>(t.value=r,s.call(Y,r)),re(()=>{typeof t.value=="number"&&q&&s.call(Y,t.value)}),N(Y.remove),{isLoading:o,progress:t,start:Y.start,done:Y.done,remove:()=>{t.value=null,Y.remove()}}}function Oe(e){var n;const t=O(e);return(n=t==null?void 0:t.$el)!=null?n:t}const Te=q?window:void 0;function X(...e){let n,t,o,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([t,o,s]=e,n=Te):[n,t,o,s]=e,!n)return W;Array.isArray(t)||(t=[t]),Array.isArray(o)||(o=[o]);const r=[],a=()=>{r.forEach(v=>v()),r.length=0},l=(v,d,c,f)=>(v.addEventListener(d,c,f),()=>v.removeEventListener(d,c,f)),u=C(()=>[Oe(n),O(s)],([v,d])=>{if(a(),!v)return;const c=Se(d)?{...d}:d;r.push(...t.flatMap(f=>o.map(p=>l(v,f,p,c))))},{immediate:!0,flush:"post"}),i=()=>{u(),a()};return N(i),i}const wt=500,gt=10;function ve(e,n,t){var o,s;const r=k(()=>Oe(e));let a,l,u,i=!1;function v(){a&&(clearTimeout(a),a=void 0),l=void 0,u=void 0,i=!1}function d(m){var _,A,M;const[g,T,b]=[u,l,i];if(v(),!(t!=null&&t.onMouseUp)||!T||!g||(_=t==null?void 0:t.modifiers)!=null&&_.self&&m.target!==r.value)return;(A=t==null?void 0:t.modifiers)!=null&&A.prevent&&m.preventDefault(),(M=t==null?void 0:t.modifiers)!=null&&M.stop&&m.stopPropagation();const P=m.x-T.x,E=m.y-T.y,y=Math.sqrt(P*P+E*E);t.onMouseUp(m.timeStamp-g,y,b)}function c(m){var _,A,M,g;(_=t==null?void 0:t.modifiers)!=null&&_.self&&m.target!==r.value||(v(),(A=t==null?void 0:t.modifiers)!=null&&A.prevent&&m.preventDefault(),(M=t==null?void 0:t.modifiers)!=null&&M.stop&&m.stopPropagation(),l={x:m.x,y:m.y},u=m.timeStamp,a=setTimeout(()=>{i=!0,n(m)},(g=t==null?void 0:t.delay)!=null?g:wt))}function f(m){var _,A,M,g;if((_=t==null?void 0:t.modifiers)!=null&&_.self&&m.target!==r.value||!l||(t==null?void 0:t.distanceThreshold)===!1)return;(A=t==null?void 0:t.modifiers)!=null&&A.prevent&&m.preventDefault(),(M=t==null?void 0:t.modifiers)!=null&&M.stop&&m.stopPropagation();const T=m.x-l.x,b=m.y-l.y;Math.sqrt(T*T+b*b)>=((g=t==null?void 0:t.distanceThreshold)!=null?g:gt)&&v()}const p={capture:(o=t==null?void 0:t.modifiers)==null?void 0:o.capture,once:(s=t==null?void 0:t.modifiers)==null?void 0:s.once},w=[X(r,"pointerdown",c,p),X(r,"pointermove",f,p),X(r,["pointerup","pointerleave"],d,p)];return()=>w.forEach(m=>m())}const Ut={[Ee.mounted](e,n){typeof n.value=="function"?ve(e,n.value,{modifiers:n.modifiers}):ve(e,...n.value)}};function yt(e,n={}){const{delayEnter:t=0,delayLeave:o=0,window:s=Te}=n,r=h(!1);let a;const l=u=>{const i=u?t:o;a&&(clearTimeout(a),a=void 0),i?a=setTimeout(()=>r.value=u,i):r.value=u};return s&&(X(e,"mouseenter",()=>l(!0),{passive:!0}),X(e,"mouseleave",()=>l(!1),{passive:!0})),r}const Gt={[Ee.mounted](e,n){if(typeof n.value=="function"){const t=yt(e);C(t,o=>n.value(o))}}};function ee(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function ke(e){const n=window.getComputedStyle(e);if(n.overflowX==="scroll"||n.overflowY==="scroll"||n.overflowX==="auto"&&e.clientWidth<e.scrollWidth||n.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const t=e.parentNode;return!t||t.tagName==="BODY"?!1:ke(t)}}function St(e){const n=e||window.event,t=n.target;return ke(t)?!1:n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)}const te=new WeakMap;function bt(e,n=!1){const t=h(n);let o=null,s="";C(De(e),l=>{const u=ee(O(l));if(u){const i=u;if(te.get(i)||te.set(i,i.style.overflow),i.style.overflow!=="hidden"&&(s=i.style.overflow),i.style.overflow==="hidden")return t.value=!0;if(t.value)return i.style.overflow="hidden"}},{immediate:!0});const r=()=>{const l=ee(O(e));!l||t.value||(V&&(o=X(l,"touchmove",u=>{St(u)},{passive:!1})),l.style.overflow="hidden",t.value=!0)},a=()=>{const l=ee(O(e));!l||!t.value||(V&&(o==null||o()),l.style.overflow=s,te.delete(l),t.value=!1)};return N(a),k({get(){return t.value},set(l){l?r():a()}})}function Et(){let e=!1;const n=h(!1);return(t,o)=>{if(n.value=o.value,e)return;e=!0;const s=bt(t,o.value);C(n,r=>s.value=r)}}Et();export{Ut as A,Ft as B,Me as C,Ot as a,Xt as b,Mt as c,Vt as d,lt as e,Wt as f,jt as g,Bt as h,It as i,qt as j,Ht as k,$t as l,vt as m,Nt as n,At as o,zt as p,Rt as q,xt as r,Lt as s,D as t,Yt as u,Pt as v,Ct as w,kt as x,Tt as y,Gt as z};
@@ -1 +0,0 @@
1
- .page-title[data-v-2c3eb524]{font-size:1.2rem;font-weight:600}.text-editor-buttons[data-v-2c3eb524]{z-index:3;width:48px;height:48px;position:fixed;right:calc(1rem + env(safe-area-inset-right,0px));background:none;border-top:none;box-shadow:none;padding:0;opacity:.5;transition:opacity .3s}.text-editor-buttons[data-v-2c3eb524]:hover{opacity:1}
@@ -1 +0,0 @@
1
- div[data-v-d2dfec8d] .v-expansion-panel-title__overlay,div[data-v-d2dfec8d] .v-expansion-panel__shadow{background:var(--background-inner-component);border-radius:4px;border:1px solid var(--border-card);box-shadow:none!important}@media screen and (max-width: 639px){div[data-v-d2dfec8d] .v-expansion-panel-title__overlay,div[data-v-d2dfec8d] .v-expansion-panel__shadow{border-radius:0}}.new-source-container[data-v-d2dfec8d]{padding:1rem;background:rgba(var(--color-rgb),.04);border-radius:10px}.camera-protocol[data-v-d2dfec8d] .v-input__prepend,.camera-source[data-v-d2dfec8d] .v-input__prepend{margin:0!important}.camera-protocol[data-v-d2dfec8d] .v-field{border-radius:4px 0 0 4px/4px 0px 0px 4px!important}.camera-source[data-v-d2dfec8d] .v-field{border-top-left-radius:0;border-bottom-left-radius:0}.camera-source[data-v-d2dfec8d] .v-input__append{margin-left:5px}.window[data-v-d2dfec8d]{min-height:calc(100% - 36px)}
@@ -1,4 +0,0 @@
1
- import{z as G,f as H,X as J,y as K,w as Y}from"./main-f-Qd4R5M.js";import{F as Z,r as i,c as L,w as k,e as r,f,O as j,u as o,M as c,l as ee,ae as te,j as t,T as u,R as b,q as oe,i as Q,V as se}from"./@vue-CIFymae3.js";import{S as ne,r as ae}from"./system-CjiOVZ9H.js";import{V as ie}from"./VConsole-CZymGHU4.js";import{s as le}from"./utils-BvINh1mj.js";import{c as re}from"./compare-versions-DqEOhma6.js";import{V as z,b as ue}from"./vuetify-B_vGZaGi.js";import"./vue-inline-svg-DDdr3aAz.js";import"./vue3-toastify-Cy6dUyKO.js";import"./vue-i18n-Cyk5bTcs.js";import"./@intlify-Ck2ZoCVz.js";import"./axios-BI2i94Vb.js";import"./@tanstack-DPd4-F0t.js";import"./pinia-B_gX_pHL.js";import"./vue-router-C55prZ5l.js";import"./@vueuse-GPEsefjJ.js";import"./nprogress-QK5AFhFr.js";import"./@xterm-LO7TPXYg.js";import"./@mdi-DdmeckA1.js";import"./vee-validate-DHjm38DY.js";import"./@vee-validate-CmTVjJBY.js";import"./zod-BaF2dDCd.js";import"./uuid-DvF23Exx.js";import"./socket.io-client-Bq_SHkin.js";import"./engine.io-client-DBBxzneW.js";import"./engine.io-parser-BiEtp6m2.js";import"./@socket.io-Dkula2eQ.js";import"./socket.io-parser-BBkuslX-.js";import"./rxjs-CQrF441D.js";import"./tslib-9k7AwCpt.js";import"./v-calendar-CbEkwI4D.js";import"./@popperjs-BQBsAJpH.js";const ce={key:0,class:"flex w-full h-full justify-center items-center fixed top-0 left-0",style:{"z-index":"9000"}},me={class:"subview-title text-color"},de={class:"inner-component p-4"},pe={class:"flex"},fe={class:"text-sm"},ve={class:"text-sm ml-auto text-right"},_e={key:1},ge=t("div",{class:"my-8"},null,-1),ye={class:"flex items-center justify-center"},we={key:0,class:"flex flex-row items-center"},Ve={class:"text-disabled"},he={key:1,class:"flex flex-col items-center justify-center"},ke={class:"text-disabled mb-3"},be={key:2,class:"text-disabled"},xe=t("div",{class:"p-5"},[t("span",null,"WIP: Release Notes")],-1),Ce={class:"p-5 flex w-full items-center justify-center"},at=Z({__name:"System",setup($e){const A=new J,R=new ne,U=G(),{smallMobileActive:B}=H(),m=i(!1),v=i(!1),_=i(!1),x=i(""),C=i(!1),g=i(null),d=i(),$=i(!1),l=i(""),D=L(()=>S.value||C.value),F=L(()=>({fontSize:B.value?12:14})),I=L(()=>w.value&&l.value?re(l.value,w.value.version)===1:!1),{data:w,isLoading:P}=A.apiInfoQuery(),{data:M,isLoading:O}=R.checkVersionQuery(),{mutateAsync:W,isPending:S}=R.updateSystemQuery();k(w,()=>{var e;x.value=((e=w.value)==null?void 0:e.version)||""},{deep:!0,immediate:!0}),k(M,()=>{var e;l.value=((e=M.value)==null?void 0:e["dist-tags"].alpha)||""},{deep:!0,immediate:!0}),k(m,e=>{T(e),!e&&!$.value&&setTimeout(()=>{_.value=!0},300)}),k(B,()=>{q()});const T=e=>{var s,V,p,n,h,N;e?(d.value=U.connectToNamespace("/logs"),(s=d.value)==null||s.socket.on("stdout/@camera.ui/server",a=>{var y;(y=g.value)==null||y.writeTerminal(a)}),(V=d.value)==null||V.socket.on("stdout",a=>{var y;(y=g.value)==null||y.writeTerminal(a)}),(p=d.value)==null||p.socket.on("disconnect",()=>{var a;(a=g.value)==null||a.writeTerminal(`
2
- \rWebsocket failed to connect! Is the server running?
3
- \r
4
- \r`)}),(n=d.value)==null||n.socket.on("clear-log",()=>{var a;(a=g.value)==null||a.clearTerminal()})):(N=(h=d.value)==null?void 0:h.end)==null||N.call(h)},q=()=>{m.value&&(T(!1),T(!0))},E=async()=>{if(v.value=!1,$.value=!1,!(!I.value||!l.value)){await le(300),m.value=!0;try{await W({pluginData:{pluginname:"@camera.ui/server",pluginversion:l.value}}),x.value=l.value}catch{$.value=!0}}},X=async()=>{_.value=!1,C.value=!0,await ae()};return(e,s)=>{const V=K,p=Y;return r(),f("div",null,[(r(),j(te,{to:".app"},[o(C)?(r(),f("div",ce,[c(V,{reload:""})])):ee("",!0)])),t("div",null,[t("span",me,u(e.$t("views.settings.current_version")),1),t("div",de,[t("div",pe,[t("span",fe,u(e.$t("views.settings.current_version_info")),1),t("span",ve,[o(P)?(r(),j(z,{key:0,color:"#df2a4c",indeterminate:""})):(r(),f("span",_e,[t("b",null,u(o(x)),1)]))])])]),ge,t("div",ye,[o(O)?(r(),f("div",we,[c(z,{color:"#df2a4c",indeterminate:"",class:"mr-3",size:"15",width:"2"}),t("span",Ve,u(e.$t("views.settings.searching_updates")),1)])):o(I)?(r(),f("div",he,[t("span",ke,u(e.$t("views.settings.available_updates_info")),1),c(ue,{loading:o(S),color:"#df2a4c",onClick:s[0]||(s[0]=oe(n=>v.value=!0,["prevent"]))},{default:b(()=>[se("v"+u(o(l)),1)]),_:1},8,["loading"])])):(r(),f("span",be,u(e.$t("views.settings.not_available_updates_info")),1))])]),c(p,{modelValue:o(v),"onUpdate:modelValue":s[1]||(s[1]=n=>Q(v)?v.value=n:null),title:`${e.$t("components.dialog.title.update")}: ${o(l)}`,"fullscreen-content":"",loading:o(S),"confirm-text":"components.form.button.update",onConfirm:E},{content:b(()=>[xe]),_:1},8,["modelValue","title","loading"]),c(p,{modelValue:o(m),"onUpdate:modelValue":s[2]||(s[2]=n=>Q(m)?m.value=n:null),title:e.$t("components.dialog.title.log"),"fullscreen-content":"","hide-confirm-button":""},{content:b(()=>[c(ie,{ref_key:"consoleRef",ref:g,class:"text-editor",options:o(F)},null,8,["options"])]),_:1},8,["modelValue","title"]),c(p,{modelValue:o(_),"onUpdate:modelValue":s[3]||(s[3]=n=>Q(_)?_.value=n:null),title:e.$t("components.dialog.title.restart"),"confirm-text":"components.form.button.restart",loading:o(D),onConfirm:s[4]||(s[4]=n=>X())},{content:b(()=>[t("div",Ce,[t("span",null,u(e.$t("components.dialog.message.restart_server_info")),1)])]),_:1},8,["modelValue","title","loading"])])}}});export{at as default};