Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Update deps
Rūdolfs Ošiņš committed 3 years ago
commit 742fe4dec02be794e061a27e0b58e38c5559f20c
parent 2bad94457ca33b20b3fde998f02ba94418bbe337
3 files changed +130 -109
modified .github/workflows/check-e2e.yml
@@ -12,10 +12,7 @@ jobs:
    continue-on-error: true
    strategy:
      matrix:
-
        # Disable firefox until this is fixed upstream:
-
        # https://github.com/microsoft/playwright/issues/21145
-
        # browser: [chromium, firefox, visual]
-
        browser: [chromium, visual]
+
        browser: [chromium, firefox, visual]
    timeout-minutes: 30
    runs-on: ubuntu-latest
    steps:
modified package-lock.json
@@ -12,7 +12,7 @@
        "@wooorm/starry-night": "^1.5.0",
        "bs58": "^5.0.0",
        "buffer": "^6.0.3",
-
        "dompurify": "^3.0.0",
+
        "dompurify": "^3.0.1",
        "hast-util-to-dom": "^3.1.1",
        "hast-util-to-html": "^8.0.4",
        "katex": "^0.16.4",
@@ -24,7 +24,7 @@
        "twemoji": "^14.0.2"
      },
      "devDependencies": {
-
        "@playwright/test": "^1.30.0",
+
        "@playwright/test": "^1.31.2",
        "@sinonjs/fake-timers": "^10.0.2",
        "@sveltejs/vite-plugin-svelte": "^2.0.3",
        "@tsconfig/svelte": "^3.0.0",
@@ -33,9 +33,9 @@
        "@types/lodash": "^4.14.191",
        "@types/marked": "^4.0.8",
        "@types/md5": "^2.3.2",
-
        "@types/node": "^18.14.2",
+
        "@types/node": "^18.14.6",
        "@types/sinonjs__fake-timers": "^8.1.2",
-
        "@typescript-eslint/eslint-plugin": "^5.53.0",
+
        "@typescript-eslint/eslint-plugin": "^5.54.0",
        "chalk": "^5.2.0",
        "eslint": "^8.35.0",
        "eslint-plugin-svelte3": "^4.0.0",
@@ -45,7 +45,7 @@
        "svelte-check": "^3.0.4",
        "typescript": "^4.9.5",
        "vite": "^4.1.4",
-
        "vitest": "^0.29.1"
+
        "vitest": "^0.29.2"
      },
      "engines": {
        "node": ">=18.12.1"
@@ -529,13 +529,13 @@
      }
    },
    "node_modules/@playwright/test": {
-
      "version": "1.31.1",
-
      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.31.1.tgz",
-
      "integrity": "sha512-IsytVZ+0QLDh1Hj83XatGp/GsI1CDJWbyDaBGbainsh0p2zC7F4toUocqowmjS6sQff2NGT3D9WbDj/3K2CJiA==",
+
      "version": "1.31.2",
+
      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.31.2.tgz",
+
      "integrity": "sha512-BYVutxDI4JeZKV1+ups6dt5WiqKhjBtIYowyZIJ3kBDmJgsuPKsqqKNIMFbUePLSCmp2cZu+BDL427RcNKTRYw==",
      "dev": true,
      "dependencies": {
        "@types/node": "*",
-
        "playwright-core": "1.31.1"
+
        "playwright-core": "1.31.2"
      },
      "bin": {
        "playwright": "cli.js"
@@ -669,9 +669,9 @@
      "dev": true
    },
    "node_modules/@types/node": {
-
      "version": "18.14.2",
-
      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.2.tgz",
-
      "integrity": "sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA==",
+
      "version": "18.14.6",
+
      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.6.tgz",
+
      "integrity": "sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==",
      "dev": true
    },
    "node_modules/@types/parse5": {
@@ -686,12 +686,13 @@
      "dev": true
    },
    "node_modules/@types/sass": {
-
      "version": "1.43.1",
-
      "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz",
-
      "integrity": "sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==",
+
      "version": "1.45.0",
+
      "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.45.0.tgz",
+
      "integrity": "sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==",
+
      "deprecated": "This is a stub types definition. sass provides its own type definitions, so you do not need this installed.",
      "dev": true,
      "dependencies": {
-
        "@types/node": "*"
+
        "sass": "*"
      }
    },
    "node_modules/@types/semver": {
@@ -718,14 +719,14 @@
      "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
    },
    "node_modules/@typescript-eslint/eslint-plugin": {
-
      "version": "5.53.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz",
-
      "integrity": "sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw==",
+
      "version": "5.54.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz",
+
      "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/scope-manager": "5.53.0",
-
        "@typescript-eslint/type-utils": "5.53.0",
-
        "@typescript-eslint/utils": "5.53.0",
+
        "@typescript-eslint/scope-manager": "5.54.0",
+
        "@typescript-eslint/type-utils": "5.54.0",
+
        "@typescript-eslint/utils": "5.54.0",
        "debug": "^4.3.4",
        "grapheme-splitter": "^1.0.4",
        "ignore": "^5.2.0",
@@ -752,15 +753,15 @@
      }
    },
    "node_modules/@typescript-eslint/parser": {
-
      "version": "5.53.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.53.0.tgz",
-
      "integrity": "sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==",
+
      "version": "5.54.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz",
+
      "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==",
      "dev": true,
      "peer": true,
      "dependencies": {
-
        "@typescript-eslint/scope-manager": "5.53.0",
-
        "@typescript-eslint/types": "5.53.0",
-
        "@typescript-eslint/typescript-estree": "5.53.0",
+
        "@typescript-eslint/scope-manager": "5.54.0",
+
        "@typescript-eslint/types": "5.54.0",
+
        "@typescript-eslint/typescript-estree": "5.54.0",
        "debug": "^4.3.4"
      },
      "engines": {
@@ -780,13 +781,13 @@
      }
    },
    "node_modules/@typescript-eslint/scope-manager": {
-
      "version": "5.53.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz",
-
      "integrity": "sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==",
+
      "version": "5.54.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz",
+
      "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/types": "5.53.0",
-
        "@typescript-eslint/visitor-keys": "5.53.0"
+
        "@typescript-eslint/types": "5.54.0",
+
        "@typescript-eslint/visitor-keys": "5.54.0"
      },
      "engines": {
        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -797,13 +798,13 @@
      }
    },
    "node_modules/@typescript-eslint/type-utils": {
-
      "version": "5.53.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz",
-
      "integrity": "sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw==",
+
      "version": "5.54.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz",
+
      "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/typescript-estree": "5.53.0",
-
        "@typescript-eslint/utils": "5.53.0",
+
        "@typescript-eslint/typescript-estree": "5.54.0",
+
        "@typescript-eslint/utils": "5.54.0",
        "debug": "^4.3.4",
        "tsutils": "^3.21.0"
      },
