8601 Commits

Author SHA1 Message Date
SYED ALI ABBAS RAHIL
7cb4e30e19 fix(task_executor): cap extracted important_kwd terms to ES keyword limit (#17512)
### What problem does this PR solve?

Fixes #17074. When a keyword-extraction LLM returns a malformed,
extremely long response, the resulting `important_kwd` term can exceed
Elasticsearch's keyword term-byte limit (32766 bytes). The chunk insert
then fails with `document_parsing_exception`.

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)

Signed-off-by: Rahil <viperboom0786110@gmail.com>
Co-authored-by: Jin Hai <haijin.chn@gmail.com>
nightly
2026-08-24 20:37:31 +08:00
陈志谦
f5c359e64b fix(sdk): temperature default should be a float, not a 1-tuple (#18656)
### Summary

Fix is the scalar `0.5`, matching the server default.
2026-08-24 20:35:41 +08:00
Sbaaoui Idriss
8bb5bf057f Chore: add missing deepseek model (#18678) 2026-08-24 20:05:36 +08:00
Sbaaoui Idriss
ba31ec43a1 fix: the pdf generation issue in agent (#18673) 2026-08-24 19:35:20 +08:00
Sbaaoui Idriss
295727822e fix: validate message content to prevent empty values (#18676) 2026-08-24 19:33:33 +08:00
primorLee
a113116780 fix(agent): preserve whitespace around message references (#18666)
### Summary

- keep literal whitespace outside streamed message references
- retain single, double, and spaced outer-brace reference forms
- apply the same boundary rule to iteration aliases
- add regression coverage for adjacent and consecutive references

Fixes #18665

---------

Co-authored-by: Jin Hai <haijin.chn@gmail.com>
2026-08-24 19:25:03 +08:00
euvre
2611ea5bdf fix(web): hide empty thinking strip in floating chat widget (#18608) 2026-08-24 19:24:08 +08:00
Wang Qi
cc7d99e288 Fix: porting #18300 to go (#18690) 2026-08-24 19:00:27 +08:00
changshenhan
49c3ae51e4 fix: precompile regexes on the retrieval hot path (#18644)
## Summary

`regexp.MustCompile` / `regexp.MatchString` have **no cache** in Go —
every call performs a full parse+compile of the pattern. The fulltext
query builder compiled the same 17 patterns from scratch on **every**
invocation of the retrieval hot path (tokenize → query build), paying a
fresh regexp parse+compile per token/term.

This hoists all patterns into package-level `var`s compiled **once at
package init**, and references them from every call site. **Zero logic
change** — every pattern string is byte-identical to before.

Co-authored-by: changshenhan <217217832+changshenhan@users.noreply.github.com>
2026-08-24 18:21:18 +08:00
mkaaad
b473c3e593 feat(go-syncer): add Teams connector with positional resume (#18680) 2026-08-24 18:20:42 +08:00
Wang Qi
5659476a30 Fix: correct rerank #17296 - add prefetch_size (#18300) 2026-08-24 16:09:07 +08:00
陈志谦
af4651cce3 security: remove leaked OAuth credentials and stop logging user secrets (#18658)
remove leaked OAuth credentials and stop logging user secrets

Co-authored-by: jindou <jindou@local>
2026-08-24 15:53:19 +08:00
jay77721
83ae771399 fix(ingestion): refactor tag extractor with memory index, asymmetric coverage, multi-source enrichment and worker pool sequencing (#18607) 2026-08-24 15:36:32 +08:00
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