@@ -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' ;
@@ -32,9 +33,13 @@ abstract final class ZulipAction {
3233 return ;
3334 } catch (e) {
3435 if (! context.mounted) return ;
36+ final message = switch (e) {
37+ ZulipApiException () => zulipLocalizations.errorServerMessage (e.message),
38+ _ => e.toString (), // TODO(#741): extract user-facing message better
39+ };
3540 showErrorDialog (context: context,
3641 title: zulipLocalizations.errorMarkAsReadFailedTitle,
37- message: e. toString ()); // TODO(#741): extract user-facing message better
42+ message: message);
3843 return ;
3944 }
4045 }
@@ -189,9 +194,14 @@ abstract final class ZulipAction {
189194 }
190195 } catch (e) {
191196 if (! context.mounted) return false ;
197+ final zulipLocalizations = ZulipLocalizations .of (context);
198+ final message = switch (e) {
199+ ZulipApiException () => zulipLocalizations.errorServerMessage (e.message),
200+ _ => e.toString (), // TODO(#741): extract user-facing message better
201+ };
192202 showErrorDialog (context: context,
193203 title: onFailedTitle,
194- message: e. toString ()); // TODO(#741): extract user-facing message better
204+ message: message);
195205 return false ;
196206 }
197207 }
0 commit comments