@@ -10,6 +10,7 @@ import 'dart:async';
1010
1111import 'package:flutter/material.dart' ;
1212
13+ import '../api/exception.dart' ;
1314import '../api/model/model.dart' ;
1415import '../api/model/narrow.dart' ;
1516import '../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