background fetch running
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import 'package:lensai/core/logger.dart';
|
||||
import 'package:lensai/features/web_feed/domain/repositories/feed_repository.dart';
|
||||
import 'package:lensai/features/web_feed/domain/services/feed_reader.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
@@ -14,17 +15,25 @@ class FetchArticlesController extends _$FetchArticlesController {
|
||||
|
||||
await Future.wait(
|
||||
feeds.map((feed) async {
|
||||
final result = await ref
|
||||
.read(feedReaderProvider.notifier)
|
||||
.parseFeed(feed.url);
|
||||
try {
|
||||
final result = await ref
|
||||
.read(feedReaderProvider.notifier)
|
||||
.parseFeed(feed.url);
|
||||
|
||||
await ref
|
||||
.read(feedRepositoryProvider.notifier)
|
||||
.upsertArticles(result.articleData);
|
||||
await ref
|
||||
.read(feedRepositoryProvider.notifier)
|
||||
.upsertArticles(result.articleData);
|
||||
|
||||
await ref
|
||||
.read(feedRepositoryProvider.notifier)
|
||||
.touchFeedFetched(feed.url);
|
||||
await ref
|
||||
.read(feedRepositoryProvider.notifier)
|
||||
.touchFeedFetched(feed.url);
|
||||
} catch (e, s) {
|
||||
logger.e(
|
||||
'Failed fetching feed ${feed.url}',
|
||||
error: e,
|
||||
stackTrace: s,
|
||||
);
|
||||
}
|
||||
}).toList(),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -7,7 +7,7 @@ part of 'fetch_articles.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$fetchArticlesControllerHash() =>
|
||||
r'63da7f6ba9eab28aebff4c60d98e2f2a404c5138';
|
||||
r'7604d9352da886624c3cf6862b89c397edda1f28';
|
||||
|
||||
/// See also [FetchArticlesController].
|
||||
@ProviderFor(FetchArticlesController)
|
||||
|
||||
@@ -6,8 +6,10 @@ import 'package:lensai/extensions/nullable.dart';
|
||||
import 'package:lensai/extensions/uri.dart';
|
||||
import 'package:lensai/features/web_feed/data/models/feed_article.dart';
|
||||
import 'package:lensai/features/web_feed/data/models/feed_article_query_result.dart';
|
||||
import 'package:lensai/features/web_feed/data/models/feed_link.dart';
|
||||
import 'package:lensai/features/web_feed/domain/providers/article_filter.dart';
|
||||
import 'package:lensai/features/web_feed/domain/repositories/feed_repository.dart';
|
||||
import 'package:lensai/features/web_feed/extensions/atom.dart';
|
||||
import 'package:lensai/features/web_feed/extensions/feed_article.dart';
|
||||
import 'package:lensai/features/web_feed/presentation/widgets/authors_horizontal_list.dart';
|
||||
import 'package:lensai/features/web_feed/presentation/widgets/tags_horizontal_list.dart';
|
||||
@@ -52,7 +54,12 @@ class FeedArticleCard extends HookConsumerWidget {
|
||||
Row(
|
||||
children: [
|
||||
UrlIcon([
|
||||
article.icon ?? article.feedId.base,
|
||||
article.icon ??
|
||||
article.links
|
||||
?.getRelation(FeedLinkRelation.alternate)
|
||||
?.uri ??
|
||||
article.siteLink ??
|
||||
article.feedId.base,
|
||||
], iconSize: 34.0),
|
||||
const SizedBox(width: 12.0),
|
||||
Expanded(
|
||||
|
||||
Reference in New Issue
Block a user