diff --git a/package-lock.json b/package-lock.json index 56a5f72..7629321 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,20 +17,19 @@ "clean-insights-sdk": "^2.4", "core-js": "^3.6.5", "crypto-browserify": "^3.12.1", - "data-uri-to-buffer": "^3.0.1", "dayjs": "^1.10.3", + "deepmerge": "^4.3.1", "file-saver": "^2.0.5", "fix-webm-duration": "^1.0.0", "image-resize": "^1.4.1", - "image-size": "^1.0.0", + "image-size": "^2.0.2", "intersection-observer": "^0.12", - "js-sha256": "^0.9.0", "json-web-key": "^0.4.0", "jszip": "^3.10.1", "linkify-html": "^4.1.0", "linkifyjs": "^4.1.0", "material-design-icons-iconfont": "^6.7.0", - "matrix-js-sdk": "^37.2.0", + "matrix-js-sdk": "^37.3.0", "md-gum-polyfill": "^1.0.0", "mic-recorder-to-mp3": "^2.2.2", "path-browserify": "^1.0.1", @@ -54,6 +53,8 @@ "vuex-persist": "^3.1.3" }, "devDependencies": { + "@rollup/plugin-commonjs": "^28.0.3", + "@types/jszip": "^3.4.0", "babel-eslint": "^10.1.0", "copy-webpack-plugin": "^11.0.0", "eslint": "^7.0", @@ -1117,6 +1118,61 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@rollup/plugin-commonjs": { + "version": "28.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.3.tgz", + "integrity": "sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "fdir": "^6.2.0", + "is-reference": "1.2.1", + "magic-string": "^0.30.3", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=16.0.0 || 14 >= 14.17" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/fdir": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", + "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@rollup/plugin-inject": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", @@ -1473,6 +1529,16 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, + "node_modules/@types/jszip": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@types/jszip/-/jszip-3.4.0.tgz", + "integrity": "sha512-GFHqtQQP3R4NNuvZH3hNCYD0NbyBZ42bkN7kO3NDrU/SnvIZWMS8Bp38XCsRKBT5BXvgm0y1zqpZWp/ZkRzBzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "jszip": "*" + } + }, "node_modules/@types/node": { "version": "22.13.12", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.12.tgz", @@ -2369,6 +2435,13 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "peer": true }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2628,14 +2701,6 @@ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "license": "MIT" }, - "node_modules/data-uri-to-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", - "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", - "engines": { - "node": ">= 6" - } - }, "node_modules/dayjs": { "version": "1.10.7", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", @@ -2690,9 +2755,10 @@ "dev": true }, "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3889,18 +3955,6 @@ "node": ">=0.8.0" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -4073,17 +4127,15 @@ "license": "MIT" }, "node_modules/image-size": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.0.tgz", - "integrity": "sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==", - "dependencies": { - "queue": "6.0.2" - }, + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", + "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==", + "license": "MIT", "bin": { "image-size": "bin/image-size.js" }, "engines": { - "node": ">=12.0.0" + "node": ">=16.x" } }, "node_modules/immediate": { @@ -4207,12 +4259,16 @@ } }, "node_modules/is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -4281,6 +4337,16 @@ "node": ">=0.10.0" } }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -4325,11 +4391,6 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "node_modules/js-sha256": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", - "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -4827,9 +4888,9 @@ "integrity": "sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA==" }, "node_modules/matrix-js-sdk": { - "version": "37.2.0", - "resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-37.2.0.tgz", - "integrity": "sha512-6JUnm2sorHxeTcL9wlHCSdn1q7Nk198Fk5//gsiy2txJK8oa08OOgiomAi98YeQiwqA+omm99Km3m3dgcFyFVw==", + "version": "37.3.0", + "resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-37.3.0.tgz", + "integrity": "sha512-uYpXEucA+y9b116Hn+zG+X+u2GE2dACh+aN0BhiJDL/LtvhQgrXT4ZLG/N7OizomoHHF+i/WetDhi+rzDJQdDw==", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.12.5", @@ -5521,14 +5582,6 @@ ], "license": "MIT" }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "dependencies": { - "inherits": "~2.0.3" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -5677,13 +5730,21 @@ "license": "ISC" }, "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6270,6 +6331,19 @@ "node": ">=4" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/table": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", @@ -7918,6 +7992,36 @@ "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", "optional": true }, + "@rollup/plugin-commonjs": { + "version": "28.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.3.tgz", + "integrity": "sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "fdir": "^6.2.0", + "is-reference": "1.2.1", + "magic-string": "^0.30.3", + "picomatch": "^4.0.2" + }, + "dependencies": { + "fdir": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", + "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "dev": true, + "requires": {} + }, + "picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true + } + } + }, "@rollup/plugin-inject": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", @@ -8103,6 +8207,15 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, + "@types/jszip": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@types/jszip/-/jszip-3.4.0.tgz", + "integrity": "sha512-GFHqtQQP3R4NNuvZH3hNCYD0NbyBZ42bkN7kO3NDrU/SnvIZWMS8Bp38XCsRKBT5BXvgm0y1zqpZWp/ZkRzBzg==", + "dev": true, + "requires": { + "jszip": "*" + } + }, "@types/node": { "version": "22.13.12", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.12.tgz", @@ -8814,6 +8927,12 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "peer": true }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -9010,11 +9129,6 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, - "data-uri-to-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", - "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==" - }, "dayjs": { "version": "1.10.7", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", @@ -9056,9 +9170,9 @@ "dev": true }, "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" }, "deferred-leveldown": { "version": "0.2.0", @@ -9938,15 +10052,6 @@ "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -10062,12 +10167,9 @@ "integrity": "sha512-2QQkTdMvRGkbcfeKs3OCA7g8CNRqa3ISo+8OHhMTmsHvjfaxBrvGsZ/fNTroAhh8M+9xesU4FMcoJUBMDArYzA==" }, "image-size": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.0.tgz", - "integrity": "sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==", - "requires": { - "queue": "6.0.2" - } + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-2.0.2.tgz", + "integrity": "sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==" }, "immediate": { "version": "3.0.6", @@ -10156,12 +10258,12 @@ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" }, "is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "requires": { - "has": "^1.0.3" + "hasown": "^2.0.2" } }, "is-extglob": { @@ -10206,6 +10308,15 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, "is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -10236,11 +10347,6 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "js-sha256": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", - "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -10669,9 +10775,9 @@ "integrity": "sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA==" }, "matrix-js-sdk": { - "version": "37.2.0", - "resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-37.2.0.tgz", - "integrity": "sha512-6JUnm2sorHxeTcL9wlHCSdn1q7Nk198Fk5//gsiy2txJK8oa08OOgiomAi98YeQiwqA+omm99Km3m3dgcFyFVw==", + "version": "37.3.0", + "resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-37.3.0.tgz", + "integrity": "sha512-uYpXEucA+y9b116Hn+zG+X+u2GE2dACh+aN0BhiJDL/LtvhQgrXT4ZLG/N7OizomoHHF+i/WetDhi+rzDJQdDw==", "requires": { "@babel/runtime": "^7.12.5", "@matrix-org/matrix-sdk-crypto-wasm": "^14.0.1", @@ -11168,14 +11274,6 @@ "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", "dev": true }, - "queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "requires": { - "inherits": "~2.0.3" - } - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -11277,13 +11375,14 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-from": { @@ -11694,6 +11793,12 @@ "has-flag": "^3.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "table": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", diff --git a/package.json b/package.json index 1281ec1..9fa3dc2 100644 --- a/package.json +++ b/package.json @@ -18,20 +18,19 @@ "clean-insights-sdk": "^2.4", "core-js": "^3.6.5", "crypto-browserify": "^3.12.1", - "data-uri-to-buffer": "^3.0.1", "dayjs": "^1.10.3", + "deepmerge": "^4.3.1", "file-saver": "^2.0.5", "fix-webm-duration": "^1.0.0", "image-resize": "^1.4.1", - "image-size": "^1.0.0", + "image-size": "^2.0.2", "intersection-observer": "^0.12", - "js-sha256": "^0.9.0", "json-web-key": "^0.4.0", "jszip": "^3.10.1", "linkify-html": "^4.1.0", "linkifyjs": "^4.1.0", "material-design-icons-iconfont": "^6.7.0", - "matrix-js-sdk": "^37.2.0", + "matrix-js-sdk": "^37.3.0", "md-gum-polyfill": "^1.0.0", "mic-recorder-to-mp3": "^2.2.2", "path-browserify": "^1.0.1", @@ -55,6 +54,8 @@ "vuex-persist": "^3.1.3" }, "devDependencies": { + "@rollup/plugin-commonjs": "^28.0.3", + "@types/jszip": "^3.4.0", "babel-eslint": "^10.1.0", "copy-webpack-plugin": "^11.0.0", "eslint": "^7.0", diff --git a/src/assets/quotes/fr/quotes.json b/src/assets/quotes/fr/quotes.json new file mode 100644 index 0000000..8845796 --- /dev/null +++ b/src/assets/quotes/fr/quotes.json @@ -0,0 +1,7 @@ +{ + "quotes": [ + +{ + "quote":"Je suis un programmeur","author":"Mickey Mouse"} +] +} diff --git a/src/assets/translations/ar.json b/src/assets/translations/ar.json index f8f2247..d8d3bf3 100644 --- a/src/assets/translations/ar.json +++ b/src/assets/translations/ar.json @@ -115,7 +115,7 @@ "tip_text": "سيتمكن الأعضاء من رؤية نتائج الاستطلاع بعد الإجابة. أغلق الاستطلاع عندما تنتهي لعرض النتائج على الجميع في الغرفة.", "create_poll_menu_option": "إنشاء استطلاع للرأي" }, - "export": { + "room_export": { "exported_date": "‫تم التصدير بتاريخ {date}", "fetched_n_events": "تم جلب {count} من الأحداث", "fetched_n_of_total_events": "تم جلب {count} من أصل {total} من الأحداث", diff --git a/src/assets/translations/bn.json b/src/assets/translations/bn.json index 8a5f4c8..461c0f4 100644 --- a/src/assets/translations/bn.json +++ b/src/assets/translations/bn.json @@ -395,7 +395,7 @@ "num_answered": "{count} টি উত্তর", "results_shared": "ফলাফল রুমে প্রকাশ করা হয়েছে।" }, - "export": { + "room_export": { "exported_date": "{date} এ এক্সপোর্ট করা হয়েছে", "fetched_n_events": "{count} ইভেন্ট জড় করা হয়েছে", "fetched_n_of_total_events": "{total} টির মধ্যে {count} টি ইভেন্ট জড় করা হয়েছে", diff --git a/src/assets/translations/bo.json b/src/assets/translations/bo.json index cab7733..22b71b6 100644 --- a/src/assets/translations/bo.json +++ b/src/assets/translations/bo.json @@ -385,7 +385,7 @@ "view_results": "གྲུབ་འབྲས་ལ་གཟིགས།", "results_shared": "གྲུབ་འབྲས་ཁ་བརྡ་ཁང་དུ་བརྒྱུད་སྤེལ་བྱེད་ངེས།" }, - "export": { + "room_export": { "exported_date": "{date} ཉིན་ལ་ཕྱིར་འདྲེན་བྱས།", "export_filename": "{date} ཉིན་ཕྱིར་འདྲེན་བྱས་པའི་ཁ་བརྡ།", "processed_n_of_total_events": "བྱུང་བ་{total}ཁོངས་ནས་ལས་སྣོན་བྱས་ཟིན་པའི་སྨྱན་སྦྱོར་གྱི་གྲངས {count}", diff --git a/src/assets/translations/de.json b/src/assets/translations/de.json index c7f9ffb..4600b8b 100644 --- a/src/assets/translations/de.json +++ b/src/assets/translations/de.json @@ -363,7 +363,7 @@ "results_shared": "Die Ergebnisse werden dem Raum mitgeteilt.", "tip_text": "Die Mitglieder sehen die Umfrageergebnisse, nachdem sie geantwortet haben. Schließe die Umfrage, wenn du fertig bist, um die Ergebnisse für alle im Raum anzuzeigen." }, - "export": { + "room_export": { "fetched_n_of_total_events": "{count} von {total} Ereignissen geladen", "exported_date": "Am {date} exportiert", "processed_n_of_total_events": "Medien für {count} von {total} Ereignissen verarbeitet", diff --git a/src/assets/translations/en.json b/src/assets/translations/en.json index 1f43c22..12feb55 100644 --- a/src/assets/translations/en.json +++ b/src/assets/translations/en.json @@ -426,7 +426,7 @@ "num_answered": "{count} answers", "results_shared": "Results shared to the room." }, - "export": { + "room_export": { "exported_date": "Exported on {date}", "fetched_n_events": "Fetched {count} events", "fetched_n_of_total_events": "Fetched {count} of {total} events", diff --git a/src/assets/translations/es.json b/src/assets/translations/es.json index 9545bf2..a8fcc4b 100644 --- a/src/assets/translations/es.json +++ b/src/assets/translations/es.json @@ -426,7 +426,7 @@ "not_supported": "La notificación aún no es compatible con dispositivos móviles", "periodicSync_new_msg_reminder": "Es posible que tengas nuevos mensajes" }, - "export": { + "room_export": { "fetched_n_of_total_events": "{count} de {total} eventos recuperados", "export_filename": "Chat exportado el {date}", "exported_date": "Exportado el {date}", diff --git a/src/assets/translations/es_419.json b/src/assets/translations/es_419.json index 050add6..cfabedf 100644 --- a/src/assets/translations/es_419.json +++ b/src/assets/translations/es_419.json @@ -418,7 +418,7 @@ "num_answered": "{count} respuestas", "results_shared": "Resultados compartidos a la sala." }, - "export": { + "room_export": { "exported_date": "Exportado el {date}", "fetched_n_events": "Se obtuvieron {count} eventos", "processed_n_of_total_events": "Medios procesados para {count} de {total} eventos", diff --git a/src/assets/translations/es_CU.json b/src/assets/translations/es_CU.json index a96d7ce..747291c 100644 --- a/src/assets/translations/es_CU.json +++ b/src/assets/translations/es_CU.json @@ -144,7 +144,7 @@ "message_history_warning": "Advertencia: el historial completo de mensajes será visible para los nuevos participantes.", "message_history": "Historial de mensajes" }, - "export": { + "room_export": { "exported_date": "Exportado en {date}", "fetched_n_events": "Eventos{count} recuperados", "fetched_n_of_total_events": "Se recuperaron {count} de {total} eventos", diff --git a/src/assets/translations/fa.json b/src/assets/translations/fa.json index 1daff5d..73cb211 100644 --- a/src/assets/translations/fa.json +++ b/src/assets/translations/fa.json @@ -423,7 +423,7 @@ "places": "مکان ها" } }, - "export": { + "room_export": { "exported_date": "خروجی گرفته شد در {date}", "fetched_n_events": "{count} رویداد بازیابی شد", "fetched_n_of_total_events": "{count} از {total} رویداد بازیابی شد", diff --git a/src/assets/translations/fa_AF.json b/src/assets/translations/fa_AF.json index 2812153..baebe27 100644 --- a/src/assets/translations/fa_AF.json +++ b/src/assets/translations/fa_AF.json @@ -195,7 +195,7 @@ "poll_submit": "تسلیم کردن", "num_answered": "{count} جواب" }, - "export": { + "room_export": { "exported_date": "خروجی گرفته شد در {date}", "fetched_n_events": "{count} رویداد بازیابی شد", "fetched_n_of_total_events": "{count} از {total} رویداد بازیابی شد", diff --git a/src/assets/translations/ga.json b/src/assets/translations/ga.json index 468b490..752a57f 100644 --- a/src/assets/translations/ga.json +++ b/src/assets/translations/ga.json @@ -445,7 +445,7 @@ "download_name": "Íoslódáil", "original_text": "" }, - "export": { + "room_export": { "exported_date": "Onnmhairithe ar {date}", "fetched_n_events": "Imeachtaí {count} faighte", "fetched_n_of_total_events": "Fuarthas {count} de {total} imeacht", diff --git a/src/assets/translations/ku.json b/src/assets/translations/ku.json index 6415e3b..c1aa9b6 100644 --- a/src/assets/translations/ku.json +++ b/src/assets/translations/ku.json @@ -56,7 +56,7 @@ "info_auto_join": "بەخێر بێیت بۆ {room}.\nتۆ وەکوو {you} بەشداری دەکەیت.", "change": "گۆڕین" }, - "export": { + "room_export": { "export_filename": "چەت لە {date} دەرهێنرا", "exported_date": "لە {date} دەرهێنرا", "fetched_n_events": "{count} ڕووداو هێنرا", diff --git a/src/assets/translations/lo.json b/src/assets/translations/lo.json index 3294f82..baf9457 100644 --- a/src/assets/translations/lo.json +++ b/src/assets/translations/lo.json @@ -407,7 +407,7 @@ "poll_submit": "ສົ່ງ", "num_answered": "{count} ຄຳຕອບ" }, - "export": { + "room_export": { "exported_date": "ສົ່ງອອກໃນວັນທີ {date}", "fetched_n_events": "ໄດ້ຮັບ {count} ກິດຈະກຳ", "fetched_n_of_total_events": "ໄດ້ຮັບ {count}ຈາກ {total} ກິດຈະກຳ", diff --git a/src/assets/translations/my.json b/src/assets/translations/my.json index 4ffc6f5..7acdf56 100644 --- a/src/assets/translations/my.json +++ b/src/assets/translations/my.json @@ -242,7 +242,7 @@ "num_answered": "အဖြေ {count}ခု", "results_shared": "ရလဒ်များကို အခန်းသို့ မျှဝေခဲ့သည်။" }, - "export": { + "room_export": { "fetched_n_events": "ပွဲအစီအစဉ် {count} ခု ရရှိခဲ့သည်", "fetched_n_of_total_events": "ပွဲအစီအစဉ် {total} တွင် {count} ခု ရရှိခဲ့သည်", "processed_n_of_total_events": "ပွဲအစီအစဉ် {total} တွင် {count} ခုအတွက် မီဒီယာကို စီမံဆောင်ရွက်ခဲ့သည်", diff --git a/src/assets/translations/ps.json b/src/assets/translations/ps.json index 5a44407..9f38a60 100644 --- a/src/assets/translations/ps.json +++ b/src/assets/translations/ps.json @@ -421,7 +421,7 @@ "original_text": "", "download_name": "ډانلوډ" }, - "export": { + "room_export": { "exported_date": "{date} نېټه خروجې اخیستل شوې ده", "fetched_n_events": "{count} پېښې بېرته تر لاسه شوې دي", "fetched_n_of_total_events": "له {total} پېښو څخه {count} یې بېرته تر لاسه شوې دي", diff --git a/src/assets/translations/pt_BR.json b/src/assets/translations/pt_BR.json index c87b03f..6e370d0 100644 --- a/src/assets/translations/pt_BR.json +++ b/src/assets/translations/pt_BR.json @@ -385,7 +385,7 @@ "view_results": "Ver os resultados", "results_shared": "Resultados compartilhados com a sala." }, - "export": { + "room_export": { "exported_date": "Foi exportado em {date}", "fetched_n_events": "{count} eventos buscados", "fetched_n_of_total_events": "Obteve {count} de {total} eventos", diff --git a/src/assets/translations/ru.json b/src/assets/translations/ru.json index 4fe9ce0..f877d63 100644 --- a/src/assets/translations/ru.json +++ b/src/assets/translations/ru.json @@ -434,7 +434,7 @@ "channel_topic": "Опишите его", "error_channel": "Не удалось создать канал" }, - "export": { + "room_export": { "fetched_n_events": "Найдено {count} событий", "fetched_n_of_total_events": "Получено {count} из {total} событий", "export_filename": "Экспортированный чат {date}", diff --git a/src/assets/translations/tr.json b/src/assets/translations/tr.json index fb7f91e..1220fca 100644 --- a/src/assets/translations/tr.json +++ b/src/assets/translations/tr.json @@ -434,7 +434,7 @@ "close_tab": "Tarayıcı sekmesini kapat", "view_other_rooms": "Diğer odaları görüntüle" }, - "export": { + "room_export": { "exported_date": "{date} tarihinde dışarı aktarıldı", "fetched_n_events": "{count} eylem toplandı", "fetched_n_of_total_events": "{total} eylemden {count}tanesi toplandı", diff --git a/src/assets/translations/zh_Hans.json b/src/assets/translations/zh_Hans.json index 801522b..33b5d56 100644 --- a/src/assets/translations/zh_Hans.json +++ b/src/assets/translations/zh_Hans.json @@ -385,7 +385,7 @@ "answer_required": "答案不能为空。 请输入一些文本或删除此选项。", "num_answered": "{count} 答案" }, - "export": { + "room_export": { "fetched_n_events": "获取了 {count} 个事件", "exported_date": "于 {date} 导出", "fetched_n_of_total_events": "已获取 {count} 个事件,共 {total} 个事件", diff --git a/src/components/Chat.vue b/src/components/Chat.vue index 66441a0..75e360e 100644 --- a/src/components/Chat.vue +++ b/src/components/Chat.vue @@ -383,7 +383,7 @@ import MessageOperationsBottomSheet from "./MessageOperationsBottomSheet"; import StickerPickerBottomSheet from "./StickerPickerBottomSheet"; import UserProfileDialog from "./UserProfileDialog.vue" import BottomSheet from "./BottomSheet.vue"; -import ImageResize from "image-resize"; +import imageResize from "image-resize"; import CreatePollDialog from "./CreatePollDialog.vue"; import chatMixin, { ROOM_READ_MARKER_EVENT_PLACEHOLDER } from "./chatMixin"; import sendAttachmentsMixin from "./sendAttachmentsMixin"; @@ -394,8 +394,7 @@ import roomMembersMixin from "./roomMembersMixin"; import PurgeRoomDialog from "../components/PurgeRoomDialog"; import MessageErrorHandler from "./MessageErrorHandler"; import MessageOperationsChannel from './messages/channel/MessageOperationsChannel.vue'; -import sizeOf from "image-size"; -import dataUriToBuffer from "data-uri-to-buffer"; +import { imageSize } from "image-size"; import prettyBytes from "pretty-bytes"; import RoomExport from "./RoomExport.vue"; import { VEmojiPicker } from 'v-emoji-picker'; @@ -1470,8 +1469,9 @@ export default { fileObj.actualSize = file.size; fileObj.actualFile = file try { - fileObj.dimensions = sizeOf(dataUriToBuffer(evt.target.result)); - + const buffer = Uint8Array.from(window.atob(evt.target.result.replace(/^data[^,]+,/,'')), v => v.charCodeAt(0)); + fileObj.dimensions = imageSize(buffer); + // Need to resize? const w = fileObj.dimensions.width; const h = fileObj.dimensions.height; @@ -1479,14 +1479,12 @@ export default { var aspect = w / h; var newWidth = parseInt((w > h ? 640 : 640 * aspect).toFixed()); var newHeight = parseInt((w > h ? 640 / aspect : 640).toFixed()); - var imageResize = new ImageResize({ + imageResize(evt.target.result, { format: "png", width: newWidth, height: newHeight, outputType: "blob", - }); - imageResize - .play(evt.target.result) + }) .then((img) => { Vue.set( fileObj, diff --git a/src/components/Home.vue b/src/components/Home.vue index 1fcceb4..74a575c 100644 --- a/src/components/Home.vue +++ b/src/components/Home.vue @@ -43,7 +43,7 @@