chore: enable AI seach (#7169)

* chore: enable AI seach

* chore: remove unused code

* fix: replace the old web base url with the new one
This commit is contained in:
Lucas
2025-01-08 15:52:24 +08:00
committed by GitHub
parent 6966b303ff
commit 64994b3336
7 changed files with 12 additions and 44 deletions

View File

@ -159,7 +159,7 @@ Future<void> _setAppFlowyCloudUrl(String? url) async {
Future<void> useBaseWebDomain(String? url) async {
await getIt<KeyValueStorage>().set(
KVKeys.kAppFlowyBaseShareDomain,
url ?? ShareConstants.baseWebDomain,
url ?? ShareConstants.defaultBaseWebDomain,
);
}

View File

@ -48,7 +48,7 @@ abstract class Env {
@EnviedField(
obfuscate: false,
varName: 'BASE_WEB_DOMAIN',
defaultValue: ShareConstants.baseWebDomain,
defaultValue: ShareConstants.defaultBaseWebDomain,
)
static const String baseWebDomain = _Env.baseWebDomain;
}

View File

@ -2,9 +2,8 @@ import 'package:appflowy/env/cloud_env.dart';
import 'package:appflowy/startup/startup.dart';
class ShareConstants {
static const String baseWebDomain = 'appflowy.com';
static const String testBaseWebDomain = 'test.appflowy.com';
static const String defaultBaseWebDomain = 'https://www.appflowy.com';
static const String defaultBaseWebDomain = 'https://appflowy.com';
static String buildPublishUrl({
required String nameSpace,

View File

@ -37,7 +37,7 @@ const _macOSVolumesPattern = '^/Volumes/[^/]+';
final macOSVolumesRegex = RegExp(_macOSVolumesPattern);
const appflowySharePageLinkPattern =
r'^https://www\.appflowy\.com/app/([^/]+)/([^?]+)(?:\?blockId=(.+))?$';
r'^https://appflowy\.com/app/([^/]+)/([^?]+)(?:\?blockId=(.+))?$';
final appflowySharePageLinkRegex = RegExp(appflowySharePageLinkPattern);
const _numberedListPattern = r'^(\d+)\.';

View File

@ -1,7 +1,5 @@
import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:appflowy/plugins/trash/application/trash_listener.dart';
import 'package:appflowy/plugins/trash/application/trash_service.dart';
import 'package:appflowy/workspace/application/command_palette/search_listener.dart';
@ -10,6 +8,7 @@ import 'package:appflowy_backend/protobuf/flowy-folder/trash.pb.dart';
import 'package:appflowy_backend/protobuf/flowy-search/notification.pb.dart';
import 'package:appflowy_backend/protobuf/flowy-search/result.pb.dart';
import 'package:bloc/bloc.dart';
import 'package:flutter/foundation.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'command_palette_bloc.freezed.dart';
@ -90,12 +89,9 @@ class CommandPaletteBloc
_messagesReceived++;
final searchResults = _filterDuplicates(results.items);
searchResults.sort((a, b) => b.score.compareTo(a.score));
emit(
state.copyWith(
results: searchResults,
results: results.items,
isLoading: _messagesReceived != results.sends.toInt(),
),
);
@ -133,31 +129,6 @@ class CommandPaletteBloc
);
}
List<SearchResultPB> _filterDuplicates(List<SearchResultPB> results) {
final currentItems = [...state.results];
final res = [...results];
for (final item in results) {
if (item.data.trim().isEmpty) {
continue;
}
final duplicateIndex = currentItems.indexWhere((a) => a.id == item.id);
if (duplicateIndex == -1) {
continue;
}
final duplicate = currentItems[duplicateIndex];
if (item.score < duplicate.score) {
res.remove(item);
} else {
currentItems.remove(duplicate);
}
}
return res..addAll(currentItems);
}
void _performSearch(String value) =>
add(CommandPaletteEvent.performSearch(search: value));

View File

@ -1,4 +1,5 @@
use flowy_folder::manager::FolderManager;
use flowy_search::document::handler::DocumentSearchHandler;
use flowy_search::folder::handler::FolderSearchHandler;
use flowy_search::folder::indexer::FolderIndexManagerImpl;
use flowy_search::services::manager::SearchManager;
@ -9,11 +10,11 @@ pub struct SearchDepsResolver();
impl SearchDepsResolver {
pub async fn resolve(
folder_indexer: Arc<FolderIndexManagerImpl>,
_cloud_service: Arc<dyn SearchCloudService>,
_folder_manager: Arc<FolderManager>,
cloud_service: Arc<dyn SearchCloudService>,
folder_manager: Arc<FolderManager>,
) -> Arc<SearchManager> {
let folder_handler = Arc::new(FolderSearchHandler::new(folder_indexer));
// let document_handler = Arc::new(DocumentSearchHandler::new(cloud_service, folder_manager));
Arc::new(SearchManager::new(vec![folder_handler]))
let document_handler = Arc::new(DocumentSearchHandler::new(cloud_service, folder_manager));
Arc::new(SearchManager::new(vec![folder_handler, document_handler]))
}
}

View File

@ -81,10 +81,7 @@ impl SearchHandler for DocumentSearchHandler {
id: result.object_id.clone(),
data: view.name.clone(),
icon,
// We reverse the score, the cloud search score is based on
// 1 being the worst result, and closer to 0 being good result, that is
// the opposite of local search.
score: 1.0 - result.score,
score: result.score,
workspace_id: result.workspace_id,
preview: result.preview,
});