diff --git a/app/package-lock.json b/app/package-lock.json
index ecdbeeb6fb7d6e128fe168bfb99e25d87a12cb8e..b211b55844b321782cb787d13a14e0ef025ae740 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "nodenogg.in",
-  "version": "0.1.35",
+  "version": "0.1.36",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
@@ -1507,9 +1507,9 @@
       "integrity": "sha512-WSrlgpvEqgPWkI18kkGELEZfXr0bYLtr16iIN4Krh9sRnzBZN6nnWxHFxtsnP684wueEySBbXPDg/WfA9xJdBQ=="
     },
     "@hapi/hapi": {
-      "version": "20.0.2",
-      "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-20.0.2.tgz",
-      "integrity": "sha512-F59cZOZhEXpOL+o7RT76M/QDUwSn3u+RBkB+9l2NqTPEA11+inaiEZ0Z2DrRoo9g5EzWVU/gygdP4uo5aXQNHg==",
+      "version": "20.0.3",
+      "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-20.0.3.tgz",
+      "integrity": "sha512-aqJVHVjoY3phiZsgsGjDRG15CoUNIs1azScqLZDOCZUSKYGTbzPi+K0QP+RUjUJ0m8L9dRuTZ27c8HKxG3wEhA==",
       "requires": {
         "@hapi/accept": "^5.0.1",
         "@hapi/ammo": "^5.0.1",
@@ -1844,9 +1844,9 @@
       }
     },
     "@hapi/wreck": {
-      "version": "17.0.0",
-      "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-17.0.0.tgz",
-      "integrity": "sha512-d8lqCinbKyDByn7GzJDRDbitddhIEydNm44UcAMejfhEH3o4IYvKYq6K8cAqXbilXPuvZc0ErlUOg9SDdgRtMw==",
+      "version": "17.1.0",
+      "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-17.1.0.tgz",
+      "integrity": "sha512-nx6sFyfqOpJ+EFrHX+XWwJAxs3ju4iHdbB/bwR8yTNZOiYmuhA8eCe7lYPtYmb4j7vyK/SlbaQsmTtUrMvPEBw==",
       "requires": {
         "@hapi/boom": "9.x.x",
         "@hapi/bourne": "2.x.x",
@@ -5514,9 +5514,9 @@
       }
     },
     "core-js": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.7.0.tgz",
-      "integrity": "sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA=="
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.0.tgz",
+      "integrity": "sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA=="
     },
     "core-js-compat": {
       "version": "3.7.0",
@@ -5899,9 +5899,9 @@
       },
       "dependencies": {
         "buffer": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz",
-          "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==",
+          "version": "6.0.3",
+          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+          "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
           "requires": {
             "base64-js": "^1.3.1",
             "ieee754": "^1.2.1"
@@ -6654,6 +6654,14 @@
       "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
       "dev": true
     },
+    "electron-fetch": {
+      "version": "1.7.2",
+      "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.2.tgz",
+      "integrity": "sha512-J7D136rhxIhPwYJsnHPpKgbyd4NUCGnKM1CuXLhmVWZdc8f6+LBiJqUOTngtSacj+xvGWgaDWOAuCXnhqiMTCw==",
+      "requires": {
+        "encoding": "^0.1.13"
+      }
+    },
     "electron-to-chromium": {
       "version": "1.3.603",
       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.603.tgz",
@@ -6973,9 +6981,9 @@
       "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
     },
     "eslint": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz",
-      "integrity": "sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==",
+      "version": "7.14.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.14.0.tgz",
+      "integrity": "sha512-5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
@@ -7056,39 +7064,12 @@
             "which": "^2.0.1"
           }
         },
-        "eslint-scope": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-          "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-          "dev": true,
-          "requires": {
-            "esrecurse": "^4.3.0",
-            "estraverse": "^4.1.1"
-          }
-        },
         "eslint-visitor-keys": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz",
           "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
           "dev": true
         },
