videomail-client 8.0.0 → 8.1.0

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/.nvmrc CHANGED
@@ -1 +1 @@
1
- 20.5.1
1
+ 20.12.2
package/TODO.md CHANGED
@@ -5,8 +5,8 @@
5
5
  | src/js/util/eventEmitter.js | 6 | MAKE EVENT EMITTING IN DESPOT NOT GLOBAL BUT BY CONTAINER ID INSTEAD
6
6
  | src/js/util/eventEmitter.js | 43 | have this emitted through a configuration because it is pretty noisy
7
7
  | src/js/util/humanize.js | 4 | get rid of this class and use those imports directly
8
- | src/js/wrappers/container.js | 293 | figure out how to fire dom's onload event again
9
- | src/js/wrappers/container.js | 294 | or how to run all the scripts over again
8
+ | src/js/wrappers/container.js | 297 | figure out how to fire dom's onload event again
9
+ | src/js/wrappers/container.js | 298 | or how to run all the scripts over again
10
10
  | src/js/wrappers/optionsWrapper.js | 27 | fix this, it's not really an option
11
11
  | src/js/wrappers/visuals/recorder.js | 594 | in https://github.com/binarykitchen/videomail-client/issues/142
12
12
  | src/js/wrappers/visuals/recorder.js | 631 | retry with navigator.getUserMedia_() maybe?
