mirror of
https://github.com/bitwarden/browser
synced 2025-12-29 06:33:40 +00:00
[PM-24143] Search performance improvements (#16070)
* [PM-24143] Add perUserCache$ to SearchService index$ * [PM-24143] Cleanup and optimize isSearchable * [PM-24143] Remove unused search flags and subscription from the vault-items component * [PM-24143] Add search text for desktop vault items. Consolidate SearchTextDebounceInterval constant to SearchService * [PM-24143] Ensure cipher search indexing is non-blocking * [PM-24143] Remove redundant index ciphers operation * [PM-24143] Add search performance measurements * [PM-24143] Remove artificial delay * [PM-24143] Remove startWith from index$ to avoid basic search with lunr queries * [PM-24143] Re-organize isSearchable to check long lunr queries for index existence
This commit is contained in:
@@ -2,7 +2,7 @@ import { ScrollingModule } from "@angular/cdk/scrolling";
|
||||
import { CommonModule } from "@angular/common";
|
||||
import { Component } from "@angular/core";
|
||||
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
|
||||
import { distinctUntilChanged } from "rxjs";
|
||||
import { distinctUntilChanged, debounceTime } from "rxjs";
|
||||
|
||||
import { JslibModule } from "@bitwarden/angular/jslib.module";
|
||||
import { VaultItemsComponent as BaseVaultItemsComponent } from "@bitwarden/angular/vault/components/vault-items.component";
|
||||
@@ -10,6 +10,7 @@ import { AccountService } from "@bitwarden/common/auth/abstractions/account.serv
|
||||
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
|
||||
import { SearchService } from "@bitwarden/common/vault/abstractions/search.service";
|
||||
import { RestrictedItemTypesService } from "@bitwarden/common/vault/services/restricted-item-types.service";
|
||||
import { SearchTextDebounceInterval } from "@bitwarden/common/vault/services/search.service";
|
||||
import {
|
||||
CipherViewLike,
|
||||
CipherViewLikeUtils,
|
||||
@@ -35,7 +36,7 @@ export class VaultItemsV2Component<C extends CipherViewLike> extends BaseVaultIt
|
||||
super(searchService, cipherService, accountService, restrictedItemTypesService);
|
||||
|
||||
this.searchBarService.searchText$
|
||||
.pipe(distinctUntilChanged(), takeUntilDestroyed())
|
||||
.pipe(debounceTime(SearchTextDebounceInterval), distinctUntilChanged(), takeUntilDestroyed())
|
||||
.subscribe((searchText) => {
|
||||
this.searchText = searchText!;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user