-        "esrecurse": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
-          "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-          "dev": true,
-          "requires": {
-            "estraverse": "^5.2.0"
-          },
-          "dependencies": {
-            "estraverse": {
-              "version": "5.2.0",
-              "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
-              "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
-              "dev": true
-            }
-          }
-        },
         "globals": {
           "version": "12.4.0",
           "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
@@ -9395,9 +9376,9 @@
       },
       "dependencies": {
         "buffer": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz",
-          "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==",
+          "version": "6.0.3",
+          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+          "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
           "requires": {
             "base64-js": "^1.3.1",
             "ieee754": "^1.2.1"
@@ -9535,13 +9516,13 @@
       "dev": true
     },
     "ipfs": {
-      "version": "0.52.1",
-      "resolved": "https://registry.npmjs.org/ipfs/-/ipfs-0.52.1.tgz",
-      "integrity": "sha512-L7QOSOIscgRS4qSpq8ewQo1FmCbyl6OM/EB+XsO0+UbN/bGamkTtW7K+noRs/1f++PZfqNTN2+c5dDxx2WfXzg==",
+      "version": "0.52.2",
+      "resolved": "https://registry.npmjs.org/ipfs/-/ipfs-0.52.2.tgz",
+      "integrity": "sha512-2OZe6HyHGzSfdv55RFuw89n43zj+hPGLfmsz0h2LL4OH7ERtQVCH/5foDEoV6NJsXnBnps8w6adCtyrZeze9IQ==",
       "requires": {
         "debug": "^4.1.1",
-        "ipfs-cli": "^0.2.1",
-        "ipfs-core": "^0.2.1",
+        "ipfs-cli": "^0.2.2",
+        "ipfs-core": "^0.3.0",
         "ipfs-repo": "^7.0.0",
         "semver": "^7.3.2",
         "update-notifier": "^5.0.0"
@@ -9588,9 +9569,9 @@
       }
     },
     "ipfs-cli": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/ipfs-cli/-/ipfs-cli-0.2.1.tgz",
-      "integrity": "sha512-uOsk/4R4/hFWJBpgtJ/16rBVvtFKqiz8udjcCShissRN9YjjzwRevVHgEHSriY9nTBBGHX7ZZe+Q9mqTDr+qKw==",
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/ipfs-cli/-/ipfs-cli-0.2.2.tgz",
+      "integrity": "sha512-9DhIdTd8P/uvBv+IdhGjHEl2lpeXm8x2sj30PLddBHFo9PHOWUfqwo7FYHYIzn6MiakL0XWph4HAKX9Jw0iHJA==",
       "requires": {
         "bignumber.js": "^9.0.0",
         "byteman": "^1.3.5",
@@ -9601,11 +9582,11 @@
         "err-code": "^2.0.3",
         "execa": "^4.0.3",
         "get-folder-size": "^2.0.1",
-        "ipfs-core": "^0.2.1",
-        "ipfs-core-utils": "^0.5.2",
-        "ipfs-http-client": "^48.1.1",
-        "ipfs-http-gateway": "^0.1.2",
-        "ipfs-http-server": "^0.1.2",
+        "ipfs-core": "^0.3.0",
+        "ipfs-core-utils": "^0.5.3",
+        "ipfs-http-client": "^48.1.2",
+        "ipfs-http-gateway": "^0.1.3",
+        "ipfs-http-server": "^0.1.3",
         "ipfs-repo": "^7.0.0",
         "ipfs-utils": "^5.0.0",
         "ipld-dag-cbor": "^0.17.0",
@@ -9783,11 +9764,10 @@
       }
     },
     "ipfs-core": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.2.1.tgz",
-      "integrity": "sha512-XMceB4MyDqn87dK0kZu4zSIHDTbpDZMC19M3NHYSTlTOPyKXW5hY9BxVH2esdW/Ny1+Kl38hxINKQg5FNeajNQ==",
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/ipfs-core/-/ipfs-core-0.3.0.tgz",
+      "integrity": "sha512-uBcYGsIM8lb8dixDvZ09OrMM5nBsvMQX9tUFS3+oo24JRhGKMWtDVV3umn26mXygobdQfGCTZFqjVMxoLssVEA==",
       "requires": {
-        "any-signal": "^2.0.0",
         "array-shuffle": "^1.0.1",
         "bignumber.js": "^9.0.0",
         "cbor": "^5.1.0",
@@ -9804,7 +9784,7 @@
         "interface-datastore": "^2.0.0",
         "ipfs-bitswap": "^4.0.0",
         "ipfs-block-service": "^0.18.0",
-        "ipfs-core-utils": "^0.5.2",
+        "ipfs-core-utils": "^0.5.3",
         "ipfs-repo": "^7.0.0",
         "ipfs-unixfs": "^2.0.3",
         "ipfs-unixfs-exporter": "^3.0.4",
@@ -9849,15 +9829,15 @@
         "parse-duration": "^0.4.4",
         "peer-id": "^0.14.1",
         "streaming-iterables": "^5.0.2",
-        "timeout-abort-controller": "^1.1.1",
         "uint8arrays": "^1.1.0"
       }
     },
     "ipfs-core-utils": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.5.2.tgz",
