diff --git a/external/@worldbrain/storex-hub b/external/@worldbrain/storex-hub index 955f988f79..e17d803484 160000 --- a/external/@worldbrain/storex-hub +++ b/external/@worldbrain/storex-hub @@ -1 +1 @@ -Subproject commit 955f988f797f46f66ce7988693187c9837633637 +Subproject commit e17d80348463b7c41b5a6dbcb0681d1807856dba diff --git a/src/annotations/background/index.ts b/src/annotations/background/index.ts index 26359551a3..dd2f84fa9b 100644 --- a/src/annotations/background/index.ts +++ b/src/annotations/background/index.ts @@ -31,6 +31,7 @@ import type { AnalyticsCoreInterface } from '@worldbrain/memex-common/lib/analyt import type { PKMSyncBackgroundModule } from 'src/pkm-integrations/background' import type { ImageSupportInterface } from '@worldbrain/memex-common/lib/image-support/types' import type { AuthBackground } from 'src/authentication/background' +import { ImageSupportBackground } from 'src/image-support/background' interface TabArg { tab: Tabs.Tab @@ -60,7 +61,7 @@ export default class DirectLinkingBackground { preAnnotationDelete(params: { annotationUrl: string }): Promise - imageSupport: ImageSupportInterface + imageSupport: ImageSupportBackground }, ) { this.socialBg = options.socialBg diff --git a/src/annotations/components/AnnotationEditable.tsx b/src/annotations/components/AnnotationEditable.tsx index 1011fef20f..5bcd31374b 100644 --- a/src/annotations/components/AnnotationEditable.tsx +++ b/src/annotations/components/AnnotationEditable.tsx @@ -226,7 +226,7 @@ export default class AnnotationEditable extends React.Component { this.props.highlightColorSettings, ) - const defaultHighlightSettings = highlightColorSettings.find( + const defaultHighlightSettings = highlightColorSettings?.find( (setting) => setting.id === 'default', ) if (defaultHighlightSettings?.color) { @@ -452,11 +452,7 @@ export default class AnnotationEditable extends React.Component { /> ) : ( - + {this.state.isTruncatedHighlight ? this.state.truncatedTextHighlight : this.props.body} @@ -847,7 +843,6 @@ export default class AnnotationEditable extends React.Component { {comment} {/* {this.state.isTruncatedNote diff --git a/src/copy-paster/background/template-data-fetchers.ts b/src/copy-paster/background/template-data-fetchers.ts index 56eb2a6aba..f1337f6a6f 100644 --- a/src/copy-paster/background/template-data-fetchers.ts +++ b/src/copy-paster/background/template-data-fetchers.ts @@ -420,7 +420,10 @@ export function getTemplateDataFetchers({ } async function convertHTMLintoMarkdown(inputHtml, imageSupport) { - const html = await replaceImgSrcWithFunctionOutput(inputHtml, imageSupport) + const html = await replaceImgSrcWithFunctionOutput( + inputHtml, + process.env.NODE_ENV, + ) if (html) { let turndownService = new TurndownService({ headingStyle: 'atx', diff --git a/src/markdown-preview/markdown-preview.tsx b/src/markdown-preview/markdown-preview.tsx index 62aa93a7f3..0d2fb12792 100644 --- a/src/markdown-preview/markdown-preview.tsx +++ b/src/markdown-preview/markdown-preview.tsx @@ -106,11 +106,7 @@ export class MarkdownPreview extends React.Component { private renderEditor() { if (this.state.showPreview) { - return ( - - {this.props.value} - - ) + return {this.props.value} } return this.props.renderInput({ diff --git a/src/personal-cloud/background/backend/translation-layer/index.test.ts b/src/personal-cloud/background/backend/translation-layer/index.test.ts index bd13e67cfc..161895e98a 100644 --- a/src/personal-cloud/background/backend/translation-layer/index.test.ts +++ b/src/personal-cloud/background/backend/translation-layer/index.test.ts @@ -5866,21 +5866,27 @@ describe('Personal cloud translation layer', () => { const testAnnotations = remoteData.personalAnnotation const testSelectors = remoteData.personalAnnotationSelector - const firstHighlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - lists: [], - tags: [], - }) - const secondHighlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.second, - locator: testLocators.first as any, - metadata: testMetadata.first, - lists: [], - tags: [], - }) + const firstHighlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + lists: [], + tags: [], + }, + 'production', + ) + const secondHighlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.second, + locator: testLocators.first as any, + metadata: testMetadata.first, + lists: [], + tags: [], + }, + 'production', + ) testFetches([firstHighlight, secondHighlight]) expect( @@ -5921,14 +5927,17 @@ describe('Personal cloud translation layer', () => { const testAnnotations = remoteData.personalAnnotation const testSelectors = remoteData.personalAnnotationSelector - const highlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - lists: [], - tags: [], - }) + const highlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + lists: [], + tags: [], + }, + 'production', + ) testFetches([highlight, { ...highlight, note: updatedComment }]) expect( @@ -5965,22 +5974,28 @@ describe('Personal cloud translation layer', () => { const testAnnotations = remoteData.personalAnnotation const testSelectors = remoteData.personalAnnotationSelector - const highlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - lists: [], - tags: [], - }) - const highlightWithTags = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - tags: [testTags.firstAnnotationTag], - lists: [], - }) + const highlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + lists: [], + tags: [], + }, + 'production', + ) + const highlightWithTags = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + tags: [testTags.firstAnnotationTag], + lists: [], + }, + 'production', + ) testFetches([highlight, highlightWithTags]) expect( @@ -6028,36 +6043,48 @@ describe('Personal cloud translation layer', () => { const testTags = remoteData.personalTag const testAnnotations = remoteData.personalAnnotation const testSelectors = remoteData.personalAnnotationSelector - const firstHighlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - tags: [], - lists: [], - }) - const firstHighlightWithTags = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - tags: [testTags.firstAnnotationTag], - lists: [], - }) - const secondHighlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.second, - locator: testLocators.first as any, - metadata: testMetadata.first, - tags: [], - lists: [], - }) - const secondHighlightWithTags = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.second, - locator: testLocators.first as any, - metadata: testMetadata.first, - tags: [testTags.secondAnnotationTag], - lists: [], - }) + const firstHighlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + tags: [], + lists: [], + }, + 'production', + ) + const firstHighlightWithTags = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + tags: [testTags.firstAnnotationTag], + lists: [], + }, + 'production', + ) + const secondHighlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.second, + locator: testLocators.first as any, + metadata: testMetadata.first, + tags: [], + lists: [], + }, + 'production', + ) + const secondHighlightWithTags = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.second, + locator: testLocators.first as any, + metadata: testMetadata.first, + tags: [testTags.secondAnnotationTag], + lists: [], + }, + 'production', + ) testFetches([ firstHighlight, @@ -6105,22 +6132,28 @@ describe('Personal cloud translation layer', () => { const testAnnotations = remoteData.personalAnnotation const testSelectors = remoteData.personalAnnotationSelector - const highlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - lists: [], - tags: [], - }) - const highlightWithLists = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - tags: [], - lists: [testLists.first], - }) + const highlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + lists: [], + tags: [], + }, + 'production', + ) + const highlightWithLists = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + tags: [], + lists: [testLists.first], + }, + 'production', + ) testFetches([highlight, highlightWithLists]) expect( @@ -6175,36 +6208,48 @@ describe('Personal cloud translation layer', () => { const testLists = remoteData.personalList const testAnnotations = remoteData.personalAnnotation const testSelectors = remoteData.personalAnnotationSelector - const firstHighlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - tags: [], - lists: [], - }) - const firstHighlightWithLists = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - tags: [], - lists: [testLists.first], - }) - const secondHighlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.second, - locator: testLocators.first as any, - metadata: testMetadata.first, - tags: [], - lists: [], - }) - const secondHighlightWithLists = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.second, - locator: testLocators.first as any, - metadata: testMetadata.first, - tags: [], - lists: [testLists.first], - }) + const firstHighlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + tags: [], + lists: [], + }, + 'production', + ) + const firstHighlightWithLists = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + tags: [], + lists: [testLists.first], + }, + 'production', + ) + const secondHighlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.second, + locator: testLocators.first as any, + metadata: testMetadata.first, + tags: [], + lists: [], + }, + 'production', + ) + const secondHighlightWithLists = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.second, + locator: testLocators.first as any, + metadata: testMetadata.first, + tags: [], + lists: [testLists.first], + }, + 'production', + ) testFetches([ firstHighlight, @@ -6269,23 +6314,29 @@ describe('Personal cloud translation layer', () => { const testAnnotations = remoteData.personalAnnotation const testSelectors = remoteData.personalAnnotationSelector - const highlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - lists: [], - tags: [], - }) - const highlightWithTags = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: testMetadata.first, - lists: [], - tags: [{ name: testTagWithSpaces }], - }) - const highlightWithTagsAndSpaces = cloudDataToReadwiseHighlight( + const highlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + lists: [], + tags: [], + }, + 'production', + ) + const highlightWithTags = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: testMetadata.first, + lists: [], + tags: [{ name: testTagWithSpaces }], + }, + 'production', + ) + const highlightWithTagsAndSpaces = await cloudDataToReadwiseHighlight( { annotation: testAnnotations.first, selector: testSelectors.first, @@ -6294,6 +6345,7 @@ describe('Personal cloud translation layer', () => { lists: [{ name: testListWithSpaces }], tags: [{ name: testTagWithSpaces }], }, + 'production', ) testFetches([ @@ -6338,14 +6390,17 @@ describe('Personal cloud translation layer', () => { const testSelectors = remoteData.personalAnnotationSelector const { title, ...titlelessMetadata } = testMetadata.first - const highlight = cloudDataToReadwiseHighlight({ - annotation: testAnnotations.first, - selector: testSelectors.first, - locator: testLocators.first as any, - metadata: titlelessMetadata, - tags: [], - lists: [], - }) + const highlight = await cloudDataToReadwiseHighlight( + { + annotation: testAnnotations.first, + selector: testSelectors.first, + locator: testLocators.first as any, + metadata: titlelessMetadata, + tags: [], + lists: [], + }, + 'production', + ) testFetches([highlight]) expect( diff --git a/src/pkm-integrations/background/backend/utils.ts b/src/pkm-integrations/background/backend/utils.ts index 25c6e76251..fd21ebf252 100644 --- a/src/pkm-integrations/background/backend/utils.ts +++ b/src/pkm-integrations/background/backend/utils.ts @@ -34,8 +34,7 @@ export async function shareAnnotationWithPKM( if (annotationData.comment) { annotationData = await replaceImgSrcWithFunctionOutput( annotationData.comment, - imageSupport, - true, + process.env.NODE_ENV, ) } diff --git a/src/sidebar/annotations-sidebar/components/AnnotationsSidebar.tsx b/src/sidebar/annotations-sidebar/components/AnnotationsSidebar.tsx index 4690dddc3c..41d17710cd 100644 --- a/src/sidebar/annotations-sidebar/components/AnnotationsSidebar.tsx +++ b/src/sidebar/annotations-sidebar/components/AnnotationsSidebar.tsx @@ -3199,7 +3199,6 @@ export class AnnotationsSidebar extends React.Component< @@ -3218,7 +3217,6 @@ export class AnnotationsSidebar extends React.Component< getYoutubePlayer={ this.props.getYoutubePlayer } - imageSupport={this.props.imageSupport} > {item.comment} @@ -4307,7 +4305,7 @@ export class AnnotationsSidebar extends React.Component< onKeyDown={this.handleNameEditInputKeyDown} /> {selectedList.description?.length > 0 && ( - + {selectedList.description} )} diff --git a/yarn.lock b/yarn.lock index a5409f3f8e..cacca09389 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3969,7 +3969,7 @@ acorn@^8.0.4: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== -acorn@^8.5.0, acorn@^8.7.1: +acorn@^8.5.0: version "8.8.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== @@ -3993,6 +3993,13 @@ agent-base@^6.0.0, agent-base@^6.0.2: dependencies: debug "4" +agent-base@^7.0.2, agent-base@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" + integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== + dependencies: + debug "^4.3.4" + agentkeepalive@^4.1.3: version "4.1.4" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.4.tgz#d928028a4862cb11718e55227872e842a44c945b" @@ -6897,6 +6904,13 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" +cssstyle@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.0.1.tgz#ef29c598a1e90125c870525490ea4f354db0660a" + integrity sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ== + dependencies: + rrweb-cssom "^0.6.0" + csstype@^3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.4.tgz#b156d7be03b84ff425c9a0a4b1e5f4da9c5ca888" @@ -6953,7 +6967,7 @@ data-urls@^1.0.0: whatwg-mimetype "^2.0.0" whatwg-url "^6.4.0" -data-urls@^3.0.1, data-urls@^3.0.2: +data-urls@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== @@ -6962,6 +6976,14 @@ data-urls@^3.0.1, data-urls@^3.0.2: whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" +data-urls@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-5.0.0.tgz#2f76906bce1824429ffecb6920f45a0b30f00dde" + integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg== + dependencies: + whatwg-mimetype "^4.0.0" + whatwg-url "^14.0.0" + datauri@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/datauri/-/datauri-1.1.0.tgz#c6184ff6b928ede4e41ccc23ab954c7839c4fb39" @@ -7030,7 +7052,7 @@ debug@^4.3.2: dependencies: ms "2.1.2" -debug@^4.3.3: +debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -7059,6 +7081,11 @@ decimal.js@^10.3.1: resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== +decimal.js@^10.4.3: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -7895,11 +7922,6 @@ entities@^4.2.0, entities@^4.4.0: resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== -entities@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.3.1.tgz#c34062a94c865c322f9d67b4384e4169bcede6a4" - integrity sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg== - entities@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" @@ -10018,6 +10040,13 @@ html-encoding-sniffer@^3.0.0: dependencies: whatwg-encoding "^2.0.0" +html-encoding-sniffer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz#696df529a7cfd82446369dc5193e590a3735b448" + integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ== + dependencies: + whatwg-encoding "^3.1.1" + html-escaper@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.1.tgz#beed86b5d2b921e92533aa11bce6d8e3b583dee7" @@ -10189,6 +10218,14 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" +http-proxy-agent@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" + integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== + dependencies: + agent-base "^7.1.0" + debug "^4.3.4" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -10209,12 +10246,12 @@ https-proxy-agent@5, https-proxy-agent@^5.0.0: agent-base "6" debug "4" -https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== +https-proxy-agent@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" + integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== dependencies: - agent-base "6" + agent-base "^7.0.2" debug "4" human-signals@^2.1.0: @@ -11759,38 +11796,32 @@ jsdom@^19.0.0: ws "^8.2.3" xml-name-validator "^4.0.0" -jsdom@^20.0.0: - version "20.0.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.0.tgz#882825ac9cc5e5bbee704ba16143e1fa78361ebf" - integrity sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA== +jsdom@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-24.0.0.tgz#e2dc04e4c79da368481659818ee2b0cd7c39007c" + integrity sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A== dependencies: - abab "^2.0.6" - acorn "^8.7.1" - acorn-globals "^6.0.0" - cssom "^0.5.0" - cssstyle "^2.3.0" - data-urls "^3.0.2" - decimal.js "^10.3.1" - domexception "^4.0.0" - escodegen "^2.0.0" + cssstyle "^4.0.1" + data-urls "^5.0.0" + decimal.js "^10.4.3" form-data "^4.0.0" - html-encoding-sniffer "^3.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.1" + html-encoding-sniffer "^4.0.0" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.2" is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "^7.0.0" + nwsapi "^2.2.7" + parse5 "^7.1.2" + rrweb-cssom "^0.6.0" saxes "^6.0.0" symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^3.0.0" + tough-cookie "^4.1.3" + w3c-xmlserializer "^5.0.0" webidl-conversions "^7.0.0" - whatwg-encoding "^2.0.0" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - ws "^8.8.0" - xml-name-validator "^4.0.0" + whatwg-encoding "^3.1.1" + whatwg-mimetype "^4.0.0" + whatwg-url "^14.0.0" + ws "^8.16.0" + xml-name-validator "^5.0.0" jsesc@^1.3.0: version "1.3.0" @@ -13889,6 +13920,11 @@ nwsapi@^2.2.0: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== +nwsapi@^2.2.7: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -14388,12 +14424,12 @@ parse5@6.0.1, parse5@^6.0.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== -parse5@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.0.0.tgz#51f74a5257f5fcc536389e8c2d0b3802e1bfa91a" - integrity sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g== +parse5@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== dependencies: - entities "^4.3.0" + entities "^4.4.0" parseqs@0.0.5: version "0.0.5" @@ -16223,6 +16259,11 @@ punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" +punycode@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + pupa@^2.0.1, pupa@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" @@ -16278,6 +16319,11 @@ querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + queue@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/queue/-/queue-5.0.0.tgz#95c4805b77d0f87244f05b4ef796ccb0f099cf71" @@ -17245,6 +17291,11 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + reselect@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/reselect/-/reselect-3.0.1.tgz#efdaa98ea7451324d092b2b2163a6a1d7a9a2147" @@ -17414,6 +17465,11 @@ router@^1.3.1: setprototypeof "1.1.0" utils-merge "1.0.1" +rrweb-cssom@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1" + integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw== + rsvp@^4.8.5: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -19243,6 +19299,16 @@ tough-cookie@^4.0.0: punycode "^2.1.1" universalify "^0.1.2" +tough-cookie@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" @@ -19269,6 +19335,13 @@ tr46@^3.0.0: dependencies: punycode "^2.1.1" +tr46@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec" + integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g== + dependencies: + punycode "^2.3.1" + tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -19783,6 +19856,11 @@ universalify@^0.1.0, universalify@^0.1.2: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -19911,6 +19989,14 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + url-regex@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-4.1.1.tgz#a5617b22e15e26dac57ce74c3f52088bcdfec995" @@ -20101,6 +20187,13 @@ w3c-xmlserializer@^3.0.0: dependencies: xml-name-validator "^4.0.0" +w3c-xmlserializer@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz#f925ba26855158594d907313cedd1476c5967f6c" + integrity sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA== + dependencies: + xml-name-validator "^5.0.0" + wait-for-expect@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/wait-for-expect/-/wait-for-expect-3.0.2.tgz#d2f14b2f7b778c9b82144109c8fa89ceaadaa463" @@ -20323,6 +20416,13 @@ whatwg-encoding@^2.0.0: dependencies: iconv-lite "0.6.3" +whatwg-encoding@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5" + integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== + dependencies: + iconv-lite "0.6.3" + whatwg-fetch@>=0.10.0: version "2.0.4" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" @@ -20336,6 +20436,11 @@ whatwg-mimetype@^3.0.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== +whatwg-mimetype@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a" + integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== + whatwg-url@6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.4.0.tgz#08fdf2b9e872783a7a1f6216260a1d66cc722e08" @@ -20360,6 +20465,14 @@ whatwg-url@^11.0.0: tr46 "^3.0.0" webidl-conversions "^7.0.0" +whatwg-url@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6" + integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw== + dependencies: + tr46 "^5.0.0" + webidl-conversions "^7.0.0" + whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -20577,7 +20690,7 @@ write@^0.2.1: dependencies: mkdirp "^0.5.1" -ws@>=7.4.6, ws@^8.2.3, ws@^8.8.0: +ws@>=7.4.6, ws@^8.2.3: version "8.8.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== @@ -20612,6 +20725,11 @@ ws@^8.11.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== +ws@^8.16.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + ws@~6.1.0: version "6.1.4" resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9" @@ -20646,6 +20764,11 @@ xml-name-validator@^4.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== +xml-name-validator@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673" + integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== + xml2js@^0.4.17: version "0.4.22" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.22.tgz#4fa2d846ec803237de86f30aa9b5f70b6600de02"