Skip to content

Commit b2b0c7a

Browse files
committed
actions: Add specific handling for ZulipApiException in ZulipAction
1 parent 41cf761 commit b2b0c7a

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

lib/widgets/actions.dart

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import 'dart:async';
1010

1111
import 'package:flutter/material.dart';
1212

13+
import '../api/exception.dart';
1314
import '../api/model/model.dart';
1415
import '../api/model/narrow.dart';
1516
import '../api/route/messages.dart';
@@ -33,9 +34,13 @@ abstract final class ZulipAction {
3334
return;
3435
} catch (e) {
3536
if (!context.mounted) return;
37+
final message = switch (e) {
38+
ZulipApiException() => zulipLocalizations.errorServerMessage(e.message),
39+
_ => e.toString(),
40+
};
3641
showErrorDialog(context: context,
3742
title: zulipLocalizations.errorMarkAsReadFailedTitle,
38-
message: e.toString()); // TODO(#741): extract user-facing message better
43+
message: message); // TODO(#741): extract user-facing message better
3944
return;
4045
}
4146
}
@@ -166,9 +171,14 @@ abstract final class ZulipAction {
166171
}
167172
} catch (e) {
168173
if (!context.mounted) return false;
174+
final zulipLocalizations = ZulipLocalizations.of(context);
175+
final message = switch (e) {
176+
ZulipApiException() => zulipLocalizations.errorServerMessage(e.message),
177+
_ => e.toString(),
178+
};
169179
showErrorDialog(context: context,
170180
title: onFailedTitle,
171-
message: e.toString()); // TODO(#741): extract user-facing message better
181+
message: message); // TODO(#741): extract user-facing message better
172182
return false;
173183
}
174184
}

0 commit comments

Comments
 (0)