-      "integrity": "sha512-Cfz4hRa1HUBZGexwfYKjROiam8GQ6V+tA7kA17/bdCea0rxep4OZ64qUw+HwBTGNWEKg8SwKNEFs/V7LLPM6kg==",
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.5.3.tgz",
+      "integrity": "sha512-JuJz+sp+9+g7U5j0+M6+biBnVtbJnlRNuBrqku/RcwoH4IIMTX99PctGGyo8AjCo5ZK+j0om1Pp2cWTZrlSdAQ==",
       "requires": {
+        "any-signal": "^2.0.0",
         "blob-to-it": "^1.0.1",
         "browser-readablestream-to-it": "^1.0.1",
         "cids": "^1.0.0",
@@ -9868,20 +9848,22 @@
         "it-peekable": "^1.0.1",
         "multiaddr": "^8.0.0",
         "multiaddr-to-uri": "^6.0.0",
+        "parse-duration": "^0.4.4",
+        "timeout-abort-controller": "^1.1.1",
         "uint8arrays": "^1.1.0"
       }
     },
     "ipfs-http-client": {
-      "version": "48.1.1",
-      "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-48.1.1.tgz",
-      "integrity": "sha512-DZVm6EvB3zCxuvEwW5blDKigKtvAWWzPSIQEIUeWr04qzVThEe5eYK+Siu1qxrpthnBK1fYxS3okK2WI4kmluA==",
+      "version": "48.1.2",
+      "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-48.1.2.tgz",
+      "integrity": "sha512-eeqHhjYUgPNBKxkS29xYS7Mtc9JxzLKI9Bua2nphB5vG1l6W2hjDTntfVl4ddY07XqZogDu6yTL3UsFj0WJFeg==",
       "requires": {
         "any-signal": "^2.0.0",
         "bignumber.js": "^9.0.0",
         "cids": "^1.0.0",
         "debug": "^4.1.1",
         "form-data": "^3.0.0",
-        "ipfs-core-utils": "^0.5.2",
+        "ipfs-core-utils": "^0.5.3",
         "ipfs-utils": "^5.0.0",
         "ipld-block": "^0.11.0",
         "ipld-dag-cbor": "^0.17.0",
@@ -9916,9 +9898,9 @@
       }
     },
     "ipfs-http-gateway": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/ipfs-http-gateway/-/ipfs-http-gateway-0.1.2.tgz",
-      "integrity": "sha512-9HP3VWacY8io8HGP8A+xjxHulfbUC4/37pYhX2VLa3R8CdCUm9O6caNhex9Y9WoBhi332OR9rcr/1rRpI9rNXg==",
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/ipfs-http-gateway/-/ipfs-http-gateway-0.1.3.tgz",
+      "integrity": "sha512-SwBRSvwwXxlYEUBlDOBngmKFifnCFjs7HM90mgJnRjahDZzGV8YKAZpVLys0szLybz+pqGKK7LxSo7+ALS2hKQ==",
       "requires": {
         "@hapi/ammo": "^5.0.1",
         "@hapi/boom": "^9.1.0",
@@ -9926,7 +9908,7 @@
         "cids": "^1.0.0",
         "debug": "^4.1.1",
         "hapi-pino": "^8.3.0",
-        "ipfs-core-utils": "^0.5.2",
+        "ipfs-core-utils": "^0.5.3",
         "ipfs-http-response": "^0.6.0",
         "is-ipfs": "^2.0.0",
         "it-last": "^1.0.4",
@@ -9962,9 +9944,9 @@
       }
     },
     "ipfs-http-server": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/ipfs-http-server/-/ipfs-http-server-0.1.2.tgz",
