Add glitchtip for centralized error logging

This commit is contained in:
2026-07-30 02:32:30 +02:00
parent 498ad68e1c
commit c210f80f27
15 changed files with 416 additions and 193 deletions
+10 -1
View File
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:provider/provider.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
import '../../models/payment_method.dart';
import '../../viewmodels/bar_screen_view_model.dart';
@@ -63,7 +64,15 @@ Future<void> confirmCloseTab(BuildContext context) async {
if (confirmed != true) return;
await viewModel.closeSelectedTab(paymentMethod: paymentMethod);
try {
await viewModel.closeSelectedTab(paymentMethod: paymentMethod);
} catch (e, stack) {
Sentry.captureException(e, stackTrace: stack);
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Could not close tab: $e')),
);
}
}
class _PaymentPicker extends StatelessWidget {
+10 -1
View File
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:kooltab2/viewmodels/bar_screen_view_model.dart';
import 'package:provider/provider.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
Future<void> showNewTabDialog(BuildContext context) async {
final controller = TextEditingController();
@@ -39,5 +40,13 @@ Future<void> showNewTabDialog(BuildContext context) async {
if (!context.mounted) return;
await context.read<BarScreenViewModel>().createTab(name.trim());
try {
await context.read<BarScreenViewModel>().createTab(name.trim());
} catch (e, stack) {
Sentry.captureException(e, stackTrace: stack);
if (!context.mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Could not create tab: $e')),
);
}
}