Generate a random uuid for each user for Sentry

This way, we know if one particular user has lots of errors. Firebase
Crashlytics used to do this automatically, I think.
This commit is contained in:
Vishesh Handa
2020-04-16 11:49:20 +02:00
parent 21a7798dc9
commit fd7ad7d92b
2 changed files with 15 additions and 0 deletions

View File

@ -62,6 +62,9 @@ Future<Event> get _environmentEvent async {
build: packageInfo.buildNumber, build: packageInfo.buildNumber,
), ),
), ),
userContext: User(
id: Settings.instance.pseudoId,
),
); );
return environment; return environment;
} }

View File

@ -3,6 +3,8 @@ import 'package:gitjournal/screens/note_editor.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import 'package:gitjournal/core/sorting_mode.dart'; import 'package:gitjournal/core/sorting_mode.dart';
import 'package:uuid/uuid.dart';
class Settings { class Settings {
static List<Function> changeObservers = []; static List<Function> changeObservers = [];
@ -34,6 +36,9 @@ class Settings {
bool proMode = false; bool proMode = false;
String _pseudoId;
String get pseudoId => _pseudoId;
void load(SharedPreferences pref) { void load(SharedPreferences pref) {
gitAuthor = pref.getString("gitAuthor") ?? gitAuthor; gitAuthor = pref.getString("gitAuthor") ?? gitAuthor;
gitAuthorEmail = pref.getString("gitAuthorEmail") ?? gitAuthorEmail; gitAuthorEmail = pref.getString("gitAuthorEmail") ?? gitAuthorEmail;
@ -66,6 +71,12 @@ class Settings {
version = pref.getInt("settingsVersion") ?? version; version = pref.getInt("settingsVersion") ?? version;
proMode = pref.getBool("proMode") ?? proMode; proMode = pref.getBool("proMode") ?? proMode;
_pseudoId = pref.getString("pseudoId");
if (_pseudoId == null) {
_pseudoId = Uuid().v4();
pref.setString("pseudoId", _pseudoId);
}
} }
Future save() async { Future save() async {
@ -112,6 +123,7 @@ class Settings {
"folderViewHeaderType": folderViewHeaderType, "folderViewHeaderType": folderViewHeaderType,
"version": version, "version": version,
"proMode": proMode, "proMode": proMode,
'pseudoId': pseudoId,
}; };
} }