Update indexing status in real time
This commit is contained in:
parent
98b1c1689d
commit
6ad7911f1f
3
lib/events/embedding_updated_event.dart
Normal file
3
lib/events/embedding_updated_event.dart
Normal file
|
@ -0,0 +1,3 @@
|
|||
import "package:photos/events/event.dart";
|
||||
|
||||
class EmbeddingUpdatedEvent extends Event {}
|
|
@ -1,3 +0,0 @@
|
|||
import "package:photos/events/event.dart";
|
||||
|
||||
class FileIndexedEvent extends Event {}
|
|
@ -4,9 +4,11 @@ import "dart:typed_data";
|
|||
|
||||
import "package:computer/computer.dart";
|
||||
import "package:logging/logging.dart";
|
||||
import "package:photos/core/event_bus.dart";
|
||||
import "package:photos/core/network/network.dart";
|
||||
import "package:photos/db/files_db.dart";
|
||||
import "package:photos/db/object_box.dart";
|
||||
import "package:photos/events/embedding_updated_event.dart";
|
||||
import "package:photos/models/embedding.dart";
|
||||
import "package:photos/models/file/file.dart";
|
||||
import "package:photos/objectbox.g.dart";
|
||||
|
@ -154,6 +156,7 @@ class EmbeddingStore {
|
|||
embeddings.last.updationTime!,
|
||||
);
|
||||
_logger.info("${embeddings.length} embeddings stored");
|
||||
Bus.instance.fire(EmbeddingUpdatedEvent());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ import "dart:async";
|
|||
import "package:flutter/material.dart";
|
||||
import "package:intl/intl.dart";
|
||||
import "package:photos/core/event_bus.dart";
|
||||
import "package:photos/events/file_indexed_event.dart";
|
||||
import 'package:photos/events/embedding_updated_event.dart';
|
||||
import "package:photos/generated/l10n.dart";
|
||||
import "package:photos/services/semantic_search/semantic_search_service.dart";
|
||||
import "package:photos/theme/ente_theme.dart";
|
||||
|
@ -91,7 +91,7 @@ class _MachineLearningSettingsPageState
|
|||
!LocalSettings.instance.hasEnabledMagicSearch(),
|
||||
);
|
||||
if (LocalSettings.instance.hasEnabledMagicSearch()) {
|
||||
await SemanticSearchService.instance.sync();
|
||||
SemanticSearchService.instance.sync();
|
||||
} else {
|
||||
await SemanticSearchService.instance.clearQueue();
|
||||
}
|
||||
|
@ -132,12 +132,13 @@ class MagicSearchIndexStatsWidget extends StatefulWidget {
|
|||
class _MagicSearchIndexStatsWidgetState
|
||||
extends State<MagicSearchIndexStatsWidget> {
|
||||
IndexStatus? _status;
|
||||
late StreamSubscription<FileIndexedEvent> _eventSubscription;
|
||||
late StreamSubscription<EmbeddingUpdatedEvent> _eventSubscription;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_eventSubscription = Bus.instance.on<FileIndexedEvent>().listen((event) {
|
||||
_eventSubscription =
|
||||
Bus.instance.on<EmbeddingUpdatedEvent>().listen((event) {
|
||||
_fetchIndexStatus();
|
||||
});
|
||||
_fetchIndexStatus();
|
||||
|
|
Loading…
Reference in a new issue