@@ -824,9 +825,9 @@
      }
    },
    "node_modules/@typescript-eslint/types": {
-
      "version": "5.53.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.53.0.tgz",
-
      "integrity": "sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A==",
+
      "version": "5.54.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz",
+
      "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==",
      "dev": true,
      "engines": {
        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -837,13 +838,13 @@
      }
    },
    "node_modules/@typescript-eslint/typescript-estree": {
-
      "version": "5.53.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz",
-
      "integrity": "sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w==",
+
      "version": "5.54.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz",
+
      "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/types": "5.53.0",
-
        "@typescript-eslint/visitor-keys": "5.53.0",
+
        "@typescript-eslint/types": "5.54.0",
+
        "@typescript-eslint/visitor-keys": "5.54.0",
        "debug": "^4.3.4",
        "globby": "^11.1.0",
        "is-glob": "^4.0.3",
@@ -864,16 +865,16 @@
      }
    },
    "node_modules/@typescript-eslint/utils": {
-
      "version": "5.53.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.53.0.tgz",
-
      "integrity": "sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g==",
+
      "version": "5.54.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz",
+
      "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==",
      "dev": true,
      "dependencies": {
        "@types/json-schema": "^7.0.9",
        "@types/semver": "^7.3.12",
-
        "@typescript-eslint/scope-manager": "5.53.0",
-
        "@typescript-eslint/types": "5.53.0",
-
        "@typescript-eslint/typescript-estree": "5.53.0",
+
        "@typescript-eslint/scope-manager": "5.54.0",
+
        "@typescript-eslint/types": "5.54.0",
+
        "@typescript-eslint/typescript-estree": "5.54.0",
        "eslint-scope": "^5.1.1",
        "eslint-utils": "^3.0.0",
        "semver": "^7.3.7"
@@ -890,12 +891,12 @@
      }
    },
    "node_modules/@typescript-eslint/visitor-keys": {
-
      "version": "5.53.0",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz",
-
      "integrity": "sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w==",
+
      "version": "5.54.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz",
+
      "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/types": "5.53.0",
+
        "@typescript-eslint/types": "5.54.0",
        "eslint-visitor-keys": "^3.3.0"
      },
      "engines": {
@@ -907,23 +908,23 @@
      }
    },
    "node_modules/@vitest/expect": {
-
      "version": "0.29.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.29.1.tgz",
-
      "integrity": "sha512-VFt1u34D+/L4pqjLA8VGPdHbdF8dgjX9Nq573L9KG6/7MIAL9jmbEIKpXudmxjoTwcyczOXRyDuUWBQHZafjoA==",
+
      "version": "0.29.2",
+
      "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.29.2.tgz",
+
      "integrity": "sha512-wjrdHB2ANTch3XKRhjWZN0UueFocH0cQbi2tR5Jtq60Nb3YOSmakjdAvUa2JFBu/o8Vjhj5cYbcMXkZxn1NzmA==",
      "dev": true,
      "dependencies": {
-
        "@vitest/spy": "0.29.1",
-
        "@vitest/utils": "0.29.1",
+
        "@vitest/spy": "0.29.2",
+
        "@vitest/utils": "0.29.2",
        "chai": "^4.3.7"
      }
    },
    "node_modules/@vitest/runner": {
-
      "version": "0.29.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.29.1.tgz",
-
      "integrity": "sha512-VZ6D+kWpd/LVJjvxkt79OA29FUpyrI5L/EEwoBxH5m9KmKgs1QWNgobo/CGQtIWdifLQLvZdzYEK7Qj96w/ixQ==",
+
      "version": "0.29.2",
+
      "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.29.2.tgz",
+
      "integrity": "sha512-A1P65f5+6ru36AyHWORhuQBJrOOcmDuhzl5RsaMNFe2jEkoj0faEszQS4CtPU/LxUYVIazlUtZTY0OEZmyZBnA==",
      "dev": true,
      "dependencies": {
-
        "@vitest/utils": "0.29.1",
+
        "@vitest/utils": "0.29.2",
        "p-limit": "^4.0.0",
        "pathe": "^1.1.0"
      }
@@ -956,18 +957,18 @@
      }
    },
    "node_modules/@vitest/spy": {
-
      "version": "0.29.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.29.1.tgz",
-
      "integrity": "sha512-sRXXK44pPzaizpiZOIQP7YMhxIs80J/b6v1yR3SItpxG952c8tdA7n0O2j4OsVkjiO/ZDrjAYFrXL3gq6hLx6Q==",
+
      "version": "0.29.2",
+
      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.29.2.tgz",
+
      "integrity": "sha512-Hc44ft5kaAytlGL2PyFwdAsufjbdOvHklwjNy/gy/saRbg9Kfkxfh+PklLm1H2Ib/p586RkQeNFKYuJInUssyw==",
      "dev": true,
      "dependencies": {
        "tinyspy": "^1.0.2"
      }
    },
    "node_modules/@vitest/utils": {
-
      "version": "0.29.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.29.1.tgz",
-
      "integrity": "sha512-6npOEpmyE6zPS2wsWb7yX5oDpp6WY++cC5BX6/qaaMhGC3ZlPd8BbTz3RtGPi1PfPerPvfs4KqS/JDOIaB6J3w==",
+
      "version": "0.29.2",
+
      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.29.2.tgz",
+
      "integrity": "sha512-F14/Uc+vCdclStS2KEoXJlOLAEyqRhnw0gM27iXw9bMTcyKRPJrQ+rlC6XZ125GIPvvKYMPpVxNhiou6PsEeYQ==",
      "dev": true,
      "dependencies": {
        "cli-truncate": "^3.1.0",
@@ -1499,9 +1500,9 @@
      }
    },
    "node_modules/dompurify": {
-
      "version": "3.0.0",
-
      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.0.tgz",
-
      "integrity": "sha512-0g/yr2IJn4nTbxwL785YxS7/AvvgGFJw6LLWP+BzWzB1+BYOqPUT9Hy0rXrZh5HLdHnxH72aDdzvC9SdTjsuaA=="
+
      "version": "3.0.1",
+
      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.1.tgz",
+
      "integrity": "sha512-60tsgvPKwItxZZdfLmamp0MTcecCta3avOhsLgPZ0qcWt96OasFfhkeIRbJ6br5i0fQawT1/RBGB5L58/Jpwuw=="
    },
    "node_modules/eastasianwidth": {
      "version": "0.2.0",
@@ -1757,9 +1758,9 @@
      }
    },
    "node_modules/esquery": {
-
      "version": "1.4.2",
-
      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz",
-
      "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==",
+
      "version": "1.5.0",
+
      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+
      "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
      "dev": true,
      "dependencies": {
        "estraverse": "^5.1.0"
@@ -2298,6 +2299,12 @@
        "node": ">= 4"
      }
    },
