Commit Graph

8809 Commits

Author SHA1 Message Date
Taranum Wasu 28ce77fe5f refactor(parser): extract shared parseWithTCADP core from pptx/xls/pdf wrappers (#17671) 2026-08-26 19:30:19 +08:00
陈志谦 fdf937177d fix(security): authenticate sandbox executor API and isolate container network (#18703)
Fix sandbox security gaps: (1) add token auth + rate limiter to POST /run, bind port to localhost; (2) default containers to --network none. Backward compatible. Tests pass, docs updated.

---------

Co-authored-by: jindou <jindou@local>
2026-08-26 19:26:28 +08:00
balibabu 2c19fae8f4 Fix: The chat network search service is allowed to be null. (#18791) 2026-08-26 19:17:52 +08:00
chanx 9bc12fbce6 fix(web): use a dedicated label for the thinking mode field (#18806) 2026-08-26 19:17:17 +08:00
WOLIKIMCHENG 8a7c4226ce fix(sdk): filter documents by multiple IDs (#18790)
### Summary

Fix `DataSet.list_documents(ids=[...])` by passing the ID list through
the request parameter mapping, which serializes it as repeated `ids`
query parameters.

This preserves existing behavior for `ids=[]` as an unfiltered request
and for combining `id` with non-empty `ids`, which raises `ValueError`.
Add regression coverage for all three cases.

Co-authored-by: root <kinsonnee@gmail.com>
2026-08-26 18:58:09 +08:00
Souravrajvi0 229503bc80 fix(web): skip canvas autosave of empty nodes/edges (#18783)
Fix canvas autosave wiping pipelines (#18771). Previously saved empty graph on any change/remount. Now only autosaves when canvas has nodes/edges, agent is loaded, and chat drawer closed. Fetch no longer clears loaded canvas on empty DSL. Tests added.

Fixes #18771
2026-08-26 17:13:14 +08:00
Burak Bayır 0201c1a557 feat(data-source): add Xquik X search connector (#18714)
### Summary

Add Xquik as a new data source for X (Twitter) post ingestion. Supports Latest/Top queries, cursor pagination, incremental sync, and maps engagement/media to RAGFlow documents. Stops duplicate requests on repeated cursors. Tests and docs included.

---------

Co-authored-by: kriptoburak <kriptoburak@users.noreply.github.com>
2026-08-26 17:03:38 +08:00
S f6fd4127df fix(docker): prevent all foreground entrypoint.sh loops from exiting on non-zero exit (#18545)
## Summary

Fix entrypoint.sh restart loops where non-zero exits would terminate the subshell instead of retrying (root cause of #18542). Now wraps each binary with set +e / set -e to capture exit status and log it before restarting. Applied to 6 loops. Complementary to #17196.

Co-authored-by: skbs-eng <skbs-eng@users.noreply.github.com>
2026-08-26 17:03:01 +08:00
Sbaaoui Idriss 955abf6034 fix(model-provider): resolve instances by persisted ID (#18792)
### Summary

Provider settings were saved correctly, but reopening them requested the
instance by ID while the running backend could only find it by name.
The fix makes provider instance reads honor the saved ID, so
configurations load correctly after reopening.
2026-08-26 17:00:42 +08:00
euvre 6f30ed2bae fix(web): cap embed dialog User ID input length and add data-type hint (#18773) 2026-08-26 16:47:50 +08:00
buua436 f5274d784f fix: accept empty ASR verification results (#18788) 2026-08-26 16:21:03 +08:00
Aari 775ffb7836 fix(opensearch): scope multi-document update to the target knowledge base (#17048)
Fix OpenSearch update missing kb_id scope. Unlike Elasticsearch, OSConnection.update dropped the knowledgebaseId argument, causing updates (like clearing pagerank) to apply to all datasets in a tenant. Now adds kb_id to the query condition.
2026-08-26 15:59:42 +08:00
Anupam Mediratta d0986424ee fix: the bigquery connector constructs sql queries u... in... (#17500)
Fix high-severity SQL injection in BigQuery connector. User-supplied identifiers (project_id, dataset_id, table_id, timestamp_column, query) were f-string interpolated into SQL.
2026-08-26 15:55:52 +08:00
jay77721 88e5a8b0ec fix(parser): support webp in image OCR and correct rune count for VLM gate (#18785) 2026-08-26 15:49:29 +08:00
jay77721 959c8e8b4a refactor(parser): consolidate vision figure enhancement across document formats (#18775) 2026-08-26 15:48:01 +08:00
Taranum Wasu f98a5383f3 fix(naive): route misconfigured MinerU PDFs to by_mineru instead of by_plaintext (#17114) (#18762) 2026-08-26 15:45:16 +08:00
天海蒼灆 bed9cc5a4f fix: inherit document status when inserting chunks (#18610) 2026-08-26 15:41:53 +08:00
Yash Raj Pandey 16642140fe Fix: find_codec discards confident encoding detection and returns a garbage codec (#15793) 2026-08-26 15:39:36 +08:00
buua436 9fdcc02c5f fix: allow empty GitHub repositories (#18776) 2026-08-26 15:33:19 +08:00
Guofang.Tang 5827620a61 fix(agent): propagate webhook terminal states (#18758) 2026-08-26 15:32:21 +08:00
balibabu 1e15cc20e6 Fix: The recommended chunk size for the token chunker is restricted to integers only. (#18786) 2026-08-26 14:47:58 +08:00
Lynn 63426325c2 Fix: MinerU model (#18767)
### Summary

Fix model_types in MinerU.net, and add default model for MinerU.
2026-08-26 12:43:17 +08:00
MarMar Labs 79093df706 docs(api): document the document-update endpoint as PATCH (#18765)
### Summary

Fix HTTP API doc
2026-08-26 12:14:25 +08:00
MarMar Labs d3542463c9 docs(api): spell the recommendation endpoint the way the server registers it (#18764)
### Summary

Update comments
2026-08-26 12:10:05 +08:00
MarMar Labs c2c2010974 fix(sandbox): sync the sandbox env with the Python version it requires (#18766)
Update python version to 3.13
2026-08-26 12:07:52 +08:00
euvre a714ecef41 fix(web): stop RAGFlow brand block from overlapping embedded share header (#18729) 2026-08-26 11:38:11 +08:00
euvre c7dec3b912 fix(web): agent explore streaming answer leaking into the switched-to session (#18686)
### Summary

In agent **Explore**, asking a model and switching to another session
(chat box) while the answer was still streaming caused the streaming
answer to be rendered inside the session the user had just switched to.

**Root cause.** The Explore page mounts `SessionChat` once per canvas;
`useSendAgentMessage` therefore keeps one SSE `answerList` and one
`derivedMessages` list shared by every session. The effect that folds
streamed frames into the message list
(`web/src/pages/agent/chat/use-send-agent-message.ts`) appended
unconditionally, so after a session switch the in-flight frames of
session A were written into the message list of the currently displayed
session B. The global `sendLoading` also made the last assistant message
of session B show a streaming indicator.

**Fix.** Every agent SSE frame already carries the `session_id` it
belongs to (see the frame contract in
`internal/agent/canvas/runner.go`), so ownership is known on the client:

- `useSendAgentMessage` accepts an optional `activeSessionId` (the
session the page is currently displaying) and skips the streamed-answer
append when the stream's `session_id` differs from it. It also exposes
`streamSessionId` so callers can scope streaming UI.
- The Explore hook (`use-send-session-message.ts`) passes the URL
session id as `activeSessionId`.
- `session-chat.tsx` shows the per-message streaming loading state only
when the in-flight stream belongs to the displayed session.

Behavior after the fix: switching sessions mid-answer keeps each
session's message list clean; switching back to the streaming session
resumes rendering the answer there; the answer is still persisted to its
own session by the backend. Canvas debug chat and shared-agent chat are
unchanged (they pass no `activeSessionId`, so the gate is inactive).

**Verification.** Reproduced in the browser (dev services): asked for a
long essay in session A, switched to session B mid-stream — pre-fix,
session B showed session A's growing essay (~27k chars); post-fix,
session B shows only its own history while the stream keeps running
(confirmed by switching back and watching it continue in A). `jest
src/pages/agent` passes (12 suites / 79 tests); `tsc --noEmit` shows no
new errors in the touched files (remaining errors are pre-existing on
main).

---------

Co-authored-by: euvre <euvre@users.noreply.github.com>
2026-08-26 11:36:27 +08:00
euvre e79b9bdc01 fix(parser): clean .eml text output for chunking (#18592) 2026-08-26 11:20:05 +08:00
Wang Qi 2e918d0735 Docs: update 27.0 release notes (#18770)
Notice: GraphRAG and RAPTOR features are deprecated and not available in
UI.
2026-08-26 11:10:36 +08:00
Souravrajvi0 004b3c4845 fix(web): surface dataset navigation tree load failures (closes #17301) (#17668)
Fix Artifacts Tree tab to show error message on navigation API failure instead of misleading "No navigation nodes". Added error handling in frontend, i18n strings, and backend unit tests. 6 tests pass.
2026-08-26 10:42:18 +08:00
MarMar Labs b4958dce3d fix(sandbox): remove the sandbox containers that exist, not a pool-size range (#18629)
Fix sandbox teardown (make clean / stop.sh) to remove actual containers by pattern instead of relying on POOL_SIZE range. Old logic left containers behind when .env changed or was missing. Now uses docker ps -a | grep with anchored pattern. Cleanup works without .env; Docker errors are properly reported.
2026-08-26 10:29:23 +08:00
MarMar Labs 407ec2c866 docs(sandbox): describe how the container pool is actually sized (#18625)
Fix sandbox spec documentation mismatch. pool_size is a deployment-scoped env var (read-only), not a writable runtime setting. Removed from writable examples, updated spec to match actual provider schema, and fixed stale test assertions.
2026-08-26 10:25:28 +08:00
Charles b380728df6 fix(memory): align Go semantic valid_at prompt with the Python wording (#18752)
As title.
2026-08-25 20:11:34 +08:00
Erhan Aydın 72b7b02113 feat(data_source): add Azure DevOps connector (#18715)
Adds Azure DevOps as a new data source, syncing repository files and pull requests. Supports both hosted and self-hosted. Excludes wikis, work items, and binaries. Includes checkpoint/resume, change detection via commit IDs, and handles Azure's quirky 203 auth response. Tests passed against real deployment.
2026-08-25 20:10:43 +08:00
euvre 874d156c57 fix(chat): deliver uploaded image attachments to vision models in Go chat pipeline (#18708) 2026-08-25 20:02:53 +08:00
Lynn 45a47d9d45 Fix(go): PaddleOCR -> PaddleOCR.local, PaddleOCR.net -> PaddleOCR (#18747) 2026-08-25 20:02:01 +08:00
Yuzhong Zhang df7f1908c8 fix(agent): default missing Graph path so stored DSL cannot KeyError (#18753) 2026-08-25 19:56:50 +08:00
Taranum Wasu ee3360bccb fix(pdf): strip tiled watermark text from text-layer extraction (#18308) 2026-08-25 19:52:34 +08:00
Yurii214 7622d6742a fix(deepdoc): harden opendataloader table-cell parsing against bad json (#17316) 2026-08-25 19:49:15 +08:00
jay77721 f9e86b1bb1 fix(parser): crop media sections in PDF JSON path, unify Data URI and markdown rendering (#18742) 2026-08-25 19:47:02 +08:00
Lem0nTea2002 a940dad39f fix(chat): propagate mind map stream failures (#18733) 2026-08-25 19:34:40 +08:00
euvre 9a03f708ec fix(agent): panic and raw error when auto play runs without a default TTS model (#18734) 2026-08-25 19:34:26 +08:00
Wang Qi fd7cd3289a Fix total as the total, follow Go (#18750) 2026-08-25 19:25:43 +08:00
xugangqiang b6a0a3cc62 fix(pdf): restore cross-page table merge wrongly rejected by #18688 page-absolute Y gate (#18740) 2026-08-25 19:05:48 +08:00
Wang Qi 158d672c5e Porting #18737 to go (#18745)
Porting #18737 to go
Test: passed.
2026-08-25 18:58:34 +08:00
Javen Yan ba523a127a Fix GPUStack model discovery and audio support (#18599)
This PR fixes GPUStack integration:

- Model discovery: Fixes provider verification by reusing OpenAI-compatible /v1/models endpoint.
- TTS: Fixes URL path duplication, adds configurable default voice (GPUSTACK_TTS_VOICE, defaults to aiden).
- ASR: Adds GPUStack support via /v1/audio/transcriptions with language normalization.

---------

Co-authored-by: yanzz5 <yanzz5@asiainfo.com>
2026-08-25 18:15:28 +08:00
Guofang.Tang 80f74216d8 fix(agent): redact internal terminal errors (#18743) 2026-08-25 17:46:51 +08:00
陈志谦 4870e83aa7 fix(agent): prevent path traversal and SSRF in Browser URL file upload (#18711)
Hardens Browser component URL upload against path traversal (CWE-22) and SSRF (CWE-918). Fixed filename extraction to decode before basename() with strict validation. Replaced urllib with SSRF-safe fetch + manual redirect following. 15 tests pass.

---------

Co-authored-by: jindou <jindou@local>
2026-08-25 17:30:48 +08:00
chanx 5c88ee425e fix(web): keep Firefox chat auto-scroll pinned to the bottom (#18736) 2026-08-25 17:29:13 +08:00
balibabu 40b5845e26 Fix: Add the chat model to the Python version of the dataset configuration page. (#18735) 2026-08-25 17:28:59 +08:00