From e3ee3d0f9deefead8112e604adf5bc763f83f81d Mon Sep 17 00:00:00 2001
From: Giovanni Caruso <gc4117@cloud-vm-36-76.doc.ic.ac.uk>
Date: Fri, 8 Nov 2019 15:03:35 +0000
Subject: [PATCH] Changed avatar generation to jdenticon

---
 package-lock.json | 19 +++++++++++++++++++
 package.json      |  1 +
 public/styles.css |  2 --
 src/app.js        |  6 +++---
 4 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 3912da3..cc1c983 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -472,6 +472,11 @@
         "@types/istanbul-lib-report": "*"
       }
     },
+    "@types/node": {
+      "version": "12.12.6",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.6.tgz",
+      "integrity": "sha512-FjsYUPzEJdGXjwKqSpE0/9QEh6kzhTAeObA54rn6j3rR4C/mzpI9L0KNfoeASSPMMdxIsoJuCLDWcM/rVjIsSA=="
+    },
     "@types/stack-utils": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
@@ -1404,6 +1409,11 @@
       "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
       "dev": true
     },
+    "canvas-renderer": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/canvas-renderer/-/canvas-renderer-2.1.1.tgz",
+      "integrity": "sha512-/V0XetN7s1Mk3NO7x2wxPZYv0pLMQtGAhecuOuKR88beiYCUle1AbCcFZNLu+4NVzi9RVHS0rXtIgzPEaKidLw=="
+    },
     "capture-exit": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
@@ -4278,6 +4288,15 @@
         "handlebars": "^4.1.2"
       }
     },
+    "jdenticon": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/jdenticon/-/jdenticon-2.2.0.tgz",
+      "integrity": "sha512-WGqwpjN9pab/Sah9pGnFH5tQc3HF3WbLV/tPVbykvk5nuAkxG/zhzQYWC2owvpnS+/A0HmlSx35rtY8kyN+x7Q==",
+      "requires": {
+        "@types/node": "*",
+        "canvas-renderer": "~2.1.1"
+      }
+    },
     "jest": {
       "version": "24.9.0",
       "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz",
diff --git a/package.json b/package.json
index 448c287..fecbc83 100644
--- a/package.json
+++ b/package.json
@@ -29,6 +29,7 @@
     "dotenv": "^8.2.0",
     "express": "^4.17.1",
     "humanhash": "^1.0.4",
+    "jdenticon": "^2.2.0",
     "liowebrtc": "file:src/liowebrtc",
     "pako": "^1.0.10",
     "signalbuddy": "file:src/signalbuddy",
diff --git a/public/styles.css b/public/styles.css
index e9f840e..7369943 100644
--- a/public/styles.css
+++ b/public/styles.css
@@ -525,8 +525,6 @@ button.selected {
 }
 
 .avatar {
-  width: 100px;
-  height: 100px;
   margin-right: 5px;
   border-radius: 100px;
 }
diff --git a/src/app.js b/src/app.js
index 563f412..113f96e 100644
--- a/src/app.js
+++ b/src/app.js
@@ -231,9 +231,9 @@ const getOrInsertPeerById = (id) => {
 
   const peerElem = document.createElement("li")
 
-  const avatarImage = document.createElement("img")
-  avatarImage.src = "https://robohash.org/" + id + ".png" + "?bgset=bg1"
-  avatarImage.alt = id
+  const jdenticon = require("jdenticon")
+  const avatarImage = document.createElement("svg")
+  avatarImage.innerHTML = jdenticon.toSvg(id, 50)
   avatarImage.className = "avatar"
 
   const quality = document.createElement("img")
-- 
GitLab