-      "integrity": "sha512-QKAhfNWlX3BK8K/nthArHF2sRGOJAU5ySZO9T4khPqAFDQ3czLOYViRVkplBxzmVSk6Wz6sXB3P12wyyRhL1gg==",
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/ipfs-http-server/-/ipfs-http-server-0.1.3.tgz",
+      "integrity": "sha512-Hn7mEgfifHSVL1DFO1mIIytYiOW3Zlav+t6yQjdU+mgTzyH/4C7vwbz7V6ib5IfShROrfmeE6ahkt4IvEb9wxA==",
       "requires": {
         "@hapi/boom": "^9.1.0",
         "@hapi/content": "^5.0.2",
@@ -9974,8 +9956,8 @@
         "dlv": "^1.1.3",
         "err-code": "^2.0.3",
         "hapi-pino": "^8.3.0",
-        "ipfs-core-utils": "^0.5.2",
-        "ipfs-http-gateway": "^0.1.2",
+        "ipfs-core-utils": "^0.5.3",
+        "ipfs-http-gateway": "^0.1.3",
         "ipfs-unixfs": "^2.0.3",
         "ipld-dag-pb": "^0.20.0",
         "it-all": "^1.0.4",
@@ -10032,9 +10014,9 @@
       },
       "dependencies": {
         "buffer": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz",
-          "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==",
+          "version": "6.0.3",
+          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+          "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
           "requires": {
             "base64-js": "^1.3.1",
             "ieee754": "^1.2.1"
@@ -10151,92 +10133,17 @@
       }
     },
     "ipfs-unixfs-exporter": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-3.0.6.tgz",
-      "integrity": "sha512-dalY2lZxTjyLJB2qXKzVTbMY6TOFAcLRVFMJ0+9ORuEKNV4zUViL0eTKSOaJuaFuRzhc8yFFkfB7FnCqfXamIg==",
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/ipfs-unixfs-exporter/-/ipfs-unixfs-exporter-3.0.7.tgz",
+      "integrity": "sha512-ZYpE8SVLcvxDVb9+aKwthf7a4gRFSHqbEJaVrvVOpeXKSG66WTrI0KQR14sIk0v4SYOaUSWrWVXsSjUbONrVHg==",
       "requires": {
         "cids": "^1.0.0",
         "err-code": "^2.0.0",
         "hamt-sharding": "^1.0.0",
         "ipfs-unixfs": "^2.0.4",
-        "ipfs-utils": "^4.0.0",
+        "ipfs-utils": "^5.0.0",
         "it-last": "^1.0.1",
         "multihashing-async": "^2.0.0"
-      },
-      "dependencies": {
-        "buffer": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz",
-          "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==",
-          "requires": {
-            "base64-js": "^1.3.1",
-            "ieee754": "^1.2.1"
-          }
-        },
-        "fs-extra": {
-          "version": "9.0.1",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
-          "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
-          "requires": {
-            "at-least-node": "^1.0.0",
-            "graceful-fs": "^4.2.0",
-            "jsonfile": "^6.0.1",
-            "universalify": "^1.0.0"
-          }
-        },
-        "ieee754": {
-          "version": "1.2.1",
-          "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-          "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
-        },
-        "ipfs-utils": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-4.0.1.tgz",
-          "integrity": "sha512-6mg+S1sbjj+Ff+uoHOhVeC4myfV2tb2sHcdYwfpJ4ZcBo9WfdxSMnWFLiC5bIqByyJuN/g5aWgz3ozjKDzND1Q==",
-          "requires": {
-            "@achingbrain/electron-fetch": "^1.7.2",
-            "abort-controller": "^3.0.0",
-            "any-signal": "^2.1.0",
-            "buffer": "^6.0.1",
-            "err-code": "^2.0.0",
-            "fs-extra": "^9.0.1",
-            "is-electron": "^2.2.0",
-            "iso-url": "^1.0.0",
-            "it-glob": "0.0.10",
-            "merge-options": "^2.0.0",
-            "nanoid": "^3.1.3",
-            "native-abort-controller": "0.0.3",
-            "native-fetch": "^2.0.0",
-            "node-fetch": "^2.6.0",
-            "stream-to-it": "^0.2.0"
-          }
-        },
-        "iso-url": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.0.0.tgz",
-          "integrity": "sha512-n/MsHgKOoHcFrhsxfbM3aaSdUujoFrrZ3537p3RW80AL7axL36acCseoMwIW4tNOl0n0SnkzNyVh4bREwmHoPQ=="
-        },
-        "jsonfile": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
-          "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
-          "requires": {
-            "graceful-fs": "^4.1.6",
-            "universalify": "^2.0.0"
-          },
-          "dependencies": {
-            "universalify": {
-              "version": "2.0.0",
-              "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
-              "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
-            }
-          }
-        },
-        "universalify": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
-          "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
-        }
       }
     },
     "ipfs-unixfs-importer": {
@@ -10261,9 +10168,9 @@
       },
       "dependencies": {
         "buffer": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz",
-          "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==",
+          "version": "6.0.3",
+          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+          "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
           "requires": {
             "base64-js": "^1.3.1",
             "ieee754": "^1.2.1"
@@ -10344,9 +10251,9 @@
           }
         },
         "merge-options": {
-          "version": "3.0.3",
-          "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.3.tgz",
-          "integrity": "sha512-jytfjQxL5mVrtD9O24zOXU4neV3uVbQdn1F0o1pzSa1yH9LTEUOtfwpWSsyAxrrrXqAFTxaU4ynqkmekHLvYew==",
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz",
+          "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==",
           "requires": {
             "is-plain-obj": "^2.1.0"
           }
@@ -10359,14 +10266,14 @@
       }
     },
     "ipfs-utils": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-5.0.0.tgz",
