Skip to content
This repository has been archived by the owner on Dec 21, 2024. It is now read-only.

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
lewislarsen committed Aug 13, 2024
1 parent 432714d commit 1bbb8aa
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 12 deletions.
19 changes: 12 additions & 7 deletions lib/backup_task_log_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@ class BackupTaskLogProvider with ChangeNotifier {
throw Exception('Invalid logs data format');
}
} else if (response.statusCode == 429) {
throw RateLimitException('Rate limit exceeded. Please try again later.');
throw RateLimitException(
'Rate limit exceeded. Please try again later.');
} else {
throw Exception('Failed to load logs: ${response.statusCode}');
}
Expand Down Expand Up @@ -141,7 +142,8 @@ class BackupTaskLogProvider with ChangeNotifier {
_cachedSingleLogs[id] = CachedData(log);
return log;
} else if (response.statusCode == 429) {
throw RateLimitException('Rate limit exceeded. Please try again later.');
throw RateLimitException(
'Rate limit exceeded. Please try again later.');
} else {
throw Exception('Failed to get log: ${response.statusCode}');
}
Expand Down Expand Up @@ -177,7 +179,8 @@ class BackupTaskLogProvider with ChangeNotifier {
notifyListeners();
return true;
} else if (response.statusCode == 429) {
throw RateLimitException('Rate limit exceeded. Please try again later.');
throw RateLimitException(
'Rate limit exceeded. Please try again later.');
} else {
throw Exception('Failed to delete log: ${response.statusCode}');
}
Expand Down Expand Up @@ -206,13 +209,14 @@ class BackupTaskLogProvider with ChangeNotifier {

Future<bool> forceRefresh({int perPage = 10}) async {
_invalidateListCache();
return await fetchLogs(page: 1, perPage: perPage, search: _searchQuery, forceRefresh: true);
return await fetchLogs(
page: 1, perPage: perPage, search: _searchQuery, forceRefresh: true);
}

bool _canMakeRequest() {
final now = DateTime.now();
_requestTimestamps.removeWhere(
(timestamp) => now.difference(timestamp) > _rateLimitWindow);
(timestamp) => now.difference(timestamp) > _rateLimitWindow);
return _requestTimestamps.length < _maxRequestsPerMinute;
}

Expand All @@ -227,7 +231,8 @@ class BackupTaskLogProvider with ChangeNotifier {
return 'page_${page}_perPage_${perPage}_search_${search ?? ""}';
}

void _updateStateFromCache(List<BackupTaskLogEntry> cachedLogs, int page, String? search) {
void _updateStateFromCache(
List<BackupTaskLogEntry> cachedLogs, int page, String? search) {
if (page == 1) {
_logs.clear();
}
Expand Down Expand Up @@ -257,4 +262,4 @@ class RateLimitException implements Exception {

@override
String toString() => message;
}
}
6 changes: 4 additions & 2 deletions lib/backup_tasks_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,7 @@ class _BackupTaskDetailPageState extends State<BackupTaskDetailPage>
final theme = Theme.of(context);
final buttonColor = _isRunning ? Colors.grey : theme.colorScheme.primary;
final textAndIconColor = _isRunning
? theme.colorScheme.onSurface.withOpacity(0.38) // Disabled text color
? theme.colorScheme.onSurface.withOpacity(0.38) // Disabled text color
: theme.colorScheme.onPrimary;

return FloatingActionButton.extended(
Expand Down Expand Up @@ -618,7 +618,9 @@ class _BackupTaskDetailPageState extends State<BackupTaskDetailPage>
style: TextStyle(
color: _getStatusColor(_latestLog!.status),
fontWeight: FontWeight.bold)),
Text(_currentTask.timestamps.lastRunLocalTime ?? 'Unknown',
Text(
_currentTask.timestamps.lastRunLocalTime ??
'Unknown',
style: TextStyle(
color: theme.colorScheme.onBackground
.withOpacity(0.7))),
Expand Down
6 changes: 3 additions & 3 deletions lib/logs_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class _BackupTaskLogsPageState extends State<BackupTaskLogsPage> {

try {
final logProvider =
Provider.of<BackupTaskLogProvider>(context, listen: false);
Provider.of<BackupTaskLogProvider>(context, listen: false);
await logProvider.fetchLogs(perPage: 20, search: _searchQuery);
} catch (e) {
_showSnackBar(e.toString(), isSuccess: false);
Expand All @@ -64,7 +64,7 @@ class _BackupTaskLogsPageState extends State<BackupTaskLogsPage> {

try {
final logProvider =
Provider.of<BackupTaskLogProvider>(context, listen: false);
Provider.of<BackupTaskLogProvider>(context, listen: false);
await logProvider.loadMoreLogs(perPage: 20);
} catch (e) {
_showSnackBar(e.toString(), isSuccess: false);
Expand All @@ -78,7 +78,7 @@ class _BackupTaskLogsPageState extends State<BackupTaskLogsPage> {

try {
final logProvider =
Provider.of<BackupTaskLogProvider>(context, listen: false);
Provider.of<BackupTaskLogProvider>(context, listen: false);
await logProvider.forceRefresh(perPage: 20);
_showSnackBar('Logs refreshed successfully', isSuccess: true);
} on RateLimitException catch (e) {
Expand Down

0 comments on commit 1bbb8aa

Please sign in to comment.