8838 Commits

Author SHA1 Message Date
mkaaad
b2541bff68 feat(go-syncer): add Salesforce connector with checkpoint resume (#18674) 2026-08-24 15:12:59 +08:00
Ayam
e17436e2af fix(manual): match .docx only so legacy .doc fails cleanly (#18649)
Fixes #18621

Legacy .doc files are OLE/CFB compound documents; python-docx only
parses OOXML .docx ZIP packages. The Manual parser's suffix regex
`\.docx?$` (introduced in PR #4325) matches both extensions, so .doc
uploads were routed to `Docx()` and crashed with raw `BadZipFile` / OPC
relationship errors instead of a clear message.
2026-08-24 15:06:15 +08:00
changshenhan
4afa19e7e4 fix(workerpool): close the SubmitTo/StopWait race without losing in-flight tasks (#18646) 2026-08-24 15:04:59 +08:00
buua436
f37b6fc439 fix: account for checkpointed ingestion progress (#18667)
Preserve completed component progress when an ingestion task resumes from a checkpoint. Checkpointed operators are skipped and do not emit lifecycle events again, which previously caused the document progress to
remain below 100%.
2026-08-24 14:28:05 +08:00
Yingfeng
01d83f3679 Fix docs format (#18675) 2026-08-24 14:15:10 +08:00
Jin Hai
23a071157d Revert "port smart-reasoning agentic RAG to eino ADK" (#18670)
Reverts infiniflow/ragflow#18654
2026-08-24 12:03:11 +08:00
Andras BARTHA
7c455fba18 fix(opensearch): stop zeroing vector scores by mapping similarity to knn boost (#18662)
### Summary

Fix OpenSearch retrieval returning `vector_similarity = 0.000` for every
chunk when hybrid search is enabled.

On the OpenSearch backend, retrieval uses a second KNN-only search
(`Dealer._knn_scores()`) to recover per-chunk cosine scores for
reranking. That pass intentionally sends `MatchDenseExpr(...,
{"similarity": 0.0})` to mean “no minimum similarity cutoff.”

However, `OSConnection.search()` was incorrectly mapping `similarity` to
the KNN clause `boost` field:

```python
knn_query[vector_column_name]["boost"] = similarity
```

With `similarity=0.0`, this produced `boost=0.0`, which zeroed out KNN
`_score` values. `get_scores()` then returned `0.0` for every hit, so
`vector_similarity` was always zero and hybrid ranking ignored the
vector component — with no exception raised.

This is separate from the `get_scores()` `AttributeError` crash
addressed in #14970 / #15390; here retrieval succeeds but vector scores
are silently lost.
2026-08-24 11:59:44 +08:00
陈志谦
de029503ee docs: replace root-relative cross links with relative page links (#18664)
configurations.md and backup_and_migration.md cross-linked each other
via /migration#... and /configurations#s3-tigris. These host-absolute
paths match no route on the docs site (real pages live under
/administrator/...) and 404 on GitHub. Point them at the sibling
markdown files so both Docusaurus and GitHub can resolve them; the
existing anchors are preserved.

---------

Co-authored-by: jindou <jindou@local>
Co-authored-by: Jin Hai <haijin.chn@gmail.com>
2026-08-24 11:58:43 +08:00
Dmitry
c12abf3f7f Remove three no-op self-assignments (#18652)
### Summary

three no-op lines should be removed

Co-authored-by: darkdi <rantovov5@gmail.com>
2026-08-24 11:56:05 +08:00
陈志谦
c1ee17bebc fix: Invoke proxy uses validated URL; remove stray debug print in Canvas.reset (#18657)
### Summary

Two small fixes found during a code-review pass.

**1. `Invoke._build_proxies` sends the raw proxy string instead of the
normalized one**

**2. Leftover `print(self.variables)` in `Canvas.reset`**

---------

Co-authored-by: jindou <jindou@local>
2026-08-24 11:46:06 +08:00
maoyifeng
024b5680ba add nats and clickhouse expose port in docker compose (#18577)
add nats and clickhouse expose port in docker-compose-base.yml and .env
file,avoid service port name conflict
2026-08-24 10:53:22 +08:00
Ilya Bogin
e1fff9b3ea fix(web): use the real Keenable mark for the tool icon (#18660)
### Summary

The Keenable tool icon added in #18341 was a placeholder I drew: a
generic blue rounded square with a magnifying glass, not the Keenable
brandmark. Swapped for the mark from our brand guidelines.

Same shape as the neighbouring tool logos: one `<svg>` with a `viewBox`
and no fixed width/height, so it is sized by the CSS around it, and
transparent, so it reads on the light and the dark theme alike.
Frontend-only, one file.
2026-08-24 10:45:09 +08:00
chanx
26581955d5 fix(web): resize the mind map graph when its container changes size (#18616) 2026-08-24 10:35:55 +08:00
euvre
743491b8fb fix(ingestion): honor auto-keyword/auto-question top_n sliders in extractor prompts (#18632) 2026-08-24 10:25:04 +08:00
chanx
e3b1e871e7 fix(web): give each provider instance card its own surface (#18620) 2026-08-24 10:20:00 +08:00
Zhichang Yu
2db8eb6c91 port smart-reasoning agentic RAG to eino ADK (#18654)
Ports the smart-reasoning (agentic RAG) conversation mode to the eino ADK, with Go retrieval tools (grep_chunks, search_chunks, list_chunks), deep-read XML output, and frontend agent-mode wiring.
dev-20260824
2026-08-23 20:54:40 +08:00
Yash Raj Pandey
9ea83b7a9d Fix HTML parser treating an empty upload as a missing binary (#17904) 2026-08-23 10:24:02 +08:00
Jack
aa6e19e70f fix(deepdoc): resolve OCR text gaps — char loss/duplication in pdf parser (#18643) 2026-08-23 10:22:00 +08:00
Jack
b1b8cd6235 fix(deepdoc): align Go table row count with Python per-char R/C in parity replay (#18622) 2026-08-22 23:13:11 +08:00
MarMar Labs
f796721ff2 docs(entrypoint): show every option usage() accepts (#18596)
### Summary

Update usage of entrypoint.sh
2026-08-21 20:51:51 +08:00
MarMar Labs
9f37443474 fix(show_env): keep git errors out of the environment report (#18597)
### Summary

`show_env.sh` exists to produce a clean environment report to paste into
an issue. Run outside a work tree it printed a raw git error into the
middle of it.
2026-08-21 20:50:51 +08:00
Ngo Quoc Viet
9dc3a5bfba fix(cli): count benchmark application failures (#18292)
### Summary

The CLI benchmark treated every HTTP 200 response as successful, even
when the RAGFlow response envelope reported a non-zero application code.
This caused failed API calls to inflate the benchmark success count.

- classify benchmark responses using both HTTP status and the response
envelope code
- preserve successful plain-text HTTP 200 endpoints such as ping
- cover HTTP 200 application failures with an in-process HTTP regression
test
2026-08-21 20:31:52 +08:00
Jack
6483f84d0c fix(deepdoc): close ocr_real text-gap divergences and pin char-to-box matching (#18630) 2026-08-21 20:12:56 +08:00
chanx
1a0c896180 fix(web): accept a single API key for Baidu YiYan (#18611) 2026-08-21 19:24:52 +08:00
Lynn
141bcff471 Fix(go): use llm setting for AI summary and return raw error msg (#18615) 2026-08-21 19:23:59 +08:00
euvre
dab8cfef3a Fix: Owner filter count not updated after deleting a dataset (#18623) 2026-08-21 19:08:49 +08:00
euvre
7f9364f52e fix(web): keep multi-select count in sync after deleting a single file (#18589) 2026-08-21 19:07:30 +08:00
balibabu
591ea7a969 Refactor: Refactored the frontend logic for handling different backend services to use pickByBackend, thereby improving code clarity and maintainability. (#18614) 2026-08-21 19:06:20 +08:00
mkaaad
9fc323b49a Feat/connector go sharepoint (#18618)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-08-21 18:55:42 +08:00
天海蒼灆
e9cace9a09 fix: preserve non-string values in update_metadata_to (#17346)
## Summary
- Broaden `update_metadata_to` to keep `bool` / `int` / `float` / `None`
and structured values (e.g. PDF `outline` list[dict]) while retaining
string / list[str] merge+dedupe for LLM metadata.
- Fixes document system fields (`_isCurrent`, `_version`,
`_processStatus`) being dropped when parse persists PDF outline via full
`meta_fields` replace.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 17:53:27 +08:00
MarMar Labs
d3ccfbdc60 fix(build): name the compiler the check requires, and the option that failed (#18594) 2026-08-21 16:52:04 +08:00
Haruko386
58edf69f1a optimize[syncer]: optimize returning error when it occur (#18613)
### Summary

As title
2026-08-21 16:50:29 +08:00
Haruko386
5c8cb36a20 feat[syncer]: add data source DropBox (#18612)
### Summary

As title

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-08-21 16:49:50 +08:00
Haruko386
8ac8ca71da feat[provider]: apply model_type infer when model has no type (#18593)
### Summary

As title.

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-08-21 16:46:15 +08:00
Sevenzuo
aa49146a63 fix: preserve empty chat fields on GaussDB (#18445) 2026-08-21 16:45:10 +08:00
Harsh Kashyap
be86baacca fix(llm): consolidate TTS / Seq2txt provider key resolution across 3 call sites (#17688)
# fix(llm): consolidate TTS / Seq2txt provider key resolution across 3
call sites

Fixes #17687.
2026-08-21 16:05:02 +08:00
Haruko386
a33ee7d4a0 fix: dataset ingestion log has no other type instead of success (#18605) 2026-08-21 15:41:40 +08:00
Jiang, Guomin
09af859357 fix(metadata): batch large document ID filters (#17394)
## Summary

- batch `DocMetadataService._search_metadata()` requests whose
`condition["id"]` list exceeds 10,000 IDs
- combine the per-batch results so metadata reads, summaries, and batch
updates avoid a single oversized Elasticsearch `terms` query
- add regression coverage for 20,001 IDs, verifying three bounded
backend searches and complete metadata results

Fixes #17393
2026-08-21 15:21:45 +08:00
euvre
928743ff40 fix(web): clicking anywhere in a switch setting row toggles the switch (#18567) 2026-08-21 15:14:45 +08:00
YanZhang
451dd15d4b docs: add links between docs (#18609)
Add links between related documentation pages to make relevant guides
easier to navigate and discover.
2026-08-21 15:13:11 +08:00
maoyifeng
1f7be6398e add dockerfile_ci for workflow and restore the single dockerfile (#18606)
add dockerfile_ci for workflow and restore the single dockerfile and
update it
2026-08-21 14:42:16 +08:00
Elias Shieh
f44436a549 perf(retrieval): push metadata filters down to the metadata index (#18219)
## Summary

- route REST retrieval metadata conditions through the existing
metadata-index push-down service
- keep full metadata loading lazy and preserve the Python in-memory
filter as an exact fallback
- add focused coverage for successful and empty push-down results and
multi-valued fallback semantics
2026-08-21 14:36:50 +08:00
mkaaad
05af33b214 feat(go-syncer): add Slack connector with checkpoint resume (#18603)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-08-21 14:34:41 +08:00
euvre
c22e53c96b fix(search): do not jump to previous search results on empty query (#18520) 2026-08-21 14:27:27 +08:00
euvre
a50477089d fix(search): fix layout clipping when search page is not fullscreen (#18519) 2026-08-21 14:16:05 +08:00
Harsh Kashyap
824f9bfdcb fix(doc_store): retry transient connection errors in pool init (#17196)
## Summary

Fix the silent-failure health-check retry loops in
`common/doc_store/{es_conn_pool, ob_conn_pool, infinity_conn_pool,
infinity_conn_base}.py`. These pool initializers run at module import
via `@singleton`; a brief blip during pod start currently crashes the
whole worker process. The fix retries with exponential backoff, logs
each attempt, and re-raises on exhaustion.

## Related

- #17065 / #17066 — S3 storage
- #17069 / #17070 — non-S3 storage backends
- #17123 / #17125 — `rag/utils/{es_conn, opensearch_conn}`
- #17134 / #17135 — `memory/utils/es_conn`
- Fixes #17195

---------

Co-authored-by: Harsh Kashyap <Harsh23Kashyap@users.noreply.github.com>
2026-08-21 13:56:06 +08:00
Lynn
e2bbef0712 Fix: allow yiyan api key (#18601) 2026-08-21 13:42:28 +08:00
balibabu
cf96d6430d Feat: Rewrite the Go-based extractor operator form. (#18600) 2026-08-21 13:22:52 +08:00
euvre
2686c494e2 fix(engine): return error instead of panic when NATS engine is uninitialized (#18536) 2026-08-21 11:53:55 +08:00
euvre
6a0fe78560 Fix: Go chat pipeline sends image blocks to text-only models (Zhipu GLM error 1210) (#18580) 2026-08-21 11:45:11 +08:00