@@ -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' ;
@@ -35,9 +36,13 @@ abstract final class ZulipAction {
3536 return ;
3637 } catch (e) {
3738 if (! context.mounted) return ;
39+ final message = switch (e) {
40+ ZulipApiException () => zulipLocalizations.errorServerMessage (e.message),
41+ _ => e.toString (),
42+ };
3843 showErrorDialog (context: context,
3944 title: zulipLocalizations.errorMarkAsReadFailedTitle,
40- message: e. toString () ); // TODO(#741): extract user-facing message better
45+ message: message ); // TODO(#741): extract user-facing message better
4146 return ;
4247 }
4348 }
@@ -168,9 +173,14 @@ abstract final class ZulipAction {
168173 }
169174 } catch (e) {
170175 if (! context.mounted) return false ;
176+ final zulipLocalizations = ZulipLocalizations .of (context);
177+ final message = switch (e) {
178+ ZulipApiException () => zulipLocalizations.errorServerMessage (e.message),
179+ _ => e.toString (),
180+ };
171181 showErrorDialog (context: context,
172182 title: onFailedTitle,
173- message: e. toString () ); // TODO(#741): extract user-facing message better
183+ message: message ); // TODO(#741): extract user-facing message better
174184 return false ;
175185 }
176186 }
0 commit comments