mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-01-15 09:28:41 +00:00
wrap whole main function into sentry
This commit is contained in:
parent
4ff42c93b7
commit
2a9414ae4f
5 changed files with 69 additions and 59 deletions
|
|
@ -4,6 +4,8 @@ import 'dart:async';
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:camera/camera.dart';
|
||||
import 'package:device_info_plus/device_info_plus.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:path/path.dart';
|
||||
|
|
@ -27,29 +29,7 @@ import 'package:twonly/src/utils/log.dart';
|
|||
import 'package:twonly/src/utils/storage.dart';
|
||||
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
try {
|
||||
await initFCMService();
|
||||
} catch (e) {
|
||||
Log.error('$e');
|
||||
}
|
||||
|
||||
initLogger();
|
||||
|
||||
final user = await getUser();
|
||||
if (user != null) {
|
||||
gUser = user;
|
||||
unawaited(performTwonlySafeBackup());
|
||||
}
|
||||
|
||||
final settingsController = SettingsChangeProvider();
|
||||
|
||||
await settingsController.loadSettings();
|
||||
await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||
|
||||
unawaited(setupPushNotification());
|
||||
|
||||
gCameras = await availableCameras();
|
||||
SentryWidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
// try {
|
||||
// File(join((await getApplicationSupportDirectory()).path, 'twonly.sqlite'))
|
||||
|
|
@ -60,44 +40,67 @@ void main() async {
|
|||
// return u;
|
||||
// });
|
||||
|
||||
apiService = ApiService();
|
||||
twonlyDB = TwonlyDB();
|
||||
|
||||
await initFileDownloader();
|
||||
unawaited(finishStartedPreprocessing());
|
||||
|
||||
unawaited(MediaFileService.purgeTempFolder());
|
||||
unawaited(createPushAvatars());
|
||||
await twonlyDB.messagesDao.purgeMessageTable();
|
||||
|
||||
final providers = [
|
||||
ChangeNotifierProvider(create: (_) => settingsController),
|
||||
ChangeNotifierProvider(create: (_) => CustomChangeProvider()),
|
||||
ChangeNotifierProvider(create: (_) => ImageEditorProvider()),
|
||||
];
|
||||
|
||||
final user = await getUser();
|
||||
if (user != null) {
|
||||
gUser = user;
|
||||
|
||||
if (user.allowErrorTrackingViaSentry) {
|
||||
globalAllowErrorTrackingViaSentry = true;
|
||||
return SentryFlutter.init(
|
||||
await SentryFlutter.init(
|
||||
(options) => options
|
||||
..dsn =
|
||||
'https://6b24a012c85144c9b522440a1d17d01c@glitchtip.twonly.eu/4'
|
||||
..tracesSampleRate = 0.01
|
||||
..tracesSampleRate = 0.1
|
||||
..enableAutoSessionTracking = false,
|
||||
appRunner: () => runApp(
|
||||
MultiProvider(
|
||||
providers: providers,
|
||||
child: const App(),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
unawaited(performTwonlySafeBackup());
|
||||
}
|
||||
|
||||
await initFCMService();
|
||||
|
||||
initLogger();
|
||||
|
||||
final settingsController = SettingsChangeProvider();
|
||||
|
||||
await settingsController.loadSettings();
|
||||
await SystemChrome.setPreferredOrientations(
|
||||
[DeviceOrientation.portraitUp],
|
||||
);
|
||||
|
||||
unawaited(setupPushNotification());
|
||||
|
||||
gCameras = await availableCameras();
|
||||
|
||||
apiService = ApiService();
|
||||
twonlyDB = TwonlyDB();
|
||||
|
||||
await twonlyDB.messagesDao.purgeMessageTable();
|
||||
unawaited(MediaFileService.purgeTempFolder());
|
||||
|
||||
await initFileDownloader();
|
||||
if (Platform.isAndroid) {
|
||||
if ((await DeviceInfoPlugin().androidInfo).version.release == '9') {
|
||||
Future.delayed(const Duration(seconds: 20), () {
|
||||
unawaited(finishStartedPreprocessing());
|
||||
});
|
||||
} else {
|
||||
unawaited(finishStartedPreprocessing());
|
||||
}
|
||||
} else {
|
||||
unawaited(finishStartedPreprocessing());
|
||||
}
|
||||
|
||||
unawaited(createPushAvatars());
|
||||
|
||||
runApp(
|
||||
MultiProvider(
|
||||
providers: providers,
|
||||
providers: [
|
||||
ChangeNotifierProvider(create: (_) => settingsController),
|
||||
ChangeNotifierProvider(create: (_) => CustomChangeProvider()),
|
||||
ChangeNotifierProvider(create: (_) => ImageEditorProvider()),
|
||||
],
|
||||
child: const App(),
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ Future<void> handleBackupStatusUpdate(TaskStatusUpdate update) async {
|
|||
return user;
|
||||
});
|
||||
} else if (update.status == TaskStatus.complete) {
|
||||
Log.error(
|
||||
Log.info(
|
||||
'twonly Backup uploaded with status code ${update.responseStatusCode}',
|
||||
);
|
||||
await updateUserdata((user) {
|
||||
|
|
|
|||
|
|
@ -264,7 +264,6 @@ bool isUUIDNewer(String uuid1, String uuid2) {
|
|||
final timestamp2 = int.parse(uuid2.substring(0, 8), radix: 16);
|
||||
return timestamp1 > timestamp2;
|
||||
} catch (e) {
|
||||
Log.error(e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
import 'package:camera/camera.dart';
|
||||
import 'package:device_info_plus/device_info_plus.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_android_volume_keydown/flutter_android_volume_keydown.dart';
|
||||
|
|
@ -224,14 +225,21 @@ class _CameraPreviewViewState extends State<CameraPreviewView> {
|
|||
);
|
||||
}
|
||||
if (Platform.isAndroid) {
|
||||
androidVolumeDownSub = FlutterAndroidVolumeKeydown.stream.listen((event) {
|
||||
if (widget.isVisible) {
|
||||
takePicture();
|
||||
} else {
|
||||
deInitVolumeControl();
|
||||
return;
|
||||
}
|
||||
});
|
||||
if ((await DeviceInfoPlugin().androidInfo).version.release == '9') {
|
||||
// MissingPluginException: MissingPluginException(No implementation found for method cancel on channel dart-tools.dev/flutter_…
|
||||
// Maybe this is the reason?
|
||||
return;
|
||||
} else {
|
||||
androidVolumeDownSub =
|
||||
FlutterAndroidVolumeKeydown.stream.listen((event) {
|
||||
if (widget.isVisible) {
|
||||
takePicture();
|
||||
} else {
|
||||
deInitVolumeControl();
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ description: "twonly, a privacy-friendly way to connect with friends through sec
|
|||
|
||||
publish_to: 'none'
|
||||
|
||||
version: 0.0.67+67
|
||||
version: 0.0.68+68
|
||||
|
||||
environment:
|
||||
sdk: ^3.6.0
|
||||
|
|
|
|||
Loading…
Reference in a new issue