Increased file upload limits to 10Mb

This commit is contained in:
Morgan Pretty 2023-02-06 14:22:26 +11:00
parent 0256735135
commit 50989cb2ee
2 changed files with 5 additions and 14 deletions

View File

@ -21,26 +21,26 @@ public class PushMediaConstraints extends MediaConstraints {
@Override @Override
public int getImageMaxSize(Context context) { public int getImageMaxSize(Context context) {
return (int) (((double) FileServerApi.maxFileSize) / FileServerApi.fileSizeORMultiplier); return FileServerApi.maxFileSize;
} }
@Override @Override
public int getGifMaxSize(Context context) { public int getGifMaxSize(Context context) {
return (int) (((double) FileServerApi.maxFileSize) / FileServerApi.fileSizeORMultiplier); return FileServerApi.maxFileSize;
} }
@Override @Override
public int getVideoMaxSize(Context context) { public int getVideoMaxSize(Context context) {
return (int) (((double) FileServerApi.maxFileSize) / FileServerApi.fileSizeORMultiplier); return FileServerApi.maxFileSize;
} }
@Override @Override
public int getAudioMaxSize(Context context) { public int getAudioMaxSize(Context context) {
return (int) (((double) FileServerApi.maxFileSize) / FileServerApi.fileSizeORMultiplier); return FileServerApi.maxFileSize;
} }
@Override @Override
public int getDocumentMaxSize(Context context) { public int getDocumentMaxSize(Context context) {
return (int) (((double) FileServerApi.maxFileSize) / FileServerApi.fileSizeORMultiplier); return FileServerApi.maxFileSize;
} }
} }

View File

@ -16,15 +16,6 @@ object FileServerApi {
private const val serverPublicKey = "da21e1d886c6fbaea313f75298bd64aab03a97ce985b46bb2dad9f2089c8ee59" private const val serverPublicKey = "da21e1d886c6fbaea313f75298bd64aab03a97ce985b46bb2dad9f2089c8ee59"
const val server = "http://filev2.getsession.org" const val server = "http://filev2.getsession.org"
const val maxFileSize = 10_000_000 // 10 MB const val maxFileSize = 10_000_000 // 10 MB
/**
* The file server has a file size limit of `maxFileSize`, which the Service Nodes try to enforce as well. However, the limit applied by the Service Nodes
* is on the **HTTP request** and not the actual file size. Because the file server expects the file data to be base 64 encoded, the size of the HTTP
* request for a given file will be at least `ceil(n / 3) * 4` bytes, where n is the file size in bytes. This is the minimum size because there might also
* be other parameters in the request. On average the multiplier appears to be about 1.5, so when checking whether the file will exceed the file size limit when
* uploading a file we just divide the size of the file by this number. The alternative would be to actually check the size of the HTTP request but that's only
* possible after proof of work has been calculated and the onion request encryption has happened, which takes several seconds.
*/
const val fileSizeORMultiplier = 2 // TODO: It should be possible to set this to 1.5?
sealed class Error(message: String) : Exception(message) { sealed class Error(message: String) : Exception(message) {
object ParsingFailed : Error("Invalid response.") object ParsingFailed : Error("Invalid response.")