fix: Display error when user tries to send too large file

This commit is contained in:
Christian Pauly 2023-02-13 15:38:08 +01:00
parent 78a5206ba7
commit a76ea48d84
4 changed files with 18 additions and 3 deletions

View File

@ -2518,5 +2518,6 @@
"enterInviteLinkOrMatrixId": "Enter invite link or Matrix ID...", "enterInviteLinkOrMatrixId": "Enter invite link or Matrix ID...",
"reopenChat": "Reopen chat", "reopenChat": "Reopen chat",
"noBackupWarning": "Warning! Without enabling chat backup, you will lose access to your encrypted messages. It is highly recommended to enable the chat backup first before logging out.", "noBackupWarning": "Warning! Without enabling chat backup, you will lose access to your encrypted messages. It is highly recommended to enable the chat backup first before logging out.",
"noOtherDevicesFound": "No other devices found" "noOtherDevicesFound": "No other devices found",
"fileIsTooBigForServer": "The server reports that the file is too large to be sent."
} }

View File

@ -446,6 +446,7 @@ class ChatController extends State<Chat> {
} }
void voiceMessageAction() async { void voiceMessageAction() async {
final scaffoldMessenger = ScaffoldMessenger.of(context);
if (PlatformInfos.isAndroid) { if (PlatformInfos.isAndroid) {
final info = await DeviceInfoPlugin().androidInfo; final info = await DeviceInfoPlugin().androidInfo;
if (info.version.sdkInt < 19) { if (info.version.sdkInt < 19) {
@ -486,7 +487,16 @@ class ChatController extends State<Chat> {
'waveform': result.waveform, 'waveform': result.waveform,
}, },
}, },
).catchError((e) {
scaffoldMessenger.showSnackBar(
SnackBar(
content: Text(
(e as Object).toLocalizedString(context),
),
),
); );
return null;
});
setState(() { setState(() {
replyEvent = null; replyEvent = null;
}); });

View File

@ -4,6 +4,7 @@ import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart'; import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart'; import 'package:matrix/matrix.dart';
import 'package:fluffychat/utils/localized_exception_extension.dart';
import 'package:fluffychat/utils/size_string.dart'; import 'package:fluffychat/utils/size_string.dart';
import '../../utils/resize_image.dart'; import '../../utils/resize_image.dart';
@ -47,7 +48,7 @@ class SendFileDialogState extends State<SendFileDialog> {
) )
.catchError((e) { .catchError((e) {
scaffoldMessenger.showSnackBar( scaffoldMessenger.showSnackBar(
SnackBar(content: Text(e.toLocalizedString())), SnackBar(content: Text((e as Object).toLocalizedString(context))),
); );
return null; return null;
}); });

View File

@ -19,6 +19,9 @@ extension LocalizedExceptionExtension on Object {
return (this as MatrixException).errorMessage; return (this as MatrixException).errorMessage;
} }
} }
if (this is FileTooBigMatrixException) {
return L10n.of(context)!.fileIsTooBigForServer;
}
if (this is BadServerVersionsException) { if (this is BadServerVersionsException) {
final serverVersions = (this as BadServerVersionsException) final serverVersions = (this as BadServerVersionsException)
.serverVersions .serverVersions