@@ -2,6 +2,7 @@ import 'dart:async';
22
33import 'package:flutter/material.dart' ;
44
5+ import '../api/exception.dart' ;
56import '../api/model/model.dart' ;
67import '../api/model/narrow.dart' ;
78import '../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 }
@@ -191,9 +196,14 @@ abstract final class ZulipAction {
191196 }
192197 } catch (e) {
193198 if (! context.mounted) return false ;
199+ final zulipLocalizations = ZulipLocalizations .of (context);
200+ final message = switch (e) {
201+ ZulipApiException () => zulipLocalizations.errorServerMessage (e.message),
202+ _ => e.toString (),
203+ };
194204 showErrorDialog (context: context,
195205 title: onFailedTitle,
196- message: e. toString () ); // TODO(#741): extract user-facing message better
206+ message: message ); // TODO(#741): extract user-facing message better
197207 return false ;
198208 }
199209 }
0 commit comments