-      "integrity": "sha512-sD7UXxGvePXEPVO9hoyBFyq7Tww9mpShOQrxaF1GZtIvSxDpqUvly8XM/8m9XDoQYYXEUQ8eJIb2puKIJTd3tQ==",
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-5.0.1.tgz",
+      "integrity": "sha512-28KZPgO4Uf5duT2ORLAYfboUp98iUshDD7yRAfbNxNAR8Dtidfn6o20rZfoXnkri2zKBVIPlJkuCPmPJB+6erg==",
       "requires": {
-        "@achingbrain/electron-fetch": "^1.7.2",
         "abort-controller": "^3.0.0",
         "any-signal": "^2.1.0",
         "buffer": "^6.0.1",
+        "electron-fetch": "^1.7.2",
         "err-code": "^2.0.0",
         "fs-extra": "^9.0.1",
         "is-electron": "^2.2.0",
@@ -10382,9 +10289,9 @@
       },
       "dependencies": {
         "buffer": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.2.tgz",
-          "integrity": "sha512-XeXCUm+F7uY7fIzq4pKy+BLbZk4SgYS5xwlZOFYD3UEcAD+PwOoTaFr/SaXvhR1yRa8SKyPSZ7LNX4N65w7h8A==",
+          "version": "6.0.3",
+          "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+          "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
           "requires": {
             "base64-js": "^1.3.1",
             "ieee754": "^1.2.1"
@@ -11878,9 +11785,9 @@
       }
     },
     "libp2p-delegated-content-routing": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/libp2p-delegated-content-routing/-/libp2p-delegated-content-routing-0.8.0.tgz",
-      "integrity": "sha512-E5Wc5RZnohe9EEa5DMuhJgrTmWYDBuLihZCVpBeiFEzzeqJUDZwbu6jwyMEf7e1AzYlmWIGz6VvCkn0RnYR7UA==",
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/libp2p-delegated-content-routing/-/libp2p-delegated-content-routing-0.8.2.tgz",
+      "integrity": "sha512-3xfrNaX31VB+sj7/u5ZGjhSzbm7l5jCCzlYktEpQyET7JMI8d1ef8FAP3DiWEhbiSfivMMqlfCzfPEMsLxZG7g==",
       "requires": {
         "debug": "^4.1.1",
         "it-all": "^1.0.0",
@@ -11890,9 +11797,9 @@
       }
     },
     "libp2p-delegated-peer-routing": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/libp2p-delegated-peer-routing/-/libp2p-delegated-peer-routing-0.8.0.tgz",
