hotfix: Capture Exception
This commit is contained in:
parent
c8d3c9d614
commit
028b1e4ed8
|
@ -15,6 +15,7 @@ import 'package:localstorage/localstorage.dart';
|
|||
import 'package:universal_html/prefer_universal/html.dart' as html;
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
import '../main.dart';
|
||||
import '../utils/app_route.dart';
|
||||
import '../utils/beautify_string_extension.dart';
|
||||
import '../utils/famedlysdk_store.dart';
|
||||
|
@ -83,15 +84,20 @@ class MatrixState extends State<Matrix> {
|
|||
|
||||
void _initWithStore() async {
|
||||
var initLoginState = client.onLoginStateChanged.stream.first;
|
||||
client.database = await getDatabase(client);
|
||||
client.connect();
|
||||
if (await initLoginState == LoginState.logged && PlatformInfos.isMobile) {
|
||||
await FirebaseController.setupFirebase(
|
||||
this,
|
||||
widget.clientName,
|
||||
);
|
||||
try {
|
||||
client.database = await getDatabase(client);
|
||||
client.connect();
|
||||
if (await initLoginState == LoginState.logged && PlatformInfos.isMobile) {
|
||||
await FirebaseController.setupFirebase(
|
||||
this,
|
||||
widget.clientName,
|
||||
);
|
||||
}
|
||||
_cleanUpUserStatus(userStatuses);
|
||||
} catch (e, s) {
|
||||
client.onLoginStateChanged.sink.addError(e, s);
|
||||
captureException(e, s);
|
||||
}
|
||||
_cleanUpUserStatus(userStatuses);
|
||||
}
|
||||
|
||||
Map<String, dynamic> getAuthByPassword(String password, [String session]) => {
|
||||
|
|
|
@ -18,23 +18,25 @@ import 'views/chat_list.dart';
|
|||
|
||||
final sentry = SentryClient(dsn: '8591d0d863b646feb4f3dda7e5dcab38');
|
||||
|
||||
void captureException(error, stackTrace) async {
|
||||
final storage = LocalStorage('LocalStorage');
|
||||
await storage.ready;
|
||||
debugPrint(error.toString());
|
||||
debugPrint(stackTrace.toString());
|
||||
if (storage.getItem('sentry') == true) {
|
||||
await sentry.captureException(
|
||||
exception: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
void main() {
|
||||
SystemChrome.setSystemUIOverlayStyle(
|
||||
SystemUiOverlayStyle(statusBarColor: Colors.transparent));
|
||||
runZonedGuarded(
|
||||
() => runApp(App()),
|
||||
(error, stackTrace) async {
|
||||
final storage = LocalStorage('LocalStorage');
|
||||
await storage.ready;
|
||||
debugPrint(error.toString());
|
||||
debugPrint(stackTrace.toString());
|
||||
if (storage.getItem('sentry') == true) {
|
||||
await sentry.captureException(
|
||||
exception: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
},
|
||||
captureException,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -36,8 +36,6 @@ Future<Database> getDatabase(Client client) async {
|
|||
await store.setItem('database-password', password);
|
||||
}
|
||||
return _db;
|
||||
} catch (_) {
|
||||
rethrow;
|
||||
} finally {
|
||||
_generateDatabaseLock = false;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue