[mirotalk] - replace Robohash avatars with DiceBear and update credits
This commit is contained in:
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
# ====================================================
|
# ====================================================
|
||||||
# MiroTalk P2P v.1.8.25 - Environment Configuration
|
# MiroTalk P2P v.1.8.26 - Environment Configuration
|
||||||
# ====================================================
|
# ====================================================
|
||||||
|
|
||||||
# App environment
|
# App environment
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ To set up your own instance of `MiroTalk P2P` on a dedicated cloud server, pleas
|
|||||||
- ianramzy (html [template](https://cruip.com/demos/neon/))
|
- ianramzy (html [template](https://cruip.com/demos/neon/))
|
||||||
- vasanthv (webrtc-logic)
|
- vasanthv (webrtc-logic)
|
||||||
- fabric.js (whiteboard)
|
- fabric.js (whiteboard)
|
||||||
- [Robohash.org](https://robohash.org) (random avatars)
|
- [DiceBear](https://www.dicebear.com/) (random avatars)
|
||||||
- [Image by ddraw on Freepik](https://www.freepik.com/free-vector/collection-female-male-avatars_1105371.htm) (avatar illustrations)
|
- [Image by ddraw on Freepik](https://www.freepik.com/free-vector/collection-female-male-avatars_1105371.htm) (avatar illustrations)
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* ==============================================
|
* ==============================================
|
||||||
* MiroTalk P2P v.1.8.25 - Configuration File
|
* MiroTalk P2P v.1.8.26 - Configuration File
|
||||||
* ==============================================
|
* ==============================================
|
||||||
*
|
*
|
||||||
* This file is the central configuration source.
|
* This file is the central configuration source.
|
||||||
|
|||||||
+1
-1
@@ -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 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
|
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
|
||||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||||
* @version 1.8.25
|
* @version 1.8.26
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
Generated
+6
-6
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "mirotalk",
|
"name": "mirotalk",
|
||||||
"version": "1.8.25",
|
"version": "1.8.26",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "mirotalk",
|
"name": "mirotalk",
|
||||||
"version": "1.8.25",
|
"version": "1.8.26",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mattermost/client": "11.6.0",
|
"@mattermost/client": "11.6.0",
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
"helmet": "^8.1.0",
|
"helmet": "^8.1.0",
|
||||||
"httpolyglot": "0.1.2",
|
"httpolyglot": "0.1.2",
|
||||||
"js-yaml": "^4.1.1",
|
"js-yaml": "^4.1.1",
|
||||||
"jsdom": "^29.1.0",
|
"jsdom": "^29.1.1",
|
||||||
"jsonwebtoken": "^9.0.3",
|
"jsonwebtoken": "^9.0.3",
|
||||||
"nodemailer": "^8.0.7",
|
"nodemailer": "^8.0.7",
|
||||||
"openai": "^6.35.0",
|
"openai": "^6.35.0",
|
||||||
@@ -4301,9 +4301,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/jsdom": {
|
"node_modules/jsdom": {
|
||||||
"version": "29.1.0",
|
"version": "29.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz",
|
||||||
"integrity": "sha512-YNUc7fB9QuvSSQWfrH0xF+TyABkxUwx8sswgIDaCrw4Hol8BghdZDkITtZheRJeMtzWlnTfsM3bBBusRvpO1wg==",
|
"integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@asamuzakjp/css-color": "^5.1.11",
|
"@asamuzakjp/css-color": "^5.1.11",
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mirotalk",
|
"name": "mirotalk",
|
||||||
"version": "1.8.25",
|
"version": "1.8.26",
|
||||||
"description": "A free WebRTC browser-based video call",
|
"description": "A free WebRTC browser-based video call",
|
||||||
"main": "server.js",
|
"main": "server.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
"helmet": "^8.1.0",
|
"helmet": "^8.1.0",
|
||||||
"httpolyglot": "0.1.2",
|
"httpolyglot": "0.1.2",
|
||||||
"js-yaml": "^4.1.1",
|
"js-yaml": "^4.1.1",
|
||||||
"jsdom": "^29.1.0",
|
"jsdom": "^29.1.1",
|
||||||
"jsonwebtoken": "^9.0.3",
|
"jsonwebtoken": "^9.0.3",
|
||||||
"nodemailer": "^8.0.7",
|
"nodemailer": "^8.0.7",
|
||||||
"openai": "^6.35.0",
|
"openai": "^6.35.0",
|
||||||
|
|||||||
+1
-1
@@ -109,7 +109,7 @@ let brand = {
|
|||||||
},
|
},
|
||||||
about: {
|
about: {
|
||||||
imageUrl: '../images/mirotalk-logo.gif',
|
imageUrl: '../images/mirotalk-logo.gif',
|
||||||
title: 'WebRTC P2P v1.8.25',
|
title: 'WebRTC P2P v1.8.26',
|
||||||
html: `
|
html: `
|
||||||
<button
|
<button
|
||||||
id="support-button"
|
id="support-button"
|
||||||
|
|||||||
+22
-12
@@ -15,7 +15,7 @@
|
|||||||
* @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon
|
* @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
|
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
|
||||||
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
|
||||||
* @version 1.8.25
|
* @version 1.8.26
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -11816,7 +11816,7 @@ function isImageURL(input) {
|
|||||||
/**
|
/**
|
||||||
* Check if a URL is a valid HTTP/HTTPS avatar URL.
|
* Check if a URL is a valid HTTP/HTTPS avatar URL.
|
||||||
* Unlike isImageURL, this does NOT require a file extension,
|
* Unlike isImageURL, this does NOT require a file extension,
|
||||||
* so it accepts dynamic avatar endpoints (e.g. GitHub, Gravatar, Robohash).
|
* so it accepts dynamic avatar endpoints (e.g. GitHub, Gravatar, DiceBear).
|
||||||
* @param {string} input
|
* @param {string} input
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
@@ -12345,22 +12345,32 @@ async function updateMyPeerAvatarByUrl() {
|
|||||||
localGrid.appendChild(makeAvatarImg(url));
|
localGrid.appendChild(makeAvatarImg(url));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Robohash random avatars
|
// DiceBear random avatars
|
||||||
const roboLabel = document.createElement('p');
|
const randomAvatarLabel = document.createElement('p');
|
||||||
roboLabel.textContent = 'Or pick a random avatar:';
|
randomAvatarLabel.textContent = 'Or pick a random avatar:';
|
||||||
roboLabel.style.cssText = 'color:#aaa;font-size:12px;margin:10px 0 6px;text-align:center;';
|
randomAvatarLabel.style.cssText = 'color:#aaa;font-size:12px;margin:10px 0 6px;text-align:center;';
|
||||||
|
|
||||||
const roboGrid = document.createElement('div');
|
const randomAvatarGrid = document.createElement('div');
|
||||||
roboGrid.style.cssText = 'display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:4px;';
|
randomAvatarGrid.style.cssText =
|
||||||
|
'display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:4px;';
|
||||||
|
const dicebearStyles = [
|
||||||
|
'bottts-neutral',
|
||||||
|
'adventurer-neutral',
|
||||||
|
'thumbs',
|
||||||
|
'initials',
|
||||||
|
'identicon',
|
||||||
|
'shapes',
|
||||||
|
];
|
||||||
|
|
||||||
for (let i = 0; i < 6; i++) {
|
for (let i = 0; i < 6; i++) {
|
||||||
const seed = Math.random().toString(36).substring(2, 10);
|
const seed = Math.random().toString(36).substring(2, 10);
|
||||||
const url = `https://robohash.org/${seed}.png`;
|
const style = dicebearStyles[i % dicebearStyles.length];
|
||||||
roboGrid.appendChild(makeAvatarImg(url));
|
const url = `https://api.dicebear.com/9.x/${style}/svg?seed=${encodeURIComponent(seed)}`;
|
||||||
|
randomAvatarGrid.appendChild(makeAvatarImg(url));
|
||||||
}
|
}
|
||||||
|
|
||||||
let insertAfter = input;
|
let insertAfter = input;
|
||||||
for (const el of [localLabel, localGrid, roboLabel, roboGrid]) {
|
for (const el of [localLabel, localGrid, randomAvatarLabel, randomAvatarGrid]) {
|
||||||
insertAfter.parentNode.insertBefore(el, insertAfter.nextSibling);
|
insertAfter.parentNode.insertBefore(el, insertAfter.nextSibling);
|
||||||
insertAfter = el;
|
insertAfter = el;
|
||||||
}
|
}
|
||||||
@@ -15682,7 +15692,7 @@ function showAbout() {
|
|||||||
Swal.fire({
|
Swal.fire({
|
||||||
background: swBg,
|
background: swBg,
|
||||||
position: 'center',
|
position: 'center',
|
||||||
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.8.25',
|
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.8.26',
|
||||||
imageUrl: brand.about?.imageUrl && brand.about.imageUrl.trim() !== '' ? brand.about.imageUrl : images.about,
|
imageUrl: brand.about?.imageUrl && brand.about.imageUrl.trim() !== '' ? brand.about.imageUrl : images.about,
|
||||||
customClass: { image: 'img-about' },
|
customClass: { image: 'img-about' },
|
||||||
html: `
|
html: `
|
||||||
|
|||||||
Reference in New Issue
Block a user