2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-06-15 03:35:28 +00:00

Simplify DSN file (#475)

* Add checks for empty sentry DSN

* Add default DSN key

* Fix CI workflows
This commit is contained in:
Oliver
2024-03-06 21:09:06 +11:00
committed by GitHub
parent a889c4adbe
commit b02dc5bac7
8 changed files with 25 additions and 16 deletions

7
lib/dsn.dart Normal file
View File

@ -0,0 +1,7 @@
/*
* For integration with sentry.io, fill out the SENTRY_DSN_KEY value below.
* This should be set to a valid DSN key, from your sentry.io account
*
*/
String SENTRY_DSN_KEY = "https://fea705aa4b8e4c598dcf9b146b3d1b86@o378676.ingest.sentry.io/5202450";

View File

@ -1,3 +0,0 @@
// Dummy DSN to use for unit testing, etc
const String SENTRY_DSN_KEY = "https://12345678901234567890@abcdef.ingest.sentry.io/11223344";

View File

@ -6,6 +6,7 @@ import "package:package_info_plus/package_info_plus.dart";
import "package:sentry_flutter/sentry_flutter.dart";
import "package:inventree/api.dart";
import "package:inventree/dsn.dart";
import "package:inventree/preferences.dart";
Future<Map<String, dynamic>> getDeviceInfo() async {
@ -85,6 +86,10 @@ bool isInDebugMode() {
Future<bool> sentryReportMessage(String message, {Map<String, String>? context}) async {
if (SENTRY_DSN_KEY.isEmpty) {
return false;
}
final server_info = getServerInfo();
final app_info = await getAppInfo();
final device_info = await getDeviceInfo();
@ -164,6 +169,10 @@ Future<void> sentryReportError(String source, dynamic error, StackTrace? stackTr
return;
}
if (SENTRY_DSN_KEY.isEmpty) {
return;
}
final upload = await InvenTreeSettingsManager().getValue(INV_REPORT_ERRORS, true) as bool;
if (!upload) {

View File

@ -34,13 +34,15 @@ Future<void> main() async {
String release = "${pkg}@${version}:${build}";
await Sentry.init((options) {
options.dsn = SENTRY_DSN_KEY;
options.release = release;
options.environment = isInDebugMode() ? "debug" : "release";
options.diagnosticLevel = SentryLevel.debug;
options.attachStacktrace = true;
});
if (SENTRY_DSN_KEY.isNotEmpty) {
await Sentry.init((options) {
options.dsn = SENTRY_DSN_KEY;
options.release = release;
options.environment = isInDebugMode() ? "debug" : "release";
options.diagnosticLevel = SentryLevel.debug;
options.attachStacktrace = true;
});
}
// Pass any flutter errors off to the Sentry reporting context!
FlutterError.onError = (FlutterErrorDetails details) async {