Search Concordance
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- typescript
Direzione di ricerca
Inizia dall’issue bloccata #48 per comprendere l’indice di concordanza e il pannello, quindi leggi src/utils/search-fold.ts e src/utils/analysis-query.ts per esaminare i precedenti condivisi di folding e indicizzazione. Esamina #186, #155, #117, #192 e AGENTS.md prima di risolvere le questioni UX aperte; il lavoro è completato quando il pannello supporta il comportamento concordato per ricerca, ordinamento, copertura e frequenza senza rendere persistente lo stato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Search, sort, and filtering over the concordance index built in #48 — including the coverage question the Analysis Catalog deliberately cannot answer: what haven't I glossed yet?
Blocked by #48: there is nothing to search until the index and its panel exist.
Scoping stub. This issue was title-only; the body below was drafted from the surrounding code and issues to make it schedulable, and records open questions rather than deciding them. Correct it freely.
Scope
- Search over surface forms, using
foldForSearchfromsrc/utils/search-fold.ts(#192, in review) — the same fold the catalog uses, soαρχηfindsἀρχῇandsalomfindsšālôm. Do not add a second fold, and do not usenormalizeSurfaceFormhere — #186 is emphatic that the search fold and the identity normalization must stay separate, and #48 buckets rows on the identity one. - Fold once at index build time, not per keystroke, following the
searchTextprecedent insrc/utils/analysis-query.ts. - Sort — occurrence count descending as the default, plus alphabetical by surface form. Collate with
Intl.Collatoron the source project'splatform.languageTag; code-point ordering is wrong for Greek and Hebrew. - Coverage filters — the reason this issue carries weight beyond "add a search box":
- unglossed only (no analysis for any occurrence)
- partly glossed (some occurrences analyzed, some not)
- fully glossed
- Frequency filters — e.g. hapax legomena, or a minimum occurrence count. Cheap once the index exists and genuinely useful for triaging what to gloss next.
- Search / sort / filter state stays ephemeral
useState, matching #186's reasoning: persisting a filter across a reload is the classic "where did my data go" bug.
Why this is the coverage surface
#186 routes coverage questions here explicitly: "Coverage questions ('what haven't I glossed?') are out of scope and belong to #50 / #117." #117 answers it per book (counts and last-modified); this answers it per word. Between them they cover "how far along am I" and "what specifically is left".
Relationship to Find (#155)
#155 (Ctrl+F) and this issue are both text search and will confuse users if they behave differently. Find is a transient in-view jump-to-next; this is a persistent ranked list. They should at minimum share the fold, and the wording of "no matches" and the match-highlighting treatment should agree. Worth designing the two together even though they ship separately.
Open questions
- Does search match glosses too, or only surface forms? Matching glosses makes this overlap the catalog's search; restricting to surface forms keeps the two panels' jobs distinct. Leaning surface-forms-only, but not decided.
- Regex or morphological search? Out of scope for a first pass, but decide whether the query shape forecloses it.
- Should this go to
user-questions.mdfor review outside the dev team? (per AGENTS.md UX-decisions guidance)
Blocked by: #48. Related: #186, #155, #117, #192.
- Lingua principale
- TypeScript
- Stelle
- 2
- Fork
- 0
- Merge medio
- 1g 15h
- PR unite (30g)
- 63
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sillsdev/interlinearizer-extension
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
sillsdev/interlinearizer-extension#537 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
sillsdev/interlinearizer-extension#533 ·
I maintainer di solito rispondono entro 1 giorno
-
Deleting the active project leaves its draft marked savedForse già presa @jasonleenaylor l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
sillsdev/interlinearizer-extension#519 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
sillsdev/interlinearizer-extension#515 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
sillsdev/interlinearizer-extension#538 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di sillsdev/interlinearizer-extension
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
gnosis/gnosis_vpn#661 ·
I maintainer di solito rispondono entro 1 giorno
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)Apertatriage:bug-verified
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno
-
fix: reject sourceStorage/packagedStorage bucket that differs from the stack default (fail loud)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Eyevinn/open-videocore#1300 ·
I maintainer di solito rispondono entro 1 giorno
-
nextjs-tracking
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
cloudflare/vinext#4390 ·
I maintainer di solito rispondono entro 1 giorno
-
kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
kubernetes-sigs/headlamp#8175 ·
I maintainer di solito rispondono entro 2 giorni