package/audit-ci.json CHANGED
@@ -1,5 +1,13 @@
1
1
  {
2
2
  "high": true,
3
3
  "package-manager": "npm",
4
- "allowlist": ["GHSA-xvch-5gv4-984h", "GHSA-7p7h-4mm5-852v", "GHSA-ww39-953v-wcq6", "GHSA-p6mc-m468-83gw"]
4
+ "allowlist": [
5
+ "GHSA-xvch-5gv4-984h",
6
+ "GHSA-7p7h-4mm5-852v",
7
+ "GHSA-ww39-953v-wcq6",
8
+ "GHSA-p6mc-m468-83gw",
9
+ "GHSA-grv7-fg5c-xmjg",
10
+ "GHSA-35jh-r3h4-6jhm",
11
+ "GHSA-3h5v-q93c-6h6q"
12
+ ]
5
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "videomail-client",
3
- "version": "8.0.0",
3
+ "version": "8.1.0",
4
4
  "description": "A wicked npm package to record videos directly in the browser, wohooo!",
5
5
  "author": "Michael Heuberger <michael.heuberger@binarykitchen.com>",
6
6
  "contributors": [
@@ -29,8 +29,8 @@
29
29
  "major": "./env/dev/release.sh --importance=major",
30
30
  "lint": "eslint --color ./src ./test ./gulpfile.js",
31
31
  "lint:fix": "npm --silent run lint -- --fix",
32
- "prettier": "prettier --check ./src ./test gulpfile.js",
33
- "prettier:fix": "prettier --write ./src ./test gulpfile.js"
32
+ "prettier": "prettier --check ./src ./test ./prototype/*.html gulpfile.js",
33
+ "prettier:fix": "prettier --write ./src ./test ./prototype/*.html gulpfile.js"
34
34
  },
35
35
  "engines": {
36
36
  "node": ">=20.5.1",
@@ -46,24 +46,24 @@
46
46
  "recorder"
47
47
  ],
48
48
  "dependencies": {
49
- "@babel/core": "7.23.9",
49
+ "@babel/core": "7.24.7",
50
50
  "add-eventlistener-with-options": "1.25.5",
51
51
  "animitter": "3.0.0",
52
52
  "audio-sample": "3.0.1",
53
53
  "canvas-to-buffer": "3.0.1",
54
54
  "classlist.js": "1.1.20150312",
55
55
  "contains": "0.1.1",
56
- "core-js": "3.36.0",
56
+ "core-js": "3.37.1",
57
57
  "create-error": "0.3.1",
58
58
  "deepmerge": "4.3.1",
59
59
  "defined": "1.0.1",
60
60
  "despot": "1.1.3",
61
61
  "document-visibility": "1.0.1",
62
62
  "element-closest": "3.0.2",
63
- "filesize": "10.1.0",
63
+ "filesize": "10.1.2",
64
64
  "get-form-data": "3.0.0",
65
65
  "hidden": "1.1.1",
66
- "humanize-duration": "3.31.0",
66
+ "humanize-duration": "3.32.1",
67
67
  "hyperscript": "2.0.2",
68
68
  "insert-css": "2.0.0",
69
69
  "iphone-inline-video": "2.2.2",
@@ -74,28 +74,28 @@
74
74
  "request-frame": "1.5.3",
75
75
  "safe-json-stringify": "1.2.0",
76
76
  "superagent": "8.1.2",
77
- "ua-parser-js": "1.0.37",
77
+ "ua-parser-js": "1.0.38",
78
78
  "websocket-stream": "5.5.2"
79
79
  },
80
80
  "devDependencies": {
81
- "@babel/eslint-parser": "7.23.10",
82
- "@babel/plugin-transform-runtime": "7.23.9",
83
- "@babel/preset-env": "7.23.9",
81
+ "@babel/eslint-parser": "7.24.7",
82
+ "@babel/plugin-transform-runtime": "7.24.7",
83
+ "@babel/preset-env": "7.24.7",
84
84
  "audit-ci": "6.6.1",
85
- "autoprefixer": "10.4.17",
85
+ "autoprefixer": "10.4.19",
86
86
  "babelify": "10.0.0",
87
87
  "body-parser": "1.20.2",
88
88
  "browserify": "17.0.0",
89
89
  "connect-send-json": "1.0.0",
90
- "cssnano": "6.0.3",
90
+ "cssnano": "6.0.5",
91
91
  "del": "6.1.1",
92
- "eslint": "8.56.0",
92
+ "eslint": "8.57.0",
93
93
  "eslint-config-prettier": "9.1.0",
94
94
  "eslint-plugin-import": "2.29.1",
95
95
  "eslint-plugin-node": "11.1.0",
96
- "eslint-plugin-promise": "6.1.1",
96
+ "eslint-plugin-promise": "6.2.0",
97
97
  "fancy-log": "2.0.0",
98
- "glob": "10.3.10",
98
+ "glob": "10.4.2",
99
99
  "gulp": "4.0.2",
100
100
  "gulp-bump": "3.2.0",
101
101
  "gulp-bytediff": "1.0.0",
@@ -114,10 +114,10 @@
114
114
  "gulp-todo": "7.1.1",
115
115
  "minimist": "1.2.8",
116
116
  "nib": "1.2.0",
117
- "postcss": "8.4.35",
118
- "prettier": "3.2.5",
117
+ "postcss": "8.4.39",
118
+ "prettier": "3.3.2",
119
119
  "router": "1.3.8",
120
- "tape": "5.7.5",
120
+ "tape": "5.8.1",
121
121
  "tape-catch": "1.0.6",
122
122
  "tape-run": "11.0.0",
123
123
  "vinyl-buffer": "1.0.1",
@@ -1,22 +1,22 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html>
3
- <head>
4
- <title>videomail-client examples</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- </head>
7
- <body>
8
- <h1>How it looks on a bad browser</h1>
9
- <div id="videomail"></div>
10
- <script src="/js/videomail-client.js"></script>
11
- <script>
12
- var videomailClient = new VideomailClient({
13
- verbose: true,
14
- adjustFormOnBrowserError: true,
15
- fakeUaString: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)',
16
- reportErrors: true
17
- })
3
+ <head>
4
+ <title>videomail-client examples</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
6
+ </head>
7
+ <body>
8
+ <h1>How it looks on a bad browser</h1>
9
+ <div id="videomail"></div>
10
+ <script src="/js/videomail-client.js"></script>
11
+ <script>
12
+ var videomailClient = new VideomailClient({
13
+ verbose: true,
14
+ adjustFormOnBrowserError: true,
15
+ fakeUaString: 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)',
16
+ reportErrors: true
17
+ })
18
18
 
19
- videomailClient.show()
20
- </script>
21
- </body>
19
+ videomailClient.show()
20
+ </script>
21
+ </body>
22
22
  </html>
