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 @@ - +
- - - face - + + + face + @@ -254,16 +266,52 @@
- + - + +
+ file: {{ currentImageInputPath.name }} + + {{ currentImageInput.scaledDimensions.width }} x + {{ currentImageInput.scaledDimensions.height }} + + {{ currentImageInput.dimensions.width }} x + {{ currentImageInput.dimensions.height }} + + ({{ formatBytes(currentImageInput.scaledSize) }}) + + ({{ formatBytes(currentImageInputPath.size) }}) + +
{{ currentSendError }}
{{ currentSendProgress }}
@@ -286,22 +334,33 @@
- + - + v-on:close="showEmojiPicker = false" + v-if="selectedEvent" + v-on:addreaction="addReaction" + v-on:addquickreaction="addQuickReaction" + v-on:addreply="addReply(selectedEvent)" + v-on:edit="edit(selectedEvent)" + v-on:redact="redact(selectedEvent)" + v-on:download="download(selectedEvent)" + :event="selectedEvent" + /> + - + @@ -324,7 +383,7 @@ @@ -342,6 +401,7 @@ diff --git a/src/services/matrix.service.js b/src/services/matrix.service.js index ecb4b41..c68025f 100644 --- a/src/services/matrix.service.js +++ b/src/services/matrix.service.js @@ -562,7 +562,6 @@ export default { // const createRoomOptions = { visibility: "private", // Not listed! - //name: this.roomName, preset: "private_chat", initial_state: [ {