From c21caf8de054a99517e40774f0e083efbfae32d7 Mon Sep 17 00:00:00 2001 From: Peter Salomonsen Date: Mon, 20 May 2024 06:46:45 +0200 Subject: [PATCH] fix: redirectmap (#19) - Re-insert redirectmap functionality, which should be there according to docs - add redirectmap tests for localstorage and sessionstorage according to docs - fix/improve custom rpc test which did hang/fail, by proxying to main rpc, but detect that custom rpc is used - caching of CI dependencies - update Near Social VM to 2.6.1 --- .github/workflows/test.yml | 44 ++++- package.json | 9 +- .../storage-states/bos-loader-url.json | 15 ++ playwright-tests/tests/redirectmap.spec.js | 47 ++++++ playwright-tests/tests/rpc.spec.js | 21 ++- src/App.js | 23 ++- yarn.lock | 157 ++++++++++-------- 7 files changed, 223 insertions(+), 93 deletions(-) create mode 100644 playwright-tests/storage-states/bos-loader-url.json create mode 100644 playwright-tests/tests/redirectmap.spec.js diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7bccc14..bd58cb4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,9 +10,41 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Playwright test - run: | - yarn install - yarn playwright install-deps - yarn playwright install - yarn test + + # Cache node_modules + - name: Cache node_modules + uses: actions/cache@v3 + with: + path: node_modules + key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + # Debugging step to see if node_modules cache was hit + - name: Check node_modules cache + run: if [ -d "node_modules" ]; then echo "node_modules cache hit"; else echo "node_modules cache miss"; fi + + - name: Install dependencies + run: yarn install + + # Cache Playwright browsers + - name: Cache Playwright browsers + uses: actions/cache@v3 + with: + path: ~/.cache/ms-playwright + key: ${{ runner.os }}-playwright-${{ hashFiles('yarn.lock') }} + restore-keys: | + ${{ runner.os }}-playwright- + + # Debugging step to see if Playwright browsers cache was hit + - name: Check Playwright browsers cache + run: if [ -d ~/.cache/ms-playwright ]; then echo "Playwright cache hit"; else echo "Playwright cache miss"; fi + + - name: Install Playwright dependencies + run: yarn playwright install-deps + + - name: Install Playwright browsers + run: yarn playwright install + + - name: Run tests + run: yarn test diff --git a/package.json b/package.json index 2e7c5ed..798b502 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "near-bos-webcomponent", - "version": "0.0.8", - "homepage": "https://github.com/petersalomonsen/near-bos-webcomponent", + "version": "0.0.9", + "homepage": "https://github.com/NEARBuilders/near-bos-webcomponent", "repository": { "type": "git", - "url": "https://github.com/petersalomonsen/near-bos-webcomponent.git" + "url": "https://github.com/NEARBuilders/near-bos-webcomponent.git" }, "files": [ "dist/", @@ -22,8 +22,7 @@ "error-polyfill": "^0.1.2", "local-storage": "^2.0.0", "near-api-js": "^2.1.3", - "near-social-vm": "git+https://github.com/NearSocial/VM.git", - "near-social-vm-types": "^1.0.0", + "near-social-vm": "NearSocial/VM#2.6.1", "prettier": "^2.7.1", "qrcode.react": "^3.1.0", "react": "^18.2.0", diff --git a/playwright-tests/storage-states/bos-loader-url.json b/playwright-tests/storage-states/bos-loader-url.json new file mode 100644 index 0000000..842a0e4 --- /dev/null +++ b/playwright-tests/storage-states/bos-loader-url.json @@ -0,0 +1,15 @@ +{ + "cookies": [], + "origins": [ + { + "origin": "http://localhost:3000", + "localStorage": [ + { + "name": "flags", + "value": "{\"bosLoaderUrl\":\"http://localhost:3030\"}" + } + ] + } + ], + "sessionStorage": [] +} \ No newline at end of file diff --git a/playwright-tests/tests/redirectmap.spec.js b/playwright-tests/tests/redirectmap.spec.js new file mode 100644 index 0000000..2acefb7 --- /dev/null +++ b/playwright-tests/tests/redirectmap.spec.js @@ -0,0 +1,47 @@ +import { test, describe, expect } from '@playwright/test'; + +describe("bos-loader-url", () => { + test.use({ + storageState: "playwright-tests/storage-states/bos-loader-url.json" + }); + test("Should be possible to provide a redirectmap through flags in localStorage", async ({ + page, + }) => { + await page.route("http://localhost:3030", async (route) => { + await route.fulfill({ + body: JSON.stringify( + { + components: + { + "something.near/widget/testcomponent": + { "code": "return 'I come from a redirect map pointed to by flags in localStorage';" } + } + } + ) + }); + }); + await page.goto("/something.near/widget/testcomponent"); + await expect(page.getByText('I come from a redirect map pointed to by flags in localStorage')).toBeVisible(); + }); +}); + +describe("session-storage", () => { + test("Should be possible to provide a redirectmap through session storage key", async ({ + page, + }) => { + await page.context().addInitScript(() => { + console.log('init script'); + sessionStorage.setItem('nearSocialVMredirectMap', JSON.stringify( + { + "something.near/widget/testcomponent": + { "code": "return 'I come from a redirect map from session storage';" } + } + )); + }) + await page.goto("/something.near/widget/testcomponent"); + await page.evaluate(() => { + console.log(JSON.parse(sessionStorage.getItem("nearSocialVMredirectMap"))) + }) + await expect(await page.getByText('I come from a redirect map from session storage')).toBeVisible(); + }); +}); \ No newline at end of file diff --git a/playwright-tests/tests/rpc.spec.js b/playwright-tests/tests/rpc.spec.js index 6797473..8fab1f0 100644 --- a/playwright-tests/tests/rpc.spec.js +++ b/playwright-tests/tests/rpc.spec.js @@ -49,6 +49,17 @@ test("Verify custom RPC is called when provided", async ({ page }) => { // Verify the viewer is visible await waitForSelectorToBeVisible(page, "near-social-viewer"); + let customRPCisCalledPromiseResolve; + let customRPCisCalled = new Promise(resolve => { + customRPCisCalledPromiseResolve = resolve; + }); + + // Mock the custom rpc call so that the request doesn't hang + await page.route(CUSTOM_RPC_URL, async (route) => { + customRPCisCalledPromiseResolve(true); + await route.continue({ url: DEFAULT_RPC_URL }); + }); + // Set the rpc attribute to a custom rpc value await page.evaluate((url) => { document.body.innerHTML = ` @@ -56,15 +67,6 @@ test("Verify custom RPC is called when provided", async ({ page }) => { `; }, CUSTOM_RPC_URL); - // Mock the custom rpc call so that the request doesn't hang - await page.route(CUSTOM_RPC_URL, (route) => { - route.fulfill({ - status: 200, - contentType: "application/json", - body: JSON.stringify({ result: "some valid response" }), - }); - }); - // Get the value of the rpc attribute const actualRpc = await page.evaluate(() => { const viewer = document.querySelector("near-social-viewer"); @@ -89,4 +91,5 @@ test("Verify custom RPC is called when provided", async ({ page }) => { // Expect that the custom RPC is called const customRpcRequest = await page.waitForRequest(CUSTOM_RPC_URL); expect(customRpcRequest).toBeTruthy(); + expect(await customRPCisCalled).toBeTruthy(); }); diff --git a/src/App.js b/src/App.js index 8e3773d..ecacc2b 100644 --- a/src/App.js +++ b/src/App.js @@ -2,7 +2,7 @@ import "App.scss"; import "bootstrap-icons/font/bootstrap-icons.css"; import "bootstrap/dist/js/bootstrap.bundle"; import { Widget } from "near-social-vm"; -import React, { useEffect, useMemo } from "react"; +import React, { useEffect, useMemo, useState } from "react"; import "react-bootstrap-typeahead/css/Typeahead.css"; import { sanitizeUrl } from "@braintree/sanitize-url"; @@ -14,6 +14,8 @@ import { useLocation, } from "react-router-dom"; +const SESSION_STORAGE_REDIRECT_MAP_KEY = 'nearSocialVMredirectMap'; + function Viewer({ widgetSrc, code, initialProps }) { const location = useLocation(); const searchParams = new URLSearchParams(location.search); @@ -33,12 +35,31 @@ function Viewer({ widgetSrc, code, initialProps }) { return pathSrc; }, [widgetSrc, path]); + const [redirectMap, setRedirectMap] = useState(null); + useEffect(() => { + (async () => { + const localStorageFlags = JSON.parse(localStorage.getItem("flags")); + + if (localStorageFlags?.bosLoaderUrl) { + setRedirectMap( + (await fetch(localStorageFlags.bosLoaderUrl).then((r) => r.json())) + .components + ); + } else { + setRedirectMap( + JSON.parse(sessionStorage.getItem(SESSION_STORAGE_REDIRECT_MAP_KEY)) + ); + } + })(); + }, []); + return ( <> ); diff --git a/yarn.lock b/yarn.lock index dafc16f..a7b74b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1873,7 +1873,14 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.13.8", "@babel/runtime@^7.14.6", "@babel/runtime@^7.3.1", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7": +"@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.3.1": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c" + integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/runtime@^7.13.8", "@babel/runtime@^7.14.6", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.7": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e" integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw== @@ -2347,31 +2354,31 @@ integrity sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA== "@floating-ui/core@^1.0.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1" - integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g== + version "1.6.2" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.2.tgz#d37f3e0ac1f1c756c7de45db13303a266226851a" + integrity sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg== dependencies: - "@floating-ui/utils" "^0.2.1" + "@floating-ui/utils" "^0.2.0" -"@floating-ui/dom@^1.6.1": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.3.tgz#954e46c1dd3ad48e49db9ada7218b0985cee75ef" - integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw== +"@floating-ui/dom@^1.0.0": + version "1.6.5" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.5.tgz#323f065c003f1d3ecf0ff16d2c2c4d38979f4cb9" + integrity sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw== dependencies: "@floating-ui/core" "^1.0.0" "@floating-ui/utils" "^0.2.0" "@floating-ui/react-dom@^2.0.0": - version "2.0.8" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.8.tgz#afc24f9756d1b433e1fe0d047c24bd4d9cefaa5d" - integrity sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw== + version "2.0.9" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.9.tgz#264ba8b061000baa132b5910f0427a6acf7ad7ce" + integrity sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ== dependencies: - "@floating-ui/dom" "^1.6.1" + "@floating-ui/dom" "^1.0.0" -"@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2" - integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q== +"@floating-ui/utils@^0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5" + integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== "@gar/promisify@^1.0.1": version "1.1.3" @@ -4790,9 +4797,9 @@ anymatch@~3.1.2: picomatch "^2.0.4" aria-hidden@^1.1.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.3.tgz#14aeb7fb692bbb72d69bebfa47279c1fd725e954" - integrity sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.4.tgz#b78e383fdbc04d05762c78b4a25a501e736c4522" + integrity sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A== dependencies: tslib "^2.0.0" @@ -4868,7 +4875,7 @@ async@^3.2.4: resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== -available-typed-arrays@^1.0.5, available-typed-arrays@^1.0.6: +available-typed-arrays@^1.0.5, available-typed-arrays@^1.0.6, available-typed-arrays@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== @@ -6216,9 +6223,9 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: domelementtype "^2.2.0" dompurify@^3.0.6: - version "3.0.9" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.0.9.tgz#b3f362f24b99f53498c75d43ecbd784b0b3ad65e" - integrity sha512-uyb4NDIvQ3hRn6NiC+SIFaP4mJ/MdXlvtunaqK9Bn6dD3RuB/1S/gasEjDHD8eiaqdSael2vBv+hOs7Y+jhYOQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.3.tgz#cfe3ce4232c216d923832f68f2aa18b2fb9bd223" + integrity sha512-5sOWYSNPaxz6o2MUPvtyxTTqR4D3L77pr5rUQoWgD5ROQtVIZQgJkXbo1DLlK3vj11YGw5+LnF4SYti4gZmwng== domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" @@ -6794,7 +6801,7 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== @@ -6968,7 +6975,7 @@ has-symbols@^1.0.2, has-symbols@^1.0.3: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0, has-tostringtag@^1.0.1: +has-tostringtag@^1.0.0, has-tostringtag@^1.0.1, has-tostringtag@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== @@ -7298,9 +7305,9 @@ iframe-resizer-react@^1.1.0: warning "^4.0.3" iframe-resizer@^4.3.0: - version "4.3.9" - resolved "https://registry.yarnpkg.com/iframe-resizer/-/iframe-resizer-4.3.9.tgz#a2fcdb0f35a2eba1b3a3984c883193a849e1a6ce" - integrity sha512-MCt+V/THB4a9OcAdrWo5NsI2CRpeMM4ijhTfiLtsdgDJXWYXf62Ve8yO8rKGmYNs991zty/EolYOxActlkfU+A== + version "4.4.0" + resolved "https://registry.yarnpkg.com/iframe-resizer/-/iframe-resizer-4.4.0.tgz#05a242167fc2db5e986368e7bb99ba66ea1de629" + integrity sha512-NiEEfDgcFd7T5FVp64CKbp/w0FYOGhCe5wIDT045h8kcrywF2bhesaHU0y5pfrDMeUrPjmX15ovSwpHUwq4ryg== ignore@^5.2.0: version "5.2.4" @@ -7770,10 +7777,10 @@ is-lambda@^1.0.1: resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== -is-map@^2.0.1, is-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== +is-map@^2.0.2, is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== is-nan@^1.2.1: version "1.3.2" @@ -7849,10 +7856,10 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-set@^2.0.1, is-set@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== +is-set@^2.0.2, is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== is-shared-array-buffer@^1.0.2: version "1.0.3" @@ -7903,18 +7910,18 @@ is-unicode-supported@^1.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== - -is-weakset@^2.0.1: +is-weakmap@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakset@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" + integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bind "^1.0.7" + get-intrinsic "^1.2.4" is-wsl@^2.2.0: version "2.2.0" @@ -9208,14 +9215,9 @@ near-api-js@^2.1.3: node-fetch "^2.6.1" tweetnacl "^1.0.1" -near-social-vm-types@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/near-social-vm-types/-/near-social-vm-types-1.0.0.tgz#721494a863d2c0d64da2a43d80224e4080b690db" - integrity sha512-K5CxfiiKc7evzFb/1BGBOD2x4QqnEBuVaHkgRsRTGv02ctLkxA/Xf892SornWSkD75Hf0s9j/jeM5PpMfXcM9A== - -"near-social-vm@git+https://github.com/NearSocial/VM.git": - version "2.6.0" - resolved "git+https://github.com/NearSocial/VM.git#8dbb06526f15f10d562a118a38e4c0b6412beb88" +near-social-vm@NearSocial/VM#2.6.1: + version "2.6.1" + resolved "https://codeload.github.com/NearSocial/VM/tar.gz/6047c6a9b96f3de14e600c1d2b96c432bbb76dd4" dependencies: "@radix-ui/react-accordion" "^1.1.1" "@radix-ui/react-alert-dialog" "^1.0.3" @@ -10145,9 +10147,9 @@ property-information@^5.0.0: xtend "^4.0.0" property-information@^6.0.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.4.1.tgz#de8b79a7415fd2107dfbe65758bb2cc9dfcf60ac" - integrity sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w== + version "6.5.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" + integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== protobufjs@^7.0.0: version "7.2.5" @@ -10467,9 +10469,9 @@ react-popper@^2.2.5: warning "^4.0.2" react-remove-scroll-bar@^2.3.3: - version "2.3.5" - resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.5.tgz#cd2543b3ed7716c7c5b446342d21b0e0b303f47c" - integrity sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw== + version "2.3.6" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c" + integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g== dependencies: react-style-singleton "^2.2.1" tslib "^2.0.0" @@ -11948,9 +11950,9 @@ url@^0.11.0: querystring "0.2.0" use-callback-ref@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.1.tgz#9be64c3902cbd72b07fe55e56408ae3a26036fd0" - integrity sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ== + version "1.3.2" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.2.tgz#6134c7f6ff76e2be0b56c809b17a650c942b1693" + integrity sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA== dependencies: tslib "^2.0.0" @@ -12284,16 +12286,27 @@ which-boxed-primitive@^1.0.2: is-symbol "^1.0.3" which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-typed-array@^1.1.13: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" -which-typed-array@^1.1.13, which-typed-array@^1.1.14: +which-typed-array@^1.1.14: version "1.1.14" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06" integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==