+
    "node_modules/immutable": {
+
      "version": "4.2.4",
+
      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz",
+
      "integrity": "sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==",
+
      "dev": true
+
    },
    "node_modules/import-fresh": {
      "version": "3.3.0",
      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -2941,9 +2948,9 @@
      }
    },
    "node_modules/playwright-core": {
-
      "version": "1.31.1",
-
      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.31.1.tgz",
-
      "integrity": "sha512-JTyX4kV3/LXsvpHkLzL2I36aCdml4zeE35x+G5aPc4bkLsiRiQshU5lWeVpHFAuC8xAcbI6FDcw/8z3q2xtJSQ==",
+
      "version": "1.31.2",
+
      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.31.2.tgz",
+
      "integrity": "sha512-a1dFgCNQw4vCsG7bnojZjDnPewZcw7tZUNFN0ZkcLYKj+mPmXvg4MpaaKZ5SgqPsOmqIf2YsVRkgqiRDxD+fDQ==",
      "dev": true,
      "bin": {
        "playwright": "cli.js"
@@ -3144,9 +3151,9 @@
      }
    },
    "node_modules/rollup": {
-
      "version": "3.17.3",
-
      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.17.3.tgz",
-
      "integrity": "sha512-p5LaCXiiOL/wrOkj8djsIDFmyU9ysUxcyW+EKRLHb6TKldJzXpImjcRSR+vgo09DBdofGcOoLOsRyxxG2n5/qQ==",
+
      "version": "3.18.0",
+
      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.18.0.tgz",
+
      "integrity": "sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==",
      "dev": true,
      "bin": {
        "rollup": "dist/bin/rollup"
@@ -3224,6 +3231,23 @@
        "rimraf": "bin.js"
      }
    },
