implemented a new telemetry heartbeat and client-side error reporting system for MarianumConnect; replaced legacy mhsl.eu user index updates with a POST me/telemetry heartbeat using stable, securely-stored device identifiers; integrated global Flutter and platform error handlers to report uncaught exceptions with session-based deduplication and rate limiting.
This commit is contained in:
+3
-2
@@ -21,6 +21,7 @@ import 'api/marianumcloud/webdav/queries/list_files/list_files_cache.dart';
|
||||
import 'api/marianumconnect/auth/session_validator.dart';
|
||||
import 'api/marianumconnect/marianumconnect_endpoint.dart';
|
||||
import 'api/marianumconnect/queries/get_breakers/get_breakers_response.dart';
|
||||
import 'api/marianumconnect/queries/report_client_error/client_error_reporter.dart';
|
||||
import 'app.dart';
|
||||
import 'background/widget_background_task.dart';
|
||||
import 'firebase_options.dart';
|
||||
@@ -157,17 +158,17 @@ Future<void> main() async {
|
||||
);
|
||||
}
|
||||
|
||||
// Capture uncaught Flutter and platform errors so they show up in logs
|
||||
// instead of being silently swallowed.
|
||||
FlutterError.onError = (details) {
|
||||
log(
|
||||
'Uncaught Flutter error: ${details.exception}',
|
||||
stackTrace: details.stack,
|
||||
);
|
||||
ClientErrorReporter.reportFlutterError(details);
|
||||
FlutterError.presentError(details);
|
||||
};
|
||||
PlatformDispatcher.instance.onError = (error, stack) {
|
||||
log('Uncaught platform error: $error', stackTrace: stack);
|
||||
ClientErrorReporter.reportPlatformError(error, stack);
|
||||
return true;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user