Skip to content

Commit

Permalink
Implement inner max filesize to 64MiB
Browse files Browse the repository at this point in the history
64 MiB attachment succeeded, 70 MiB broke

Signed-off-by: Knut Ahlers <knut@ahlers.me>
  • Loading branch information
Luzifer committed Oct 1, 2023
1 parent 2c78df7 commit 926b942
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion src/components/create.vue
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,17 @@ const defaultExpiryChoices = [
5 * 60, // 5 minutes
]
/*
* We define an internal max file-size which cannot get exceeded even
* though the server might accept more: at around 70 MiB the base64
* encoding broke and nothing works anymore. This might be fixed by
* changing how the base64 implementation works (maybe use a WASM
* object?) or switching to a browser-native implementation in case
* that will appear somewhen in the future but for now we just "fix"
* the issue by disallowing bigger files.
*/
const internalMaxFileSize = 64 * 1024 * 1024 // 64 MiB
const passwordCharset = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
const passwordLength = 20
Expand Down Expand Up @@ -146,7 +157,7 @@ export default {
},
maxFileSizeExceeded() {
return this.$root.customize.maxAttachmentSizeTotal !== 0 && this.fileSize > this.$root.customize.maxAttachmentSizeTotal
return this.fileSize > internalMaxFileSize || this.$root.customize.maxAttachmentSizeTotal !== 0 && this.fileSize > this.$root.customize.maxAttachmentSizeTotal
},
},
Expand Down

0 comments on commit 926b942

Please sign in to comment.