@live-change/video-call-frontend 0.8.47 → 0.8.49

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.
@@ -9,9 +9,11 @@
9
9
  }">
10
10
  </div>
11
11
 
12
- <div v-if="(peerState?.videoMuted || !stream) && !image"
12
+ <div v-if="(peerState?.videoState !== 'enabled' || !stream) && !image"
13
13
  class="absolute w-full h-full flex flex-column align-items-center justify-content-center identification">
14
14
  <UserIdentification :ownerType="ownerType" :owner="owner" />
15
+ <!-- <pre>{{ peerState }}</pre>
16
+ <pre>[{{ ownerType }}]</pre>-->
15
17
  </div>
16
18
 
17
19
  <div v-if="stream">
@@ -26,8 +28,8 @@
26
28
  </video>
27
29
  </div>
28
30
 
29
- <div class="absolute top-0 right-0 h-3rem pr-1
30
- flex align-items-center">
31
+ <div v-if="peerState"
32
+ class="absolute top-0 right-0 h-3rem pr-1 flex align-items-center">
31
33
  <div v-if="peerState.audioState === 'muted'"
32
34
  class="border-circle bg-black-alpha-40 mx-1
33
35
  flex align-items-center justify-content-center w-2rem h-2rem">
@@ -65,6 +67,9 @@
65
67
  .peer-video {
66
68
  .identification {
67
69
  & > span > span, a {
70
+ &:hover {
71
+ background: none !important;
72
+ }
68
73
  display: flex !important;
69
74
  flex-direction: column !important;
70
75
  position: absolute;
@@ -77,11 +82,10 @@
77
82
  height: 100%;
78
83
  width: 100%;
79
84
  img, i {
80
- max-height: 70px !important;
85
+ max-height: 120px !important;
81
86
  width: auto !important;
82
87
  height: 50% !important;
83
88
  aspect-ratio: 1/1;
84
- border: 1px solid red;
85
89
  }
86
90
  span {
87
91
  color: rgba(255,255,255,0.8);
@@ -151,17 +151,23 @@
151
151
  const otherPeer = peer.value.otherPeers.find(peer => peer.id === peerId)
152
152
  for(const remoteTrack of unref(connection.remoteTracks)) {
153
153
  if(output.find(remoteStream => remoteStream.stream === remoteTrack.stream)) continue
154
+ const [ownerType, owner] = otherPeer.user
155
+ ? ['user_User', otherPeer.user?.user]
156
+ : ['session_Session', otherPeer.session]
154
157
  output.push({
155
158
  id: remoteTrack.stream.id,
156
159
  from: connection.to,
157
160
  stream: remoteTrack.stream,
158
161
  peerState: otherPeer?.peerState,
162
+ ownerType, owner
159
163
  })
160
164
  }
161
165
  }
162
166
  return output
163
167
  })
164
168
 
169
+ globalThis.peer = peer
170
+
165
171
 
166
172
  </script>
167
173
 
@@ -17,8 +17,8 @@
17
17
  :id="tile.id" :image="tile.video?.image"
18
18
  :mirror="tile.video?.mirror"
19
19
  :peer-state="tile.video?.peerState"
20
- :ownerType="tile.ownerType ?? 'unknown'"
21
- :owner="tile.owner ?? 'unknown'"
20
+ :ownerType="tile.video?.ownerType ?? 'unknown'"
21
+ :owner="tile.video?.owner ?? 'unknown'"
22
22
  @resize="ev => handleVideoResize(tile, ev)"
23
23
  @click="ev => handleVideoClick(tile, ev)"
24
24
  :style="videoStyles[tile.id]">
@@ -16,7 +16,7 @@ export function videoCallRoutes(config = {}) {
16
16
  const { prefix = '/', route = (r) => r } = config
17
17
  return [
18
18
  route({
19
- name: 'video-call:room', path: prefix+ '/room/:room', meta: { }, props:true,
19
+ name: 'video-call:room', path: prefix+ '/room/:room', meta: { raw: true }, props:true,
20
20
  component: () => import("./room/Room.vue"),
21
21
  }),
22
22
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@live-change/video-call-frontend",
3
- "version": "0.8.47",
3
+ "version": "0.8.49",
4
4
  "scripts": {
5
5
  "memDev": "node server/start.js memDev --enableSessions --initScript ./init.js --dbAccess",
6
6
  "localDevInit": "rm tmp.db; node server/start.js localDev --enableSessions --initScript ./init.js",
@@ -35,41 +35,41 @@
35
35
  "@codemirror/language": "6.10.1",
36
36
  "@dotenvx/dotenvx": "0.27.0",
37
37
  "@fortawesome/fontawesome-free": "^6.5.2",
38
- "@live-change/access-control-frontend": "^0.8.47",
39
- "@live-change/access-control-service": "^0.8.47",
40
- "@live-change/backup-service": "^0.8.47",
41
- "@live-change/blog-frontend": "^0.8.47",
42
- "@live-change/blog-service": "^0.8.47",
43
- "@live-change/cli": "^0.8.47",
44
- "@live-change/content-frontend": "^0.8.47",
45
- "@live-change/content-service": "^0.8.47",
46
- "@live-change/dao": "^0.8.47",
47
- "@live-change/dao-vue3": "^0.8.47",
48
- "@live-change/dao-websocket": "^0.8.47",
49
- "@live-change/db-client": "^0.8.47",
50
- "@live-change/email-service": "^0.8.47",
51
- "@live-change/framework": "^0.8.47",
52
- "@live-change/frontend-auto-form": "^0.8.47",
53
- "@live-change/frontend-base": "^0.8.47",
54
- "@live-change/geoip-service": "^0.8.47",
55
- "@live-change/image-frontend": "^0.8.47",
56
- "@live-change/locale-settings-service": "^0.8.47",
57
- "@live-change/password-authentication-service": "^0.8.47",
58
- "@live-change/peer-connection-service": "^0.8.47",
59
- "@live-change/prosemirror-service": "^0.8.47",
60
- "@live-change/secret-code-service": "^0.8.47",
61
- "@live-change/secret-link-service": "^0.8.47",
62
- "@live-change/session-service": "^0.8.47",
63
- "@live-change/task-service": "^0.8.47",
64
- "@live-change/upload-frontend": "^0.8.47",
65
- "@live-change/url-frontend": "^0.8.47",
66
- "@live-change/url-service": "^0.8.47",
67
- "@live-change/user-frontend": "^0.8.47",
68
- "@live-change/user-identification-service": "^0.8.47",
69
- "@live-change/user-service": "^0.8.47",
70
- "@live-change/vote-service": "^0.8.47",
71
- "@live-change/vue3-components": "^0.8.47",
72
- "@live-change/vue3-ssr": "^0.8.47",
38
+ "@live-change/access-control-frontend": "^0.8.49",
39
+ "@live-change/access-control-service": "^0.8.49",
40
+ "@live-change/backup-service": "^0.8.49",
41
+ "@live-change/blog-frontend": "^0.8.49",
42
+ "@live-change/blog-service": "^0.8.49",
43
+ "@live-change/cli": "^0.8.49",
44
+ "@live-change/content-frontend": "^0.8.49",
45
+ "@live-change/content-service": "^0.8.49",
46
+ "@live-change/dao": "^0.8.49",
47
+ "@live-change/dao-vue3": "^0.8.49",
48
+ "@live-change/dao-websocket": "^0.8.49",
49
+ "@live-change/db-client": "^0.8.49",
50
+ "@live-change/email-service": "^0.8.49",
51
+ "@live-change/framework": "^0.8.49",
52
+ "@live-change/frontend-auto-form": "^0.8.49",
53
+ "@live-change/frontend-base": "^0.8.49",
54
+ "@live-change/geoip-service": "^0.8.49",
55
+ "@live-change/image-frontend": "^0.8.49",
56
+ "@live-change/locale-settings-service": "^0.8.49",
57
+ "@live-change/password-authentication-service": "^0.8.49",
58
+ "@live-change/peer-connection-service": "^0.8.49",
59
+ "@live-change/prosemirror-service": "^0.8.49",
60
+ "@live-change/secret-code-service": "^0.8.49",
61
+ "@live-change/secret-link-service": "^0.8.49",
62
+ "@live-change/session-service": "^0.8.49",
63
+ "@live-change/task-service": "^0.8.49",
64
+ "@live-change/upload-frontend": "^0.8.49",
65
+ "@live-change/url-frontend": "^0.8.49",
66
+ "@live-change/url-service": "^0.8.49",
67
+ "@live-change/user-frontend": "^0.8.49",
68
+ "@live-change/user-identification-service": "^0.8.49",
69
+ "@live-change/user-service": "^0.8.49",
70
+ "@live-change/vote-service": "^0.8.49",
71
+ "@live-change/vue3-components": "^0.8.49",
72
+ "@live-change/vue3-ssr": "^0.8.49",
73
73
  "@vueuse/core": "^10.11.0",
74
74
  "boxicons": "^2.1.4",
75
75
  "codeceptjs-assert": "^0.0.5",
@@ -93,7 +93,7 @@
93
93
  "vue3-scroll-border": "0.1.6"
94
94
  },
95
95
  "devDependencies": {
96
- "@live-change/codeceptjs-helper": "^0.8.47",
96
+ "@live-change/codeceptjs-helper": "^0.8.49",
97
97
  "codeceptjs": "^3.5.12",
98
98
  "generate-password": "1.7.1",
99
99
  "playwright": "^1.41.2",
@@ -104,5 +104,5 @@
104
104
  "author": "Michał Łaszczewski <michal@laszczewski.pl>",
105
105
  "license": "ISC",
106
106
  "description": "",
107
- "gitHead": "3c89e50f21b7bbf2f16d7f566045eeead7bb0a25"
107
+ "gitHead": "568f730f1c8a6ce0247d1d8e49fcea110604800c"
108
108
  }
package/server/init.js CHANGED
@@ -20,4 +20,16 @@ export default async function(services) {
20
20
  sessionRoles: ['speaker']
21
21
  })
22
22
 
23
+
24
+ const user = '[testUser]'
25
+ const email = 'tester@test.com'
26
+ const email2 = 'tester2@test.com'
27
+ const password = 'Testy123'
28
+ const passwordHash = services.passwordAuthentication.models.PasswordAuthentication
29
+ .definition.properties.passwordHash.preFilter(password)
30
+ await services.user.models.User.create({ id: user, roles: [] })
31
+ await services.passwordAuthentication.models.PasswordAuthentication.create({ id: user, user, passwordHash })
32
+ await services.email.models.Email.create({ id: email, email, user })
33
+ await services.email.models.Email.create({ id: email2, email: email2, user })
34
+
23
35
  }