@@ -1,27 +1,28 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html>
3
- <head>
4
- <title>videomail-client examples</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- </head>
7
- <body>
8
- <h1>How it looks on an unsupported iPhone</h1>
9
- <div id="videomail"></div>
10
- <script src="/js/videomail-client.js"></script>
11
- <script>
12
- var videomailClient = new VideomailClient({
13
- verbose: true,
14
- adjustFormOnBrowserError: true,
15
- fakeUaString: 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25',
16
- reportErrors: true,
17
- video: {
18
- // just to test that this height will get removed so that the whole error
19
- // message will be shown.
20
- height: 100
21
- }
22
- })
3
+ <head>
4
+ <title>videomail-client examples</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
6
+ </head>
7
+ <body>
8
+ <h1>How it looks on an unsupported iPhone</h1>
9
+ <div id="videomail"></div>
10
+ <script src="/js/videomail-client.js"></script>
11
+ <script>
12
+ var videomailClient = new VideomailClient({
13
+ verbose: true,
14
+ adjustFormOnBrowserError: true,
15
+ fakeUaString:
16
+ 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25',
17
+ reportErrors: true,
18
+ video: {
19
+ // just to test that this height will get removed so that the whole error
20
+ // message will be shown.
21
+ height: 100
22
+ }
23
+ })
23
24
 
24
- videomailClient.show()
25
- </script>
26
- </body>
25
+ videomailClient.show()
26
+ </script>
27
+ </body>
27
28
  </html>
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html>
3
3
  <head>
4
4
  <title>videomail-client examples</title>