-      "integrity": "sha512-kqbC+P2c+XaQWMtQmQiRV0eQUWVW/T1P6ckbuKf3Tw3KZBkOmsLeAJ5ByG2/vFVzUUAuZiW46T1y2qOoq84Wsg==",
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/libp2p-delegated-peer-routing/-/libp2p-delegated-peer-routing-0.8.2.tgz",
+      "integrity": "sha512-q49zSTE7wpagt3FDY6S2e2Rr59kPoTMJAwlPeenZ1ajJLbKXRP26RfraK8RaUUw7mHw0BPo47VQcH7ieDkSO+A==",
       "requires": {
         "cids": "^1.0.0",
         "debug": "^4.1.1",
@@ -12203,9 +12110,9 @@
       }
     },
     "libp2p-utils": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.2.2.tgz",
-      "integrity": "sha512-1V8M6iKcKqdUdLLcBbTTRl7whoa5KEHD7t5URiJ8gD2uvrkY5mp8nVo+DE3JxdNOxYRkA/02r02FYa7tbLeWCA==",
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/libp2p-utils/-/libp2p-utils-0.2.3.tgz",
+      "integrity": "sha512-9BoMCgvJF7LJ+JVMaHtqfCqhZN4i/sx0DrY6lf9U0Rq9uUgQ9qTai2O9LXcfr1LOS3OMMeRLsKk25MMgsf7W3w==",
       "requires": {
         "abortable-iterator": "^3.0.0",
         "debug": "^4.2.0",
@@ -12213,7 +12120,7 @@
         "ip-address": "^6.1.0",
         "is-loopback-addr": "^1.0.0",
         "multiaddr": "^8.0.0",
-        "private-ip": "^1.0.5"
+        "private-ip": "^2.1.1"
       },
       "dependencies": {
         "debug": {
@@ -13064,12 +12971,12 @@
       }
     },
     "multibase": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.0.1.tgz",
-      "integrity": "sha512-MRU5WpnSg81/vYO977MweoeUAxBdXl7+F5Af2Es+X6Vcgfk/g/EjIqXTgm3kb+xO3m1Kzr+aIV14oRX7nv5Z9w==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.0.tgz",
+      "integrity": "sha512-Z+pThrpbS7ckQ2DwW5mPiwCGe1a94f8DWi/OxmbyeRednVOyUKmLSE+60kL/WHFYwWnaD1OakXGk3PYI1NkMFw==",
       "requires": {
         "@multiformats/base-x": "^4.0.1",
-        "web-encoding": "^1.0.2"
+        "web-encoding": "^1.0.4"
       }
     },
     "multicast-dns": {
@@ -13109,13 +13016,20 @@
       }
     },
     "multihashes": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-3.0.1.tgz",
-      "integrity": "sha512-fFY67WOtb0359IjDZxaCU3gJILlkwkFbxbwrK9Bej5+NqNaYztzLOj8/NgMNMg/InxmhK+Uu8S/U4EcqsHzB7Q==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-3.1.0.tgz",
+      "integrity": "sha512-snU+w6aZy5bTrrqIHW3wkT0MfHmxcpOsaVNJt0NzUnseksbjFDVUZjSmhDMAVOVnIdLMS7xHjo55pKlBIGmC3g==",
       "requires": {
-        "multibase": "^3.0.0",
+        "multibase": "^3.1.0",
         "uint8arrays": "^1.0.0",
-        "varint": "^5.0.0"
+        "varint": "^6.0.0"
+      },
+      "dependencies": {
+        "varint": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
+          "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
+        }
       }
     },
     "multihashing-async": {
@@ -13180,9 +13094,9 @@
       "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ=="
     },
     "nanoid": {
-      "version": "3.1.17",
-      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.17.tgz",
-      "integrity": "sha512-5mmlQz73ohlISpARejqTwgYzh92wwBccatETsLOI+VKkY6Lx/Dj3wvG7tCoKjX+eEaZWn0gB7Xkfl5JatHQTeA=="
+      "version": "3.1.18",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.18.tgz",
+      "integrity": "sha512-rndlDjbbHbcV3xi+R2fpJ+PbGMdfBxz5v1fATIQFq0DP64FsicQdwnKLy47K4kZHdRpmQXtz24eGsxQqamzYTA=="
     },
     "nanomatch": {
       "version": "1.2.13",
@@ -13241,6 +13155,11 @@
       "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
       "dev": true
     },
+    "netmask": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
+      "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU="
+    },
     "nice-try": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
@@ -15021,9 +14940,9 @@
       "dev": true
     },
     "prettier": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.0.tgz",
