mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
* refactor(Log): allow passing error and stacktrace to logs This allows us to log errors and stacktraces in a more structured way. * feat: catch platform errors Adds handling for platform errors that are not caught by the Flutter framework. Doing so will log the error properly and prevent the app from crashing.
38 lines
1.0 KiB
Dart
38 lines
1.0 KiB
Dart
import 'package:appflowy_backend/log.dart';
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:hotkey_manager/hotkey_manager.dart';
|
|
|
|
import 'startup/launch_configuration.dart';
|
|
import 'startup/startup.dart';
|
|
import 'user/presentation/splash_screen.dart';
|
|
import 'window/window.dart';
|
|
|
|
class FlowyApp implements EntryPoint {
|
|
@override
|
|
Widget create(LaunchConfiguration config) {
|
|
return SplashScreen(
|
|
autoRegister: config.autoRegistrationSupported,
|
|
);
|
|
}
|
|
}
|
|
|
|
Future<void> main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
// Handle platform errors not caught by Flutter.
|
|
// Reduces the likelihood of the app crashing, and logs the error.
|
|
PlatformDispatcher.instance.onError = (error, stack) {
|
|
Log.error('Uncaught platform error', error, stack);
|
|
return true;
|
|
};
|
|
|
|
await EasyLocalization.ensureInitialized();
|
|
await hotKeyManager.unregisterAll();
|
|
|
|
await AppWindow.initialize();
|
|
|
|
await FlowyRunner.run(FlowyApp());
|
|
}
|