mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-10-17 13:19:18 +02:00
embedAndStoreText read the file's active flag, then upserted its chunks. A toggle landing between those two steps set its payload before the new points existed, so the new points kept the old value. Retrieval and the KB panel then disagreed. Both toggles (setFileActive and setKnowledgeCollectionActive) now write kb_ingest_state before calling Qdrant setPayload, and restore the rows they changed if setPayload fails. embedAndStoreText re-reads the flag after its upsert and sets active on its own point IDs if the flag changed. Whichever order the two run in, one of them writes the final value to the new points. Also coerce the flag to a boolean before stamping it into the payload. MySQL returns tinyint(1) as 0/1, and a raw 0 got past the search filter's must_not active == false, so an inactive file that was re-embedded became searchable again. |
||
|---|---|---|
| .. | ||
| controllers | ||
| data | ||
| exceptions | ||
| jobs | ||
| middleware | ||
| models | ||
| services | ||
| utils | ||
| validators | ||