videomail-client 9.4.0 → 9.4.2
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/.github/workflows/push.yml +2 -2
- package/.vscode/settings.json +5 -1
- package/etc/release.sh +96 -0
- package/etc/ssl-certs/localhost.crt +26 -0
- package/etc/ssl-certs/localhost.key +28 -0
- package/etc/ssl-certs/regenerate_cert.sh +15 -0
- package/package.json +6 -8
- package/prettier.config.cjs +1 -7
- package/prototype/js/videomail-client.js +11 -17
- package/prototype/js/videomail-client.min.js +1 -1
- package/prototype/js/videomail-client.min.js.map +1 -1
package/.vscode/settings.json
CHANGED
|
@@ -2,17 +2,21 @@
|
|
|
2
2
|
"editor.tabSize": 2,
|
|
3
3
|
"files.trimTrailingWhitespace": true,
|
|
4
4
|
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
5
|
-
"editor.formatOnSave": true,
|
|
6
5
|
"editor.codeActionsOnSave": {
|
|
7
6
|
"source.fixAll.eslint": "always"
|
|
8
7
|
},
|
|
8
|
+
"eslint.options": {
|
|
9
|
+
"overrideConfigFile": "./.eslintrc.js"
|
|
10
|
+
},
|
|
9
11
|
"prettier.configPath": "./prettier.config.cjs",
|
|
12
|
+
"stylelint.validate": ["stylus"],
|
|
10
13
|
"cSpell.words": [
|
|
11
14
|
"animitter",
|
|
12
15
|
"autobuffer",
|
|
13
16
|
"browserstack",
|
|
14
17
|
"bytediff",
|
|
15
18
|
"classlist",
|
|
19
|
+
"crossorigin",
|
|
16
20
|
"cssnano",
|
|
17
21
|
"deepmerge",
|
|
18
22
|
"derequire",
|
package/etc/release.sh
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -eo pipefail
|
|
3
|
+
|
|
4
|
+
GREEN='\033[0;32m'
|
|
5
|
+
NC='\033[0m' # No Color
|
|
6
|
+
|
|
7
|
+
info() {
|
|
8
|
+
printf "${GREEN}$@${NC}"
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export GIT_MERGE_AUTOEDIT=no
|
|
12
|
+
|
|
13
|
+
die() {
|
|
14
|
+
unset GIT_MERGE_AUTOEDIT
|
|
15
|
+
echo >&2 "☠ ☠ ☠ ☠ ☠ ☠ ☠ $@ ☠ ☠ ☠ ☠ ☠ ☠ ☠"
|
|
16
|
+
exit 1
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
info "Checking for vulnerabilities...\n"
|
|
20
|
+
|
|
21
|
+
# thanks to set -e it will exit here if audit fails
|
|
22
|
+
npm run audit
|
|
23
|
+
|
|
24
|
+
# todo: figure out an elegant solution to avoid duplicate code
|
|
25
|
+
# when having three bash scripts for patches, features and releases
|
|
26
|
+
# maybe with command line args?
|
|
27
|
+
# when done, rename this file
|
|
28
|
+
|
|
29
|
+
for i in "$@"; do
|
|
30
|
+
case $i in
|
|
31
|
+
-i=* | --importance=*)
|
|
32
|
+
IMPORTANCE="${i#*=}"
|
|
33
|
+
shift # past argument=value
|
|
34
|
+
;;
|
|
35
|
+
*)
|
|
36
|
+
# unknown option
|
|
37
|
+
;;
|
|
38
|
+
esac
|
|
39
|
+
done
|
|
40
|
+
|
|
41
|
+
if [[ -z ${IMPORTANCE:-} ]]; then
|
|
42
|
+
die "Aborting the bump! Argument --importance is missing"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
# ensures all is commited
|
|
46
|
+
if [[ $(git status --porcelain) ]]; then
|
|
47
|
+
die "Aborting the bump! You have uncommitted changes"
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
# Ensures master is up to date
|
|
51
|
+
git checkout master
|
|
52
|
+
git pull
|
|
53
|
+
git checkout dev
|
|
54
|
+
|
|
55
|
+
info "Figuring next version for importance ${IMPORTANCE}...\n"
|
|
56
|
+
read VERSION <<<$(gulp bumpVersion --importance=$IMPORTANCE | awk '/to/ {print $5}')
|
|
57
|
+
info "It's version ${VERSION}\n"
|
|
58
|
+
|
|
59
|
+
git checkout master
|
|
60
|
+
git push
|
|
61
|
+
git checkout dev
|
|
62
|
+
git push
|
|
63
|
+
|
|
64
|
+
# Start a new release
|
|
65
|
+
git flow release start $VERSION
|
|
66
|
+
|
|
67
|
+
# This will increment version in package.json
|
|
68
|
+
gulp bumpVersion --write --version=$VERSION
|
|
69
|
+
|
|
70
|
+
# Ensure dependencies are okay
|
|
71
|
+
npm install
|
|
72
|
+
|
|
73
|
+
# Rebuild all assets
|
|
74
|
+
gulp build --minify
|
|
75
|
+
|
|
76
|
+
git add -A
|
|
77
|
+
git commit -m "Final commit of version $VERSION" --no-edit
|
|
78
|
+
|
|
79
|
+
info "Publishing to npm ...\n"
|
|
80
|
+
npm publish
|
|
81
|
+
|
|
82
|
+
# Complete the release. This will also tag it.
|
|
83
|
+
git flow release finish $VERSION -p -m "Completing release of $VERSION"
|
|
84
|
+
|
|
85
|
+
git checkout master
|
|
86
|
+
git push --follow-tags
|
|
87
|
+
|
|
88
|
+
# Prepare the dev branch for the new cycle
|
|
89
|
+
git checkout dev
|
|
90
|
+
|
|
91
|
+
# Strange bug, have to bump it again
|
|
92
|
+
gulp bumpVersion --write --version=$VERSION
|
|
93
|
+
|
|
94
|
+
unset GIT_MERGE_AUTOEDIT
|
|
95
|
+
|
|
96
|
+
info "\nAll good. Ready for the next cycle!\n"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIEUzCCArugAwIBAgIRAN/YfTdhkaWPOikBV/CnP3cwDQYJKoZIhvcNAQELBQAw
|
|
3
|
+
gY0xHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTExMC8GA1UECwwobWlj
|
|
4
|
+
aGFlbC1oZXViZXJnZXJATTEgKE1pY2hhZWwgSGV1YmVyZ2VyKTE4MDYGA1UEAwwv
|
|
5
|
+
bWtjZXJ0IG1pY2hhZWwtaGV1YmVyZ2VyQE0xIChNaWNoYWVsIEhldWJlcmdlcikw
|
|
6
|
+
HhcNMjQxMDAyMjMxOTIxWhcNMjcwMTAyMjMxOTIxWjBcMScwJQYDVQQKEx5ta2Nl
|
|
7
|
+
cnQgZGV2ZWxvcG1lbnQgY2VydGlmaWNhdGUxMTAvBgNVBAsMKG1pY2hhZWwtaGV1
|
|
8
|
+
YmVyZ2VyQE0xIChNaWNoYWVsIEhldWJlcmdlcikwggEiMA0GCSqGSIb3DQEBAQUA
|
|
9
|
+
A4IBDwAwggEKAoIBAQDogjYZlm03dDvQmd+GsSTuVLb4dUedoV7unfkurNuYFJUg
|
|
10
|
+
m9TVWJrsgljSmcobI2ByJLYx+6qub8o4p7W9VTXYjCqmwNvTGh6r+MFnkyOglPS+
|
|
11
|
+
c22Q0qmLcUPNTCwWRuxAImLGJvo8lSJmxutYQ5CsWDfz0B/O8VAABds6GYKYt7rz
|
|
12
|
+
QLACGMz6oiZWRpzVWzqTagJ23TXmYDde45OteTQpttA3PxrQYZtw+XhJAR45rHwE
|
|
13
|
+
X3J8lJRwWEq+QWvHehP7+nlaIIJanLP+x/qd6Vvoy4n2NlmBcDItK7cWxRx0xdW7
|
|
14
|
+
u3HhjeSZrkmz6Ido5FPRNjJASc1JHGE4jwUL54bNAgMBAAGjXjBcMA4GA1UdDwEB
|
|
15
|
+
/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAfBgNVHSMEGDAWgBSJqVlmXtgN
|
|
16
|
+
xoK8V59jOd6vWTJ1VjAUBgNVHREEDTALgglsb2NhbGhvc3QwDQYJKoZIhvcNAQEL
|
|
17
|
+
BQADggGBADDfAY3vdgB7t3iflT/Szx4Jz0c38itzKKSTtH+JCBL4a7UVE0Zk6j3W
|
|
18
|
+
haBAoOtqOh7iygSvHCtnus+d1EnGzafnbhK2KZdK5hIbr7D/ZV8hqKLFHaynmopl
|
|
19
|
+
z/yaJ5fPgMwlIYRQqu3DUujuculqvMjeBuauxO9H8bMRmdnh5yGRBNBErJA86uwI
|
|
20
|
+
hvKKPAZX2rHcqhWkPP09K+8qX37cp2yhxnrF6+18bTvg1TGRAd3/60Fiko7o5VcV
|
|
21
|
+
+29ToWxoW0jf2efXLaV0OpfQdsSvG54yax3f3zYWcJXTK1uEulCZbWJMThnGTlrx
|
|
22
|
+
Npev+MtKgJCnenPsPTwWk5ObQBWM/mdybMSSyzoy4bMH7aSckPWe8cFRuRfWzXU3
|
|
23
|
+
+MQ/eHKQXcg2r8HQ28OYlH3dP921dfUinGKFKrloqGBTqokkZPUjgzIs5F9+ByJi
|
|
24
|
+
+41ySU28hwLZXG4qKpqsFNhQOmJayJFgOMdSyoCPRvg2CafvsWuGkPrBTsas9zoE
|
|
25
|
+
mkAxOjgSrA==
|
|
26
|
+
-----END CERTIFICATE-----
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDogjYZlm03dDvQ
|
|
3
|
+
md+GsSTuVLb4dUedoV7unfkurNuYFJUgm9TVWJrsgljSmcobI2ByJLYx+6qub8o4
|
|
4
|
+
p7W9VTXYjCqmwNvTGh6r+MFnkyOglPS+c22Q0qmLcUPNTCwWRuxAImLGJvo8lSJm
|
|
5
|
+
xutYQ5CsWDfz0B/O8VAABds6GYKYt7rzQLACGMz6oiZWRpzVWzqTagJ23TXmYDde
|
|
6
|
+
45OteTQpttA3PxrQYZtw+XhJAR45rHwEX3J8lJRwWEq+QWvHehP7+nlaIIJanLP+
|
|
7
|
+
x/qd6Vvoy4n2NlmBcDItK7cWxRx0xdW7u3HhjeSZrkmz6Ido5FPRNjJASc1JHGE4
|
|
8
|
+
jwUL54bNAgMBAAECggEBAMrL1/gVdolpvkpCC+7lT3r5NOYdFSvt9mlWLGODrb1G
|
|
9
|
+
JpRclxTGxcoIHwUB0oA9KQAl+Sw7gDHJm64yyZesXNzV1NXBXXsRSzNgMwDuG6MS
|
|
10
|
+
iS4ca7JnrC3Nyv+jsshzb9i4pUKD+LsisPDIC7nepK9N+u+T1kqfu9FpSj+wxHIC
|
|
11
|
+
FR+5hfdwkkH2Sqbsvu+b2o0n+qI4zbsdSV/7N2d9X2UCuYMsr095isTRaNEEbvX3
|
|
12
|
+
Y2KW61pK//GxVUVoqVxq6iEF0SK8zdEZF91T32ywoHHBswe8EJMnu2yDQTF+nfVo
|
|
13
|
+
5LIpeMf+walKmn2fjd/3KthWrZQNPF2nz42JOgy5IlkCgYEA7AdddLCqiUfESGuS
|
|
14
|
+
VpCZk4C19ocX7FpXs8YkuB/nKLjLfQ0BcfX4qSqbQdKBainMfJfwjc0MOUx/Lo4s
|
|
15
|
+
7f0d7qn/u/U/W09vsEvAZj64lNunr6eWBaNTAlzESMyzLjbxzEL1do/8zsdnrvLz
|
|
16
|
+
c5SNHWwWIlQy4mdHEtufbwxavycCgYEA/C6YsWTWj6SIcz4R1wVkH3fxIBbFnnEa
|
|
17
|
+
nSwTmkDZrcap/8aaMTImHfvBYuM/xwEYKTnaBO801LggIDcTZSmwJF7+hNrhGKZz
|
|
18
|
+
Rx3lkQT3aW5Zh04eqimxGZ4W6uwxTO0DsBE2N7fSaQE8dQszoqjweNll76Wabmca
|
|
19
|
+
h4L5B0leQusCgYEAmRR5x3nhUSILqtCh26TzBhifa6HYoUFCymUDYavHV8DqsVMj
|
|
20
|
+
Ec9vFAB/K6SkrL8pUdGVgdJwUCVOA1rQxxW4ORdmtnfsPIN7s8KdqXKacmk4C5PM
|
|
21
|
+
mCGCb/DMmU6yE5ItJsZyvw/J7i6kD3Kg9OBu2ZtFi8RCMFa9YPyyHerMXFcCgYAO
|
|
22
|
+
AKxb1USQr0sgUwb8kIERukA6TulkNdWLeqIQA5/SpWBVInr3VliFe7AuRH4LF8V2
|
|
23
|
+
rI6tjXa6hQrLnyNFj74HFvs890ZebwehoEhZ+BOg2A7Ck5TiT/RUftG486p9If/9
|
|
24
|
+
a8c96sgVKotn2FpioszPeQrO9rwPe0we0CfxvqIsRwKBgQCXjSpD+Ak5Qt2Lfjb3
|
|
25
|
+
wqePMJ8C/INU7qMz62pJqlC+UM5GRrlZMkTzxEkMOlm1GW/y8J0wvIJhw4L2ofsH
|
|
26
|
+
NLCs2WQCvVfKC3L0BafSPzXPejFzYhRgKUSSQkknZeDQQzEy6WWwwPZMV/BTSqXH
|
|
27
|
+
Sj7SWGOET46bFODDf4CCRsRjyA==
|
|
28
|
+
-----END PRIVATE KEY-----
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
set -ex
|
|
4
|
+
|
|
5
|
+
# That's for local development only
|
|
6
|
+
|
|
7
|
+
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
8
|
+
|
|
9
|
+
DOMAIN="localhost"
|
|
10
|
+
KEY_FILE="$DIR/localhost.key"
|
|
11
|
+
CERT_FILE="$DIR/localhost.crt"
|
|
12
|
+
|
|
13
|
+
mkcert -cert-file $CERT_FILE -key-file $KEY_FILE $DOMAIN
|
|
14
|
+
|
|
15
|
+
echo "Done!"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "videomail-client",
|
|
3
|
-
"version": "9.4.
|
|
3
|
+
"version": "9.4.2",
|
|
4
4
|
"description": "A wicked npm package to record videos directly in the browser, wohooo!",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"webcam",
|
|
@@ -28,12 +28,11 @@
|
|
|
28
28
|
"scripts": {
|
|
29
29
|
"audit": "npx audit-ci --config audit-ci.json",
|
|
30
30
|
"build": "gulp build",
|
|
31
|
-
"clean": "rm -rf node_modules && rm -rf package-lock.json",
|
|
32
31
|
"lint": "eslint --color ./src ./test ./gulpfile.js",
|
|
33
32
|
"lint:fix": "npm --silent run lint -- --fix",
|
|
34
|
-
"major": "./
|
|
35
|
-
"minor": "./
|
|
36
|
-
"patch": "./
|
|
33
|
+
"major": "./etc/release.sh --importance=major",
|
|
34
|
+
"minor": "./etc/release.sh --importance=minor",
|
|
35
|
+
"patch": "./etc/release.sh --importance=patch",
|
|
37
36
|
"prettier": "prettier --check ./src ./test ./prototype/*.html gulpfile.js",
|
|
38
37
|
"prettier:fix": "prettier --write ./src ./test ./prototype/*.html gulpfile.js",
|
|
39
38
|
"test": "gulp test",
|
|
@@ -109,7 +108,6 @@
|
|
|
109
108
|
"postcss": "8.4.47",
|
|
110
109
|
"prettier": "3.3.3",
|
|
111
110
|
"prettier-plugin-curly": "0.2.2",
|
|
112
|
-
"prettier-plugin-organize-imports": "4.1.0",
|
|
113
111
|
"prettier-plugin-packagejson": "2.5.2",
|
|
114
112
|
"prettier-plugin-sh": "0.14.0",
|
|
115
113
|
"router": "1.3.8",
|
|
@@ -121,8 +119,8 @@
|
|
|
121
119
|
"watchify": "4.0.0"
|
|
122
120
|
},
|
|
123
121
|
"engines": {
|
|
124
|
-
"node": "
|
|
125
|
-
"npm": "
|
|
122
|
+
"node": "^22.8.0",
|
|
123
|
+
"npm": "^10.8.2"
|
|
126
124
|
},
|
|
127
125
|
"readmeFilename": "README.md"
|
|
128
126
|
}
|
package/prettier.config.cjs
CHANGED
|
@@ -3,13 +3,7 @@
|
|
|
3
3
|
/** @type {import('prettier').Config} */
|
|
4
4
|
const config = {
|
|
5
5
|
printWidth: 90,
|
|
6
|
-
plugins: [
|
|
7
|
-
"prettier-plugin-organize-imports",
|
|
8
|
-
"prettier-plugin-curly",
|
|
9
|
-
"prettier-plugin-sh",
|
|
10
|
-
"prettier-plugin-packagejson",
|
|
11
|
-
],
|
|
12
|
-
organizeImportsSkipDestructiveCodeActions: true,
|
|
6
|
+
plugins: ["prettier-plugin-curly", "prettier-plugin-sh", "prettier-plugin-packagejson"],
|
|
13
7
|
};
|
|
14
8
|
|
|
15
9
|
module.exports = config;
|
|
@@ -16907,7 +16907,7 @@ function wrappy (fn, cb) {
|
|
|
16907
16907
|
},{}],112:[function(_dereq_,module,exports){
|
|
16908
16908
|
module.exports={
|
|
16909
16909
|
"name": "videomail-client",
|
|
16910
|
-
"version": "9.4.
|
|
16910
|
+
"version": "9.4.2",
|
|
16911
16911
|
"description": "A wicked npm package to record videos directly in the browser, wohooo!",
|
|
16912
16912
|
"keywords": [
|
|
16913
16913
|
"webcam",
|
|
@@ -16935,12 +16935,11 @@ module.exports={
|
|
|
16935
16935
|
"scripts": {
|
|
16936
16936
|
"audit": "npx audit-ci --config audit-ci.json",
|
|
16937
16937
|
"build": "gulp build",
|
|
16938
|
-
"clean": "rm -rf node_modules && rm -rf package-lock.json",
|
|
16939
16938
|
"lint": "eslint --color ./src ./test ./gulpfile.js",
|
|
16940
16939
|
"lint:fix": "npm --silent run lint -- --fix",
|
|
16941
|
-
"major": "./
|
|
16942
|
-
"minor": "./
|
|
16943
|
-
"patch": "./
|
|
16940
|
+
"major": "./etc/release.sh --importance=major",
|
|
16941
|
+
"minor": "./etc/release.sh --importance=minor",
|
|
16942
|
+
"patch": "./etc/release.sh --importance=patch",
|
|
16944
16943
|
"prettier": "prettier --check ./src ./test ./prototype/*.html gulpfile.js",
|
|
16945
16944
|
"prettier:fix": "prettier --write ./src ./test ./prototype/*.html gulpfile.js",
|
|
16946
16945
|
"test": "gulp test",
|
|
@@ -17016,7 +17015,6 @@ module.exports={
|
|
|
17016
17015
|
"postcss": "8.4.47",
|
|
17017
17016
|
"prettier": "3.3.3",
|
|
17018
17017
|
"prettier-plugin-curly": "0.2.2",
|
|
17019
|
-
"prettier-plugin-organize-imports": "4.1.0",
|
|
17020
17018
|
"prettier-plugin-packagejson": "2.5.2",
|
|
17021
17019
|
"prettier-plugin-sh": "0.14.0",
|
|
17022
17020
|
"router": "1.3.8",
|
|
@@ -17028,8 +17026,8 @@ module.exports={
|
|
|
17028
17026
|
"watchify": "4.0.0"
|
|
17029
17027
|
},
|
|
17030
17028
|
"engines": {
|
|
17031
|
-
"node": "
|
|
17032
|
-
"npm": "
|
|
17029
|
+
"node": "^22.8.0",
|
|
17030
|
+
"npm": "^10.8.2"
|
|
17033
17031
|
},
|
|
17034
17032
|
"readmeFilename": "README.md"
|
|
17035
17033
|
}
|
|
@@ -21924,15 +21922,7 @@ var Recorder = function Recorder(visuals, replay) {
|
|
|
21924
21922
|
connecting = connected = false;
|
|
21925
21923
|
if (err) {
|
|
21926
21924
|
self.emit(_events.default.ERROR, err || "Unhandled websocket error");
|
|
21927
|
-
} else {
|
|
21928
|
-
// COMMENTED OUT TEMPORARILY, PROBABLY OLD CODE TOO
|
|
21929
|
-
// UPON CLOSE IT SHOULD TRY TO RECONNECT INSTEAD OF DISCONNECT.
|
|
21930
|
-
|
|
21931
|
-
// self.emit(Events.DISCONNECTED);
|
|
21932
|
-
// // prevents from https://github.com/binarykitchen/videomail.io/issues/297 happening
|
|
21933
|
-
// cancelAnimationFrame();
|
|
21934
|
-
|
|
21935
|
-
// New: try to reconnect
|
|
21925
|
+
} else if (userMediaLoaded) {
|
|
21936
21926
|
initSocket();
|
|
21937
21927
|
}
|
|
21938
21928
|
});
|
|
@@ -23068,6 +23058,10 @@ var Replay = function Replay(parentElement, options) {
|
|
|
23068
23058
|
default: true
|
|
23069
23059
|
});
|
|
23070
23060
|
replayElement.appendChild(track);
|
|
23061
|
+
|
|
23062
|
+
// Because the local videomail server for development uses a different port, see
|
|
23063
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track
|
|
23064
|
+
replayElement.setAttribute("crossorigin", "anonymous");
|
|
23071
23065
|
}
|
|
23072
23066
|
}
|
|
23073
23067
|
function setVideoSource(type, src, bustCache) {
|