@@ -1,47 +1,172 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html>
3
- <head>
4
- <title>videomail-client examples</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style type='text/css'>
7
- input[type='email'], input[type='text'], textarea, .buttons {
8
- margin: 1em 0;
9
- display: block;
3
+ <head>
4
+ <title>videomail-client examples</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
6
+ <style type="text/css">
7
+ input[type='email'],
8
+ input[type='text'],
9
+ textarea,
10
+ .buttons {
11
+ margin: 1em 0;
12
+ display: block;
13
+ }
14
+ #videomail,
15
+ #email {
16
+ float: left;
17
+ }
18
+ #email {
19
+ width: 400px;
20
+ margin-left: 1em;
21
+ }
22
+ #email input,
23
+ #email textarea {
24
+ width: 100%;
25
+ }
26
+ </style>
27
+ </head>
28
+ <body>
29
+ <h1>A form to correct an existing videomail</h1>
30
+ <div id="videomail"></div>
31
+ <form id="email">
32
+ <fieldset>
33
+ <input name="key" value="" type="hidden" />
34
+ <input name="from" type="email" required="required" />
35
+ <input name="to" type="email" required="required" multiple />
36
+ <input name="subject" type="text" required="required" />
37
+ <textarea name="body" rows="4"></textarea>
38
+ <input id="send" disabled="" type="submit" value="✉ Send" />
39
+ </fieldset>
40
+ </form>
41
+ <script src="/js/videomail-client.js"></script>
42
+ <script>
43
+ var videomailClient = new VideomailClient({
44
+ verbose: true,
45
+ video: {
46
+ width: 400
47
+ },
48
+ selectors: {
49
+ formId: 'email',
50
+ keyInputName: 'key'
51
+ }
52
+ })
53
+
54
+ // just a copy paste of json of the videomail
55
+ // you normally would get from a xhr get request
56
+ videomailClient.replay(
57
+ {
58
+ subject: 'test example mofo',
59
+ from: 'automatic@videomail.io',
60
+ to: ['automatic@videomail.io'],
61
+ body: '',
62
+ recordingStats: {
63
+ avgFps: 16.39344262295082,
64
+ wantedFps: 15,
65
+ avgInterval: 66.19285714285714,
66
+ wantedInterval: 66.66666666666667,
67
+ intervalSum: 9267,
68
+ framesCount: 140,
69
+ videoType: 'webm',
70
+ waitingTime: 1378
71
+ },
72
+ width: 400,
73
+ height: 300,
74
+ videomailClientVersion: '2.1.26',
75
+ siteName: 'videomail.io',
76
+ sending: true,
77
+ alias: 'test-example-mofo-485573266478',
78
+ dateCreated: 1511570565748,
79
+ format: {
80
+ nb_streams: 1,
81
+ nb_programs: 0,
82
+ format_name: 'mov,mp4,m4a,3gp,3g2,mj2',
83
+ format_long_name: 'QuickTime / MOV',
84
+ start_time: 0,
85
+ duration: 8.537,
86
+ size: 1349099,
87
+ bit_rate: 1264237,
88
+ probe_score: 100,
89
+ tags: {
90
+ major_brand: 'isom',
91
+ minor_version: '512',
92
+ compatible_brands: 'isomiso2avc1mp41',
93
+ encoder: 'Lavf57.71.100'
10
94
  }
11
- #videomail, #email { float: left; }
12
- #email {width: 400px; margin-left: 1em; }
13
- #email input, #email textarea { width: 100%; }
14
- </style>
15
- </head>
16
- <body>
17
- <h1>A form to correct an existing videomail</h1>
18
- <div id='videomail'></div>
19
- <form id='email'>
20
- <fieldset>
21
- <input name='key' value='' type='hidden'>
22
- <input name='from' type='email' required='required'>
23
- <input name='to' type='email' required='required' multiple/>
24
- <input name='subject'type='text' required='required'>
25
- <textarea name='body' rows='4'></textarea>
26
- <input id='send' disabled='' type='submit' value='✉ Send'>
27
- </fieldset>
28
- </form>
29
- <script src='/js/videomail-client.js'></script>
30
- <script>
31
- var videomailClient = new VideomailClient({
32
- verbose: true,
33
- video: {
34
- width: 400
95
+ },
96
+ dateUpdated: 1511570574377,
97
+ accepted: ['automatic@videomail.io'],
98
+ url: 'https://videomail.io/videomail/test-example-mofo-485573266478',
99
+ key: '11e7-d179-62e4cfa0-8f72-6ff7f0c1e906',
100
+ mp4: 'https://videomail.io/videomail/test-example-mofo-485573266478/type/mp4/',
101
+ webm: 'https://videomail.io/videomail/test-example-mofo-485573266478/type/webm/',
102
+ poster: 'https://videomail.io/videomail/test-example-mofo-485573266478/poster/',
103
+ reply: {
104
+ parentKey: '11e7-d179-62e4cfa0-8f72-6ff7f0c1e906',
105
+ subject: 'RE: test example mofo',
106
+ to: ['automatic@videomail.io'],
107
+ from: 'automatic@videomail.io',
108
+ parent: {
109
+ subject: 'test example mofo',
110
+ from: 'automatic@videomail.io',
111
+ to: ['automatic@videomail.io'],
112
+ body: '',
113
+ recordingStats: {
114
+ avgFps: 16.39344262295082,
115
+ wantedFps: 15,
116
+ avgInterval: 66.19285714285714,
117
+ wantedInterval: 66.66666666666667,
118
+ intervalSum: 9267,
119
+ framesCount: 140,
120
+ videoType: 'webm',
121
+ waitingTime: 1378
35
122
  },
36
- selectors: {
37
- formId: 'email',
38
- keyInputName: 'key'
39
- }
40
- })
41
-
42
- // just a copy paste of json of the videomail
43
- // you normally would get from a xhr get request
44
- videomailClient.replay({"subject":"test example mofo","from":"automatic@videomail.io","to":["automatic@videomail.io"],"body":"","recordingStats":{"avgFps":16.39344262295082,"wantedFps":15,"avgInterval":66.19285714285714,"wantedInterval":66.66666666666667,"intervalSum":9267,"framesCount":140,"videoType":"webm","waitingTime":1378},"width":400,"height":300,"videomailClientVersion":"2.1.26","siteName":"videomail.io","sending":true,"alias":"test-example-mofo-485573266478","dateCreated":1511570565748,"format":{"nb_streams":1,"nb_programs":0,"format_name":"mov,mp4,m4a,3gp,3g2,mj2","format_long_name":"QuickTime / MOV","start_time":0,"duration":8.537,"size":1349099,"bit_rate":1264237,"probe_score":100,"tags":{"major_brand":"isom","minor_version":"512","compatible_brands":"isomiso2avc1mp41","encoder":"Lavf57.71.100"}},"dateUpdated":1511570574377,"accepted":["automatic@videomail.io"],"url":"https://videomail.io/videomail/test-example-mofo-485573266478","key":"11e7-d179-62e4cfa0-8f72-6ff7f0c1e906","mp4":"https://videomail.io/videomail/test-example-mofo-485573266478/type/mp4/","webm":"https://videomail.io/videomail/test-example-mofo-485573266478/type/webm/","poster":"https://videomail.io/videomail/test-example-mofo-485573266478/poster/","reply":{"parentKey":"11e7-d179-62e4cfa0-8f72-6ff7f0c1e906","subject":"RE: test example mofo","to":["automatic@videomail.io"],"from":"automatic@videomail.io","parent":{"subject":"test example mofo","from":"automatic@videomail.io","to":["automatic@videomail.io"],"body":"","recordingStats":{"avgFps":16.39344262295082,"wantedFps":15,"avgInterval":66.19285714285714,"wantedInterval":66.66666666666667,"intervalSum":9267,"framesCount":140,"videoType":"webm","waitingTime":1378},"width":400,"height":300,"videomailClientVersion":"2.1.26","siteName":"videomail.io","sending":true,"alias":"test-example-mofo-485573266478","dateCreated":1511570565748,"format":{"nb_streams":1,"nb_programs":0,"format_name":"mov,mp4,m4a,3gp,3g2,mj2","format_long_name":"QuickTime / MOV","start_time":0,"duration":8.537,"size":1349099,"bit_rate":1264237,"probe_score":100,"tags":{"major_brand":"isom","minor_version":"512","compatible_brands":"isomiso2avc1mp41","encoder":"Lavf57.71.100"}},"dateUpdated":1511570574377,"accepted":["automatic@videomail.io"],"url":"https://videomail.io/videomail/test-example-mofo-485573266478","key":"11e7-d179-62e4cfa0-8f72-6ff7f0c1e906","reply":{"parentKey":"11e7-d179-62e4cfa0-8f72-6ff7f0c1e906","subject":"RE: test example mofo","to":["automatic@videomail.io"],"from":"automatic@videomail.io"},"replyUrl":"/reply/test-example-mofo-485573266478","correctUrl":"https://videomail.io/correct/test-example-mofo-485573266478","dateCreatedPretty":"Nov 25, 2017, 1:42 PM","sendingToPretty":"automatic@videomail.io"}},"replyUrl":"/reply/test-example-mofo-485573266478","correctUrl":"https://videomail.io/correct/test-example-mofo-485573266478","dateCreatedPretty":"Nov 25, 2017, 1:42 PM","sendingToPretty":"automatic@videomail.io"}, 'videomail')
45
- </script>
46
- </body>
123
+ width: 400,
124
+ height: 300,
125
+ videomailClientVersion: '2.1.26',
126
+ siteName: 'videomail.io',
127
+ sending: true,
128
+ alias: 'test-example-mofo-485573266478',
129
+ dateCreated: 1511570565748,
130
+ format: {
131
+ nb_streams: 1,
132
+ nb_programs: 0,
133
+ format_name: 'mov,mp4,m4a,3gp,3g2,mj2',
134
+ format_long_name: 'QuickTime / MOV',
135
+ start_time: 0,
136
+ duration: 8.537,
137
+ size: 1349099,
138
+ bit_rate: 1264237,
139
+ probe_score: 100,
140
+ tags: {
141
+ major_brand: 'isom',
142
+ minor_version: '512',
143
+ compatible_brands: 'isomiso2avc1mp41',
144
+ encoder: 'Lavf57.71.100'
145
+ }
146
+ },
147
+ dateUpdated: 1511570574377,
148
+ accepted: ['automatic@videomail.io'],
149
+ url: 'https://videomail.io/videomail/test-example-mofo-485573266478',
150
+ key: '11e7-d179-62e4cfa0-8f72-6ff7f0c1e906',
151
+ reply: {
152
+ parentKey: '11e7-d179-62e4cfa0-8f72-6ff7f0c1e906',
153
+ subject: 'RE: test example mofo',
154
+ to: ['automatic@videomail.io'],
155
+ from: 'automatic@videomail.io'
156
+ },
157
+ replyUrl: '/reply/test-example-mofo-485573266478',
158
+ correctUrl: 'https://videomail.io/correct/test-example-mofo-485573266478',
159
+ dateCreatedPretty: 'Nov 25, 2017, 1:42 PM',
160
+ sendingToPretty: 'automatic@videomail.io'
161
+ }
162
+ },
163
+ replyUrl: '/reply/test-example-mofo-485573266478',
164
+ correctUrl: 'https://videomail.io/correct/test-example-mofo-485573266478',
165
+ dateCreatedPretty: 'Nov 25, 2017, 1:42 PM',
166
+ sendingToPretty: 'automatic@videomail.io'
167
+ },
168
+ 'videomail'
169
+ )
170
+ </script>
171
+ </body>
47
172
  </html>
@@ -1,61 +1,77 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html>
3
- <head>
4
- <title>videomail-client examples</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
3
+ <head>
4
+ <title>videomail-client examples</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1" />
6
6
 
7
- <style type='text/css'>
8
- input[type='email'], input[type='text'], textarea, .buttons {
9
- margin: 1em 0;
10
- display: block;
11
- }
12
- #videomail, #email { float: left; }
13
- #email { width: 400px; margin-left: 1em; }
14
- #email input, #email textarea { width: 100%; }
15
- </style>
16
- </head>
17
- <body>
18
- <h1>A form to correct a non-existing videomail</h1>
19
- <p>This to see how the error handling works.</p>
7
+ <style type="text/css">
8
+ input[type='email'],
9
+ input[type='text'],
10
+ textarea,
11
+ .buttons {
12
+ margin: 1em 0;
13
+ display: block;
14
+ }
15
+ #videomail,
16
+ #email {
17
+ float: left;
18
+ }
19
+ #email {
20
+ width: 400px;
21
+ margin-left: 1em;
22
+ }
23
+ #email input,
24
+ #email textarea {
25
+ width: 100%;
26
+ }
27
+ </style>
28
+ </head>
29
+ <body>
30
+ <h1>A form to correct a non-existing videomail</h1>
31
+ <p>This to see how the error handling works.</p>
20
32
 
