@@ -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