feat: error reporting with logs (#45)

* feat: add ability to get logs file from ui

* test: add unit test for log line parsing in logs_provider

* refactor: update all logs to obfuscate sensitive information

* feat: generate dynamic zip file name for logs export

* feat: enhance logging in audiobook player and provider for better debugging

* refactor: extract user display logic into UserBar widget for offline access of settings and logs

* feat: add About section with app metadata and source code link in YouPage
This commit is contained in:
Dr.Blank 2024-10-03 05:54:29 -04:00 committed by GitHub
parent 7b0c2c4b88
commit 35a2d7cfce
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
44 changed files with 861 additions and 176 deletions

View file

@ -5,8 +5,8 @@ import 'package:vaani/api/server_provider.dart'
import 'package:vaani/db/storage.dart';
import 'package:vaani/settings/api_settings_provider.dart';
import 'package:vaani/settings/models/audiobookshelf_server.dart';
import 'package:vaani/settings/models/authenticated_user.dart'
as model;
import 'package:vaani/settings/models/authenticated_user.dart' as model;
import 'package:vaani/shared/extensions/obfuscation.dart';
part 'authenticated_user_provider.g.dart';
@ -35,7 +35,9 @@ class AuthenticatedUser extends _$AuthenticatedUser {
Set<model.AuthenticatedUser> readFromBoxOrCreate() {
if (_box.isNotEmpty) {
final foundData = _box.getRange(0, _box.length);
_logger.fine('found users in box: $foundData');
_logger.fine(
'found users in box: ${foundData.obfuscate()}',
);
return foundData.toSet();
} else {
_logger.fine('no settings found in box');
@ -49,7 +51,7 @@ class AuthenticatedUser extends _$AuthenticatedUser {
return;
}
_box.addAll(state);
_logger.fine('writing state to box: $state');
_logger.fine('writing state to box: ${state.obfuscate()}');
}
void addUser(model.AuthenticatedUser user, {bool setActive = false}) {