21
- <div id='videomail'></div>
33
+ <div id="videomail"></div>
22
34
 
23
- <form id='email'>
24
- <fieldset>
25
- <input name='key' value='' type='hidden'>
26
- <input name='from' type='email' required='required'>
27
- <input name='to' type='email' required='required' multiple/>
28
- <input name='subject'type='text' required='required'>
29
- <textarea name='body' rows='4'></textarea>
30
- <input id='send' disabled='' type='submit' value='✉ Send'>
31
- </fieldset>
32
- </form>
35
+ <form id="email">
36
+ <fieldset>
37
+ <input name="key" value="" type="hidden" />
38
+ <input name="from" type="email" required="required" />
39
+ <input name="to" type="email" required="required" multiple />
40
+ <input name="subject" type="text" required="required" />
41
+ <textarea name="body" rows="4"></textarea>
42
+ <input id="send" disabled="" type="submit" value="✉ Send" />
43
+ </fieldset>
44
+ </form>
33
45
 
34
- <script src='/js/videomail-client.js'></script>
35
- <script>
36
- var videomailClient = new VideomailClient({
37
- verbose: true,
38
- video: {
39
- width: 400
40
- },
41
- selectors: {
42
- formId: 'email',
43
- keyInputName: 'key'
44
- }
45
- })
46
+ <script src="/js/videomail-client.js"></script>
47
+ <script>
48
+ var videomailClient = new VideomailClient({
49
+ verbose: true,
50
+ video: {
51
+ width: 400
52
+ },
53
+ selectors: {
54
+ formId: 'email',
55
+ keyInputName: 'key'
56
+ }
57
+ })
46
58
 