+
    "node_modules/sass": {
+
      "version": "1.58.3",
+
      "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.3.tgz",
+
      "integrity": "sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==",
+
      "dev": true,
+
      "dependencies": {
+
        "chokidar": ">=3.0.0 <4.0.0",
+
        "immutable": "^4.0.0",
+
        "source-map-js": ">=0.6.2 <2.0.0"
+
      },
+
      "bin": {
+
        "sass": "sass.js"
+
      },
+
      "engines": {
+
        "node": ">=12.0.0"
+
      }
+
    },
    "node_modules/section-matter": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
@@ -3630,9 +3654,9 @@
      "dev": true
    },
    "node_modules/tinybench": {
-
      "version": "2.3.1",
-
      "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.3.1.tgz",
-
      "integrity": "sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==",
+
      "version": "2.4.0",
+
      "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.4.0.tgz",
+
      "integrity": "sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==",
      "dev": true
    },
    "node_modules/tinypool": {
@@ -3755,9 +3779,9 @@
      }
    },
    "node_modules/ufo": {
-
      "version": "1.1.0",
-
      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.0.tgz",
-
      "integrity": "sha512-LQc2s/ZDMaCN3QLpa+uzHUOQ7SdV0qgv3VBXOolQGXTaaZpIur6PwUclF5nN2hNkiTRcUugXd1zFOW3FLJ135Q==",
+
      "version": "1.1.1",
+
      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.1.tgz",
+
      "integrity": "sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==",
      "dev": true
    },
    "node_modules/unist-util-is": {
@@ -3953,9 +3977,9 @@
      }
    },
    "node_modules/vite-node": {
-
      "version": "0.29.1",
-
      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.29.1.tgz",
-
      "integrity": "sha512-Ey9bTlQOQrCxQN0oJ7sTg+GrU4nTMLg44iKTFCKf31ry60csqQz4E+Q04hdWhwE4cTgpxUC+zEB1kHbf5jNkFA==",
+
      "version": "0.29.2",
+
      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.29.2.tgz",
+
      "integrity": "sha512-5oe1z6wzI3gkvc4yOBbDBbgpiWiApvuN4P55E8OI131JGrSuo4X3SOZrNmZYo4R8Zkze/dhi572blX0zc+6SdA==",
      "dev": true,
      "dependencies": {
        "cac": "^6.7.14",
@@ -3990,18 +4014,18 @@
      }
    },
    "node_modules/vitest": {
-
      "version": "0.29.1",
-
      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.29.1.tgz",
-
      "integrity": "sha512-iSy6d9VwsIn7pz5I8SjVwdTLDRGKNZCRJVzROwjt0O0cffoymKwazIZ2epyMpRGpeL5tsXAl1cjXiT7agTyVug==",
+
      "version": "0.29.2",
+
      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.29.2.tgz",
+
      "integrity": "sha512-ydK9IGbAvoY8wkg29DQ4ivcVviCaUi3ivuPKfZEVddMTenFHUfB8EEDXQV8+RasEk1ACFLgMUqAaDuQ/Nk+mQA==",
      "dev": true,
      "dependencies": {
        "@types/chai": "^4.3.4",
        "@types/chai-subset": "^1.3.3",
        "@types/node": "*",
-
        "@vitest/expect": "0.29.1",
-
        "@vitest/runner": "0.29.1",
-
        "@vitest/spy": "0.29.1",
-
        "@vitest/utils": "0.29.1",
+
        "@vitest/expect": "0.29.2",
+
        "@vitest/runner": "0.29.2",
+
        "@vitest/spy": "0.29.2",
+
        "@vitest/utils": "0.29.2",
        "acorn": "^8.8.1",
        "acorn-walk": "^8.2.0",
        "cac": "^6.7.14",
@@ -4017,7 +4041,7 @@
        "tinypool": "^0.3.1",
        "tinyspy": "^1.0.2",
        "vite": "^3.0.0 || ^4.0.0",
-
        "vite-node": "0.29.1",
+
        "vite-node": "0.29.2",
        "why-is-node-running": "^2.2.2"
      },
      "bin": {
modified package.json
@@ -17,7 +17,7 @@
    "node": ">=18.12.1"
  },
  "devDependencies": {
-
    "@playwright/test": "^1.30.0",
+
    "@playwright/test": "^1.31.2",
    "@sinonjs/fake-timers": "^10.0.2",
    "@sveltejs/vite-plugin-svelte": "^2.0.3",
    "@tsconfig/svelte": "^3.0.0",
@@ -26,9 +26,9 @@
    "@types/lodash": "^4.14.191",
    "@types/marked": "^4.0.8",
    "@types/md5": "^2.3.2",
-
    "@types/node": "^18.14.2",
+
    "@types/node": "^18.14.6",
    "@types/sinonjs__fake-timers": "^8.1.2",
-
    "@typescript-eslint/eslint-plugin": "^5.53.0",
+
    "@typescript-eslint/eslint-plugin": "^5.54.0",
    "chalk": "^5.2.0",
    "eslint": "^8.35.0",
    "eslint-plugin-svelte3": "^4.0.0",
@@ -38,14 +38,14 @@
    "svelte-check": "^3.0.4",
    "typescript": "^4.9.5",
    "vite": "^4.1.4",
-
    "vitest": "^0.29.1"
+
    "vitest": "^0.29.2"
  },
  "dependencies": {
    "@radicle/gray-matter": "4.1.0",
    "@wooorm/starry-night": "^1.5.0",
    "bs58": "^5.0.0",
    "buffer": "^6.0.3",
-
    "dompurify": "^3.0.0",
+
    "dompurify": "^3.0.1",
    "hast-util-to-dom": "^3.1.1",
    "hast-util-to-html": "^8.0.4",
    "katex": "^0.16.4",