1
0
mirror of https://github.com/GitJournal/GitJournal.git synced 2025-09-23 10:53:53 +08:00

Remove flutter_sentry

We need to use sentry 4.0 in order for the tests to work. This kinda
ports it, but also removes flutter_sentry.

I'll need to properly port it later.
This commit is contained in:
Vishesh Handa
2021-03-25 11:39:18 +01:00
parent ae3c9668af
commit 4d85c5d311
3 changed files with 31 additions and 36 deletions

@ -15,56 +15,55 @@ import 'package:gitjournal/utils/logger.dart';
SentryClient _sentryClient;
Future<SentryClient> _initSentry() async {
return SentryClient(
return SentryClient(SentryOptions(
dsn: environment['sentry'],
environmentAttributes: await _environmentEvent,
);
));
}
Future<SentryClient> getSentryClient() async {
return _sentryClient ??= await _initSentry();
}
Future<Event> get _environmentEvent async {
Future<SentryEvent> get _environmentEvent async {
final packageInfo = await PackageInfo.fromPlatform();
final deviceInfoPlugin = DeviceInfoPlugin();
OperatingSystem os;
Device device;
SentryOperatingSystem os;
SentryDevice device;
if (Platform.isAndroid) {
final androidInfo = await deviceInfoPlugin.androidInfo;
os = OperatingSystem(
os = SentryOperatingSystem(
name: 'android',
version: androidInfo.version.release,
);
device = Device(
device = SentryDevice(
model: androidInfo.model,
manufacturer: androidInfo.manufacturer,
modelId: androidInfo.product,
);
} else if (Platform.isIOS) {
final iosInfo = await deviceInfoPlugin.iosInfo;
os = OperatingSystem(
os = SentryOperatingSystem(
name: iosInfo.systemName,
version: iosInfo.systemVersion,
);
device = Device(
device = SentryDevice(
model: iosInfo.utsname.machine,
family: iosInfo.model,
manufacturer: 'Apple',
);
}
final environment = Event(
final environment = SentryEvent(
release: '${packageInfo.version} (${packageInfo.buildNumber})',
contexts: Contexts(
operatingSystem: os,
device: device,
app: App(
app: SentryApp(
name: packageInfo.appName,
version: packageInfo.version,
build: packageInfo.buildNumber,
),
),
userContext: User(
user: SentryUser(
id: AppSettings.instance.pseudoId,
),
);
@ -116,7 +115,7 @@ Future<void> logExceptionWarning(Object e, StackTrace stackTrace) async {
return;
}
await captureSentryException(e, stackTrace, level: SeverityLevel.warning);
await captureSentryException(e, stackTrace, level: SentryLevel.warning);
}
List<Breadcrumb> breadcrumbs = [];
@ -125,25 +124,28 @@ void captureErrorBreadcrumb({
@required String name,
Map<String, String> parameters,
}) {
var b = Breadcrumb(name, DateTime.now(), data: parameters);
var b = Breadcrumb(
message: name,
timestamp: DateTime.now(),
data: parameters,
);
breadcrumbs.add(b);
}
Future<void> captureSentryException(
Object exception,
StackTrace stackTrace, {
SeverityLevel level = SeverityLevel.error,
SentryLevel level = SentryLevel.error,
}) async {
try {
final sentry = await getSentryClient();
final Event event = Event(
final event = (await _environmentEvent).copyWith(
exception: exception,
stackTrace: Trace.from(stackTrace).terse,
breadcrumbs: breadcrumbs,
level: level,
);
return sentry.capture(event: event);
return sentry.captureEvent(event, stackTrace: Trace.from(stackTrace).terse);
} catch (e) {
print("Failed to report with Sentry: $e");
}

@ -393,13 +393,6 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.4"
flutter_sentry:
dependency: "direct main"
description:
name: flutter_sentry
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.4"
flutter_staggered_grid_view:
dependency: "direct main"
description:
@ -861,7 +854,14 @@ packages:
name: sentry
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
version: "4.1.0-nullsafety.1"
sentry_flutter:
dependency: "direct main"
description:
name: sentry_flutter
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.6"
share:
dependency: "direct main"
description:
@ -1112,13 +1112,6 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
usage:
dependency: transitive
description:
name: usage
url: "https://pub.dartlang.org"
source: hosted
version: "3.4.2"
uuid:
dependency: "direct main"
description:

@ -42,7 +42,6 @@ dependencies:
flutter_email_sender: ^3.0.1
flutter_emoji: ">= 2.0.0"
flutter_markdown: ^0.6.1
flutter_sentry: ^0.4.4
flutter_runtime_env: ^0.0.4
flutter_staggered_grid_view: ^0.3.0
flutter_svg: ^0.21.0-nullsafety.0
@ -63,7 +62,8 @@ dependencies:
provider: ^4.3.2+2
quick_actions: ^0.4.0+10
receive_sharing_intent: ^1.4.0+2
sentry: ">=3.0.0 <4.0.0"
sentry: ^4.0.6
sentry_flutter: ^4.0.6
share: ^0.6.3+5
shared_preferences: ^2.0.5
#ssh_key: ^0.6.0