Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

search: FTS special characters are deleted, not separated, so leaf(entry) matches nothing

Ouverte Adaptée aux débutants
#2,971 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@kjgggggg y travaille déjà.

Depuis le 28/10/2026.

  • #2987 par @kjgggggg — ouverte

Évaluation

Difficulté
1/5
Temps estimé
Moins d'une heure
Accessibilité débutants
88/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
typescript
Domaine
search

Piste de recherche

Commence à src/db/queries.ts vers la ligne 2036, là où le replace des caractères spéciaux FTS5 construit le terme de recherche ; reproduis d'abord avec codegraph query "leaf(entry)" sur le fichier d'exemple pour confirmer le résultat vide. Remplace la substitution par un espace afin que chaque côté devienne un terme distinct entre guillemets, puis relance leaf(entry), leaf^entry, leaf() et une requête simple leaf entry pour vérifier qu'il n'y a pas de régression. C'est terminé lorsque les requêtes d'appels de fonction renvoient les symboles nommés et que les tests de recherche existants passent toujours.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Full-text search deletes FTS5 special characters instead of turning them into separators, so identifiers on either side of a (, ), ^, :, ", ' or * merge into one token that matches nothing.

// a.ts
export function entry() { mid1(); mid2(); }
export function leaf() { return 1; }
query result on main
codegraph query "leaf entry" entry, leaf ✓
codegraph query "leaf(entry)" No results found
codegraph query "leaf()" leaf ✓ (nothing follows the paren)

The same happens through the library (searchNodes('leaf(entry)'), 'leaf^entry', 'leaf"entry' all return []). The LIKE and fuzzy fallbacks don't recover it.

Cause. db/queries.ts#L2036: .replace(/['"*():^]/g, '') // Remove FTS5 special chars turns leaf(entry) into the single term "leafentry"*.

Reproduced on main at 7973df0d with CODEGRAPH_KERNEL=0. Linux/WSL2, Node 22.23.2.

Why it matters. Agents and people paste call expressions and signatures into search (render(props), getUser(id), Foo::bar(x)), and those come back empty instead of finding the named symbols.

Fix. Replace with a space instead of the empty string (.replace(/['"*():^]/g, ' ')). Each side then becomes its own quoted term.

Langage dominant
C
Étoiles
73.2k
Forks
4.7k
Merge moyen
3 h 15 min
PR mergées (30 j)
576

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de colbymchenry/codegraph

Toutes les issues de colbymchenry/codegraph

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.