diff --git a/package-lock.json b/package-lock.json
index 2a77258..2752242 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,18 +1,21 @@
{
"name": "keanuapp-weblite",
- "version": "0.1.4",
+ "version": "0.1.5",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
- "version": "0.1.4",
+ "version": "0.1.5",
"dependencies": {
"aes-js": "^3.1.2",
"axios": "^0.21.0",
"clean-insights-sdk": "^2.4.1",
"core-js": "^3.6.5",
+ "data-uri-to-buffer": "^3.0.1",
"dayjs": "^1.10.3",
"fix-webm-duration": "^1.0.0",
+ "image-resize": "^1.1.5",
+ "image-size": "^1.0.0",
"intersection-observer": "^0.11.0",
"js-sha256": "^0.9.0",
"json-web-key": "^0.4.0",
@@ -21,6 +24,7 @@
"matrix-js-sdk": "^9.4.1",
"md-gum-polyfill": "^1.0.0",
"olm": "https://packages.matrix.org/npm/olm/olm-3.2.1.tgz",
+ "pretty-bytes": "^5.6.0",
"qrcode": "^1.4.4",
"raw-loader": "^4.0.2",
"recordrtc": "^5.6.2",
@@ -4820,6 +4824,14 @@
"node": ">=0.10"
}
},
+ "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.4",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz",
@@ -7319,6 +7331,28 @@
"node": ">= 4"
}
},
+ "node_modules/image-resize": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/image-resize/-/image-resize-1.1.5.tgz",
+ "integrity": "sha512-oLSSXVzAmjhwSe36cGNmaSAid8xEXADlS6k+hXqXij3SMPhf9zUI6g3dHuNDV9nVmaD4jja36+k5PWmOiuI1wg==",
+ "dependencies": {
+ "jquery": "^3.4.1"
+ }
+ },
+ "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"
+ },
+ "bin": {
+ "image-size": "bin/image-size.js"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
"node_modules/import-cwd": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
@@ -8167,8 +8201,7 @@
"node_modules/jquery": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
- "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==",
- "peer": true
+ "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
},
"node_modules/js-message": {
"version": "1.0.7",
@@ -10782,6 +10815,17 @@
"node": ">=4"
}
},
+ "node_modules/pretty-bytes": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+ "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/pretty-error": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz",
@@ -11093,6 +11137,14 @@
"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
"dev": true
},
+ "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/randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -19479,6 +19531,11 @@
"assert-plus": "^1.0.0"
}
},
+ "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.4",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz",
@@ -21454,6 +21511,22 @@
"integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
"dev": true
},
+ "image-resize": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/image-resize/-/image-resize-1.1.5.tgz",
+ "integrity": "sha512-oLSSXVzAmjhwSe36cGNmaSAid8xEXADlS6k+hXqXij3SMPhf9zUI6g3dHuNDV9nVmaD4jja36+k5PWmOiuI1wg==",
+ "requires": {
+ "jquery": "^3.4.1"
+ }
+ },
+ "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"
+ }
+ },
"import-cwd": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
@@ -22075,8 +22148,7 @@
"jquery": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
- "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==",
- "peer": true
+ "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
},
"js-message": {
"version": "1.0.7",
@@ -24229,6 +24301,11 @@
"dev": true,
"optional": true
},
+ "pretty-bytes": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+ "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg=="
+ },
"pretty-error": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz",
@@ -24486,6 +24563,14 @@
"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
"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"
+ }
+ },
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
diff --git a/package.json b/package.json
index a58180c..4b2e756 100644
--- a/package.json
+++ b/package.json
@@ -12,8 +12,11 @@
"axios": "^0.21.0",
"clean-insights-sdk": "^2.4.1",
"core-js": "^3.6.5",
+ "data-uri-to-buffer": "^3.0.1",
"dayjs": "^1.10.3",
"fix-webm-duration": "^1.0.0",
+ "image-resize": "^1.1.5",
+ "image-size": "^1.0.0",
"intersection-observer": "^0.11.0",
"js-sha256": "^0.9.0",
"json-web-key": "^0.4.0",
@@ -22,6 +25,7 @@
"matrix-js-sdk": "^9.4.1",
"md-gum-polyfill": "^1.0.0",
"olm": "https://packages.matrix.org/npm/olm/olm-3.2.1.tgz",
+ "pretty-bytes": "^5.6.0",
"qrcode": "^1.4.4",
"raw-loader": "^4.0.2",
"recordrtc": "^5.6.2",
diff --git a/src/components/Chat.vue b/src/components/Chat.vue
index 9f7e5a3..d388390 100644
--- a/src/components/Chat.vue
+++ b/src/components/Chat.vue
@@ -16,7 +16,10 @@
ref="messageOperations"
:style="opStyle"
:emojis="recentEmojis"
- v-on:close="showContextMenu = false;showContextMenuAnchor = null;"
+ v-on:close="
+ showContextMenu = false;
+ showContextMenuAnchor = null;
+ "
v-if="selectedEvent && showContextMenu"
v-on:addreaction="addReaction"
v-on:addquickreaction="addQuickReaction"
@@ -33,7 +36,10 @@