Comments (6)
Can confirm the issue also exists on beta43! Worked around it by downgrading to Beta 41. Thanks for sharing @brydar
from kbar.
Here is just a minimal repro with fuse only:
const fuse_js_1 = require("fuse.js");
const filtered = [
{
priority: 0,
ancestors: [],
children: [],
id: "blog",
name: "Blog long name aaa",
keywords: "",
command: {},
},
{
priority: 0,
ancestors: [],
children: [],
id: "contact",
name: "Contact",
keywords: "",
command: {},
},
{
priority: 0,
ancestors: [],
children: [],
id: "test1",
name: "test registration bug aaa",
keywords: "",
},
];
const fuseOptions = {
keys: [
{
name: "name",
weight: 0.5,
},
{
name: "keywords",
getFn: function (item) {
return item.keywords.split(",");
},
weight: 0.5,
},
"subtitle",
],
includeScore: true,
includeMatches: true,
threshold: 0.2,
minMatchCharLength: 1,
tokenize: function (str) {
// Example: Preserve hyphens and special characters as separate tokens
return str.split(/[\s\-,.!()]+/).filter(Boolean);
},
};
const fuse = new fuse_js_1(filtered, fuseOptions);
console.log(fuse.search("aaa")); // only receiving "Blog long name aaa" but not "test registration bug aaa"
It seems that the main question is: where to put the bar for threshold
? 0.2 is probably too low for many cases, but what would be the best?
from kbar.
Based on this page, the behaviour is expected given the current options passed to fuse. Actually we pass distance=100 and threshold=0.2, meaning that for strings longer than 0.2*100=20 characters we will have to match lots of characters before seeing them into the list of suggestions.
@timc1 Do you think there could be a way to let users configure part of fuse? I mean overriding some of the configuration to put threshold to something larger (or smaller). See other suggestion in the message right after
from kbar.
I think setting the ignoreLocation to true might help. If such option is ok to be added into the configuration of fuse, maybe I can open a PR to add it. Cc @timc1
from kbar.
Normally this issue should be fixed now with #350 (not released yet)
from kbar.
Related Issues (20)
- KBar not working on chrome
- Plans to port it to appDir? HOT 2
- rowVirtualiser is setting the height a little bit short HOT 2
- Key shortcuts not suppressed in elements with `plaintext-only` contenteditable HOT 1
- react 18 unmet peer dependencies HOT 4
- unable to input Chinese correctly HOT 8
- Dependency error with `react-virtual` HOT 11
- Any way to find out if the menu is open?
- No style HOT 3
- [question] Is it possible trigger useKBar hooks using AstroJS? HOT 1
- Feature: Adding Action options to prevent keyboard events from firing unintentionally HOT 1
- Performance bug: Keystrokes lost when typing fast in slow environments HOT 2
- Search doesn't clear when changing currentRootActionId in the latest version HOT 2
- Bug: Backspace keyboard event being received by pages HOT 2
- More control over the returned matches HOT 1
- useMatches rootActionId and results are out of sync HOT 1
- [Feature] Add property to optionally enable shortcuts on form fields HOT 1
- Documentation for parent elements and sub-search HOT 1
- Callback on perform, without replacing perform
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kbar.