-      "integrity": "sha512-yYerpkvseM4iKD/BXLYUkQV5aKt4tQPqaGW6EsZjzyu0r7sVZZNPJW4Y8MyKmicp6t42XUPcBVA+H6sB3gqndw==",
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
+      "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
       "dev": true
     },
     "prettier-linter-helpers": {
@@ -15051,9 +14970,13 @@
       }
     },
     "private-ip": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-1.0.5.tgz",
-      "integrity": "sha1-ItAYP7oJ0OwaKk4PRv63cVY9FEk="
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/private-ip/-/private-ip-2.1.1.tgz",
+      "integrity": "sha512-csxTtREJ7254nnUF14hjOrnd/vZH78vTS5opec6IDVZRwY3omKDcNL/r+vfxFZnCRsrBWVA8B0Q95lgMGrFuZQ==",
+      "requires": {
+        "is-ip": "^3.1.0",
+        "netmask": "^1.0.6"
+      }
     },
     "process": {
       "version": "0.11.10",
@@ -15140,9 +15063,9 @@
       },
       "dependencies": {
         "@types/node": {
-          "version": "13.13.32",
-          "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.32.tgz",
-          "integrity": "sha512-sPBvDnrwZE1uePhkCEyI/qQlgZM5kePPAhHIFDWNsOrWBFRBOk3LKJYmVCLeLZlL9Ub/FzMJb31OTWCg2F+06g=="
+          "version": "13.13.33",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.33.tgz",
+          "integrity": "sha512-1B3GM1yuYsFyEvBb+ljBqWBOylsWDYioZ5wpu8AhXdIhq20neXS7eaSC8GkwHE0yQYGiOIV43lMsgRYTgKZefQ=="
         }
       }
     },
@@ -15295,9 +15218,9 @@
       "dev": true
     },
     "queue-microtask": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.1.tgz",
-      "integrity": "sha512-MXDP6d9DIR+7/Tf2vxfB0Qacg9uRs6bQaWwT1RieFIMQVXDsbJ/+AZOI7tHTrzY+f0VsvSM5qQyh/orfZwOVzw=="
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz",
+      "integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg=="
     },
     "quick-format-unescaped": {
       "version": "4.0.1",
@@ -18129,9 +18052,9 @@
       "dev": true
     },
     "vuex": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.5.1.tgz",
-      "integrity": "sha512-w7oJzmHQs0FM9LXodfskhw9wgKBiaB+totOdb8sNzbTB2KDCEEwEs29NzBZFh/lmEK1t5tDmM1vtsO7ubG1DFw=="
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.0.tgz",
+      "integrity": "sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ=="
     },
     "vuvuzela": {
       "version": "1.0.3",
diff --git a/app/package.json b/app/package.json
index 545c544da192ba8ae23042b6b75da85bec0fa2f5..51978eb6b9d93ed8c053d48e62d4f55a3d3aad35 100644
--- a/app/package.json
+++ b/app/package.json
@@ -9,9 +9,9 @@
     "lint:fix": "vue-cli-service lint --fix"
   },
   "dependencies": {
-    "core-js": "^3.7.0",
+    "core-js": "^3.8.0",
     "file-loader": "^6.2.0",
-    "ipfs": "^0.52.1",
+    "ipfs": "^0.52.2",
     "marked": "^1.2.5",
     "pixi.js": "^5.3.3",
     "pouchdb": "^7.2.2",
@@ -19,7 +19,7 @@
     "vue-draggable-resizable": "^2.2.0",
     "vue-emoji-picker": "^1.0.1",
     "vue-router": "^3.4.9",
-    "vuex": "^3.5.1"
+    "vuex": "^3.6.0"
   },
   "devDependencies": {
     "@vue/cli-plugin-babel": "^4.5.9",
@@ -29,10 +29,10 @@
     "@vue/cli-service": "^4.5.9",
     "@vue/eslint-config-prettier": "^6.0.0",
     "babel-eslint": "^10.0.3",
-    "eslint": "^7.13.0",
+    "eslint": "^7.14.0",
     "eslint-plugin-prettier": "^3.1.4",
     "eslint-plugin-vue": "^7.0.0",
-    "prettier": "^2.2.0",
+    "prettier": "^2.2.1",
     "vue-template-compiler": "^2.6.12"
   }
 }