47
- videomailClient.replay({
48
- 'subject': 'i am a subject',
49
- 'from': 'noreply@videomail.io',
50
- 'to': 'to1@binarykitchen.com, to2@binarykitchen.com',
51
- 'body': 'i am a body\nand a have a second line',
52
- 'width': 400,
53
- 'height': 300,
54
- 'url': 'https://videomail.io/videomail/test-for-correcting-videomails-962278245395',
55
- 'key': '11e5-d1e4-43f02b30-bf04-7b4befb9ed2d',
56
- 'webm': 'https://videomail.io/videomail/test-for-correcting-videomails-962278245395/type/webm/',
57
- 'poster': 'https://videomail.io/videomail/test-for-correcting-videomails-962278245395/poster/'
58
- }, 'videomail')
59
- </script>
60
- </body>
59
+ videomailClient.replay(
60
+ {
61
+ subject: 'i am a subject',
62
+ from: 'noreply@videomail.io',
63
+ to: 'to1@binarykitchen.com, to2@binarykitchen.com',
64
+ body: 'i am a body\nand a have a second line',
65
+ width: 400,
66
+ height: 300,
67
+ url: 'https://videomail.io/videomail/test-for-correcting-videomails-962278245395',
68
+ key: '11e5-d1e4-43f02b30-bf04-7b4befb9ed2d',
69
+ webm: 'https://videomail.io/videomail/test-for-correcting-videomails-962278245395/type/webm/',
70
+ poster:
71
+ 'https://videomail.io/videomail/test-for-correcting-videomails-962278245395/poster/'
72
+ },
73
+ 'videomail'
74
+ )
75
+ </script>
76
+ </body>
61
77
  </html>
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html>
3
3
  <head>
4
4
  <title>videomail-client examples</title>