diff --git a/.env.template b/.env.template index 6a205f9a..9a93e061 100644 --- a/.env.template +++ b/.env.template @@ -1,5 +1,5 @@ # ==================================================== -# MiroTalk P2P v.1.7.02 - Environment Configuration +# MiroTalk P2P v.1.7.03 - Environment Configuration # ==================================================== # App environment diff --git a/app/src/config.template.js b/app/src/config.template.js index c677e11c..b00f4cc1 100644 --- a/app/src/config.template.js +++ b/app/src/config.template.js @@ -2,7 +2,7 @@ /** * ============================================== - * MiroTalk P2P v.1.7.02 - Configuration File + * MiroTalk P2P v.1.7.03 - Configuration File * ============================================== * * Branding and customizations require a license: diff --git a/app/src/server.js b/app/src/server.js index 0a5742df..2bcc0a2e 100755 --- a/app/src/server.js +++ b/app/src/server.js @@ -45,7 +45,7 @@ dependencies: { * @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon * @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661 * @author Miroslav Pejic - miroslav.pejic.85@gmail.com - * @version 1.7.02 + * @version 1.7.03 * */ diff --git a/package-lock.json b/package-lock.json index dc957fbd..befff210 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mirotalk", - "version": "1.7.01", + "version": "1.7.03", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mirotalk", - "version": "1.7.01", + "version": "1.7.03", "license": "AGPL-3.0", "dependencies": { "@mattermost/client": "11.2.0", @@ -27,7 +27,7 @@ "helmet": "^8.1.0", "httpolyglot": "0.1.2", "js-yaml": "^4.1.1", - "jsdom": "^27.3.0", + "jsdom": "^27.4.0", "jsonwebtoken": "^9.0.3", "nodemailer": "^7.0.12", "openai": "^6.15.0", @@ -276,6 +276,23 @@ "node": ">=18" } }, + "node_modules/@exodus/bytes": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.6.0.tgz", + "integrity": "sha512-y32mI9627q5LR/L8fLc4YyDRJQOi+jK0D9okzLilAdiU3F9we3zC7Y7CFrR/8vAvUyv7FgBAYcNHtvbmhKCFcw==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@exodus/crypto": "^1.0.0-rc.4" + }, + "peerDependenciesMeta": { + "@exodus/crypto": { + "optional": true + } + } + }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -3566,15 +3583,15 @@ } }, "node_modules/html-encoding-sniffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", - "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", "license": "MIT", "dependencies": { - "whatwg-encoding": "^3.1.1" + "@exodus/bytes": "^1.6.0" }, "engines": { - "node": ">=18" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, "node_modules/http-cache-semantics": { @@ -3696,18 +3713,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ignore-by-default": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", @@ -4278,17 +4283,18 @@ } }, "node_modules/jsdom": { - "version": "27.3.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-27.3.0.tgz", - "integrity": "sha512-GtldT42B8+jefDUC4yUKAvsaOrH7PDHmZxZXNgF2xMmymjUbRYJvpAybZAKEmXDGTM0mCsz8duOa4vTm5AY2Kg==", + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-27.4.0.tgz", + "integrity": "sha512-mjzqwWRD9Y1J1KUi7W97Gja1bwOOM5Ug0EZ6UDK3xS7j7mndrkwozHtSblfomlzyB4NepioNt+B2sOSzczVgtQ==", "license": "MIT", "dependencies": { "@acemir/cssom": "^0.9.28", "@asamuzakjp/dom-selector": "^6.7.6", + "@exodus/bytes": "^1.6.0", "cssstyle": "^5.3.4", "data-urls": "^6.0.0", "decimal.js": "^10.6.0", - "html-encoding-sniffer": "^4.0.0", + "html-encoding-sniffer": "^6.0.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", @@ -4298,7 +4304,6 @@ "tough-cookie": "^6.0.0", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^8.0.0", - "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^15.1.0", "ws": "^8.18.3", @@ -6810,18 +6815,6 @@ "node": ">=20" } }, - "node_modules/whatwg-encoding": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", - "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", - "license": "MIT", - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/whatwg-mimetype": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", diff --git a/package.json b/package.json index 777a0add..71662bd4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mirotalk", - "version": "1.7.02", + "version": "1.7.03", "description": "A free WebRTC browser-based video call", "main": "server.js", "scripts": { @@ -59,7 +59,7 @@ "helmet": "^8.1.0", "httpolyglot": "0.1.2", "js-yaml": "^4.1.1", - "jsdom": "^27.3.0", + "jsdom": "^27.4.0", "jsonwebtoken": "^9.0.3", "nodemailer": "^7.0.12", "openai": "^6.15.0", diff --git a/public/css/whiteboard.css b/public/css/whiteboard.css index fc7486a5..d48ea58b 100644 --- a/public/css/whiteboard.css +++ b/public/css/whiteboard.css @@ -109,44 +109,53 @@ appearance: none; padding: 0; width: 20px; - height: 15px; + height: 20px; margin: 2px; - border-radius: 20px; - border: solid 0.5px #afadad38; + border-radius: 50%; + border: 2px solid #afadad38; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); + background: transparent; cursor: pointer; + transition: + box-shadow 0.2s, + border 0.2s, + transform 0.2s; + display: inline-block; + vertical-align: middle; } .whiteboardColorPicker:hover { - transform: var(--btns-hover-scale); - transition: all 0.3s ease-in-out; + box-shadow: 0 0 0 2px rgba(102, 190, 255, 0.18); + border: 2px solid #66beff; + transform: scale(1.12); } .whiteboardColorPicker::-webkit-color-swatch { border: none; - border-radius: 20px; + border-radius: 50%; padding: 0; } .whiteboardColorPicker::-webkit-color-swatch-wrapper { border: none; - border-radius: 20px; + border-radius: 50%; padding: 0; } .whiteboardColorPicker::-moz-color-swatch { border: none; - border-radius: 20px; + border-radius: 50%; padding: 0; } .whiteboardColorPicker::-moz-color-swatch-wrapper { border: none; - border-radius: 20px; + border-radius: 50%; padding: 0; } .whiteboardColorPicker::color-swatch { border: none; - border-radius: 20px; + border-radius: 50%; padding: 0; } .whiteboardColorPicker::color-swatch-wrapper { border: none; - border-radius: 20px; + border-radius: 50%; padding: 0; } diff --git a/public/js/brand.js b/public/js/brand.js index 5a135d03..c7fcd47d 100644 --- a/public/js/brand.js +++ b/public/js/brand.js @@ -77,7 +77,7 @@ let brand = { }, about: { imageUrl: '../images/mirotalk-logo.gif', - title: 'WebRTC P2P v1.7.02', + title: 'WebRTC P2P v1.7.03', html: `