Skip to content

feat: disable langflow ingestion via UI#1623

Merged
lucaseduoli merged 36 commits into
mainfrom
feat/langflow_ingestion_disable
May 28, 2026
Merged

feat: disable langflow ingestion via UI#1623
lucaseduoli merged 36 commits into
mainfrom
feat/langflow_ingestion_disable

Conversation

@lucaseduoli

@lucaseduoli lucaseduoli commented May 18, 2026

Copy link
Copy Markdown
Collaborator

This pull request introduces a new feature allowing users to disable document ingestion via Langflow and instead use a traditional OpenRAG ingestion pipeline. The change is implemented as a new disable_ingest_with_langflow setting, which is configurable through both the frontend settings UI and backend configuration/environment variables. The backend logic, API endpoints, and processors have been updated to respect this setting, ensuring that document ingestion routes and processing behavior adapt accordingly.

Frontend: Ingestion Settings UI and API

  • Added a new toggle in the ingestion settings section (IngestSettingsSection) to allow users to enable or disable Langflow ingestion. This setting is now part of the settings API requests and state management. [1] [2] [3] [4] [5] [6] [7]

Backend: Configuration and Models

  • Extended backend configuration (KnowledgeConfig, config manager, and environment variable parsing) to support the new disable_ingest_with_langflow boolean, including propagation through API models and settings endpoints. [1] [2] [3] [4] [5] [6]

Backend: Routing and Service Logic

  • Updated connector and API routers to dynamically choose between Langflow and traditional OpenRAG ingestion based on the new setting. Added a new _traditional_upload_ingest_task for handling traditional ingestion as a background task. [1] [2] [3] [4] [5]

Backend: Document Processing

  • Enhanced the document file processor to support duplicate file detection and replacement logic, using the replace_duplicates flag and the session manager for OpenSearch client access. This ensures that when Langflow is disabled, duplicate handling is robust. [1] [2] [3] [4]

Miscellaneous and Clean-up

  • Removed unused imports and updated utility/service initialization to ensure the session manager is available for traditional ingestion tasks. [1] [2] [3] [4]

These changes collectively provide a flexible ingestion pipeline, allowing administrators and users to switch between Langflow and traditional methods as needed.

Summary by CodeRabbit

  • New Features

    • UI toggle to disable Langflow ingestion; setting is persisted and available in settings.
  • Improvements

    • Uploads now always use a task-based workflow that returns a task ID.
    • Optional replace-existing-file behavior for uploads to handle duplicates.
    • Runtime ingestion and startup flows now honor the saved ingest setting.
    • Typed query hooks and config typing improvements for more consistent behavior.
  • Tests

    • Added tests for the ingest setting, traditional upload task, and duplicate-file handling.

Review Change Stack

@lucaseduoli lucaseduoli self-assigned this May 18, 2026
@github-actions github-actions Bot added frontend 🟨 Issues related to the UI/UX backend 🔷 Issues related to backend services (OpenSearch, Langflow, APIs) tests labels May 18, 2026
@coderabbitai

coderabbitai Bot commented May 18, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

This PR adds a runtime disable_ingest_with_langflow setting (config, API, frontend), a task-based traditional upload/ingest path, duplicate-aware DocumentFileProcessor handling, TaskService/session wiring, runtime config adoption across services, flows-service refactors, typing updates, and tests.

Changes

Traditional Document Ingestion Toggle

Layer / File(s) Summary
Configuration schema and settings API
src/api/settings/models.py, src/config/config_manager.py, src/api/settings/endpoints.py
Added disable_ingest_with_langflow to config/dataclasses and settings request/response models, wired env override assignment, and expose/handle the field in GET/PUT settings endpoints.
Runtime embedding model selection
src/config/settings.py
get_embedding_model() now reads get_openrag_config().knowledge.disable_ingest_with_langflow rather than a module constant.
Frontend ingestion settings UI and typed hooks
frontend/app/api/mutations/useUpdateSettingsMutation.ts, frontend/app/api/queries/useGetSettingsQuery.ts, frontend/app/settings/_components/ingest-settings-section.tsx, frontend/app/api/queries/*
Added typed API field, component state and Switch UI, state sync/dirty-check, include flag in save payload and restore defaults, and tightened several react-query hook option types.
TaskService, container wiring, and DocumentFileProcessor duplicate handling
src/services/task_service.py, src/app/container.py, src/models/processors.py
Inject SessionManager into TaskService, extend create_upload_task with original_filenames/replace_duplicates, thread session_manager into DocumentFileProcessor, and implement filename-based duplicate detection with optional deletion/refresh when replacing duplicates.
Traditional upload/ingest endpoint
src/api/router.py
Router reads runtime toggle and dispatches to new _traditional_upload_ingest_task which stages uploads to temp files, ensures index, creates upload tasks, returns 202 task metadata, and handles cleanup/error mapping.
Connector and service runtime adoption
src/api/connector_router.py, src/services/default_docs_service.py, src/services/flows_service.py, src/services/startup_orchestrator.py
Replaced module-level DISABLE_INGEST_WITH_LANGFLOW checks with get_openrag_config().knowledge.disable_ingest_with_langflow across connectors, default-docs ingestion, flows embedding updates, and startup gating.
FlowsService refactors
src/services/flows_service.py
Formatting and helper rework, _update_flow_field/provider embedding update gating switched to runtime config, and enable-model cache/early-return clarity; behavior preserved.
Models typing updates
src/models/tasks.py
Migrate typing to Python 3.10 union syntax and add UploadTask.processor and UploadTask.background_task fields.
Unit and integration tests
tests/unit/config/test_disable_ingest_setting.py, tests/unit/test_traditional_duplicate_handling.py, tests/integration/core/test_api_endpoints.py
Add tests for config env parsing/persistence, _traditional_upload_ingest_task, duplicate-handling in DocumentFileProcessor; update integration tests to always expect task-based upload responses.

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly summarizes the main feature: allowing users to disable Langflow ingestion via the UI. It accurately reflects the primary change across frontend and backend components.
Docstring Coverage ✅ Passed Docstring coverage is 84.06% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/langflow_ingestion_disable

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added the enhancement 🔵 New feature or request label May 18, 2026
@github-actions github-actions Bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels May 18, 2026
Comment thread src/api/router.py Fixed
@github-actions github-actions Bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels May 18, 2026
@github-actions github-actions Bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels May 18, 2026
… through an exception'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
@github-actions github-actions Bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels May 18, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/config/config_manager.py (1)

3-8: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix import ordering to unblock CI.

ruff is failing with I001 on this import block; sorting/formatting imports here is required before merge.

Proposed import block ordering
-import os
-import yaml
-from pathlib import Path
-from typing import Dict, Any, Optional
-from dataclasses import dataclass, asdict, field
+import os
+from dataclasses import asdict, dataclass, field
+from pathlib import Path
+from typing import Any, Dict, Optional
+
+import yaml
 from utils.logging_config import get_logger
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/config/config_manager.py` around lines 3 - 8, The import block in
config_manager.py is not sorted per ruff (I001); reorder imports into
standard-library, third-party, then local groups with a blank line between
groups and alphabetize within groups. Specifically move
dataclasses/Path/os/typing imports into the stdlib group (e.g., from dataclasses
import dataclass, asdict, field; import os; from pathlib import Path; from
typing import Any, Dict, Optional), keep yaml as the third-party import, and
place from utils.logging_config import get_logger in the local group; ensure
single blank lines separate groups to satisfy ruff/isort expectations.
🧹 Nitpick comments (1)
src/services/default_docs_service.py (1)

69-69: ⚡ Quick win

Snapshot disable_ingest_with_langflow once per ingestion run.

This flag is read multiple times across one flow. If it changes during execution, URL and file ingestion can route through different pipelines in the same request. Read it once at entry and pass it through helper calls.

♻️ Suggested refactor
 async def ingest_openrag_docs_when_ready(
     document_service,
     models_service,
     task_service,
     langflow_file_service,
     session_manager,
+    disable_langflow_ingest: bool,
     jwt_token=None,
 ):
@@
-            if get_openrag_config().knowledge.disable_ingest_with_langflow:
+            if disable_langflow_ingest:
                 task_id = await _ingest_default_documents_url(
@@
 async def ingest_default_documents_when_ready(
@@
 ):
@@
+        disable_langflow_ingest = (
+            get_openrag_config().knowledge.disable_ingest_with_langflow
+        )
         logger.info(
             "Ingesting default documents when ready",
-            disable_langflow_ingest=get_openrag_config().knowledge.disable_ingest_with_langflow,
+            disable_langflow_ingest=disable_langflow_ingest,
             ingest_source=DEFAULT_DOCS_INGEST_SOURCE,
         )
@@
         task_id = await ingest_openrag_docs_when_ready(
             document_service,
             models_service,
             task_service,
             langflow_file_service,
             session_manager,
+            disable_langflow_ingest=disable_langflow_ingest,
             jwt_token=jwt_token,
         )
@@
-        if get_openrag_config().knowledge.disable_ingest_with_langflow:
+        if disable_langflow_ingest:
             new_task_id = await _ingest_default_documents_openrag(

Also applies to: 113-113, 146-146

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/services/default_docs_service.py` at line 69, Read
get_openrag_config().knowledge.disable_ingest_with_langflow once at the start of
the ingestion entrypoint (e.g., public methods that begin URL/file ingestion
such as ingest_urls, ingest_files or the top-level process_ingestion in
default_docs_service.py), store it in a local boolean
(disable_ingest_with_langflow) and pass that boolean into all downstream helper
calls instead of calling get_openrag_config() repeatedly; update helper
signatures that currently read the flag internally to accept the boolean and
propagate it through the URL and file ingestion pipeline so the same snapshot is
used for the entire run.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/api/router.py`:
- Around line 117-125: The temp files in temp_file_paths are only removed on
error and are left behind after a successful call to
task_service.create_upload_task; after create_upload_task returns (i.e., when
task_id is obtained) you must unlink each path in temp_file_paths to avoid
leaking bytes. Modify the upload handler around create_upload_task to, on
success, iterate over temp_file_paths and remove/unlink them (ensure you use
safe remove semantics and log failures), referencing the create_upload_task call
and temp_file_paths list so cleanup always runs for the successful path without
changing DocumentFileProcessor or TaskService behavior.
- Around line 97-110: The issue is that safe_filename in the upload loop
produces non-unique temp_path values causing overwrites and collapsing keys into
file_path_to_original_filename and UploadTask.file_tasks; fix it by generating a
unique temp path per upload (e.g., use tempfile.NamedTemporaryFile(delete=False)
or tempfile.mkstemp to obtain a unique filename or append a uuid4/unique suffix
to safe_filename) in the loop where upload_files are processed, write the file
to that unique temp_path, and keep using that unique path as the key when
building file_path_to_original_filename and when creating UploadTask.file_tasks.

In `@src/config/config_manager.py`:
- Line 97: The system_prompt string contains incorrect repeated Langflow text
for OpenSearch and Docling in the "What is OpenRAG" answer; update the
system_prompt (variable name: system_prompt) so the three project descriptions
are accurate and distinct: set OpenSearch to a short description like
"OpenSearch – a community-driven, open source search and analytics suite
(https://opensearch.org/)" and Docling to a correct description like "Docling –
a tool for document ingestion and semantic search (https://www.docling.ai/)",
keeping Langflow's description and the embedded links intact and ensuring the
final quoted "What is OpenRAG" paragraph reflects these corrected descriptions.
- Around line 306-309: Remove the direct os.getenv(...) call in config_manager
(the block that sets config_data["knowledge"]["disable_ingest_with_langflow"])
and instead consume the value exported by config/settings.py (e.g., import the
Settings instance or constant like DISABLE_INGEST_WITH_LANGFLOW from
config.settings). Use the typed/settings value (already boolean or convert once
in settings) to assign config_data["knowledge"]["disable_ingest_with_langflow"]
rather than reading environment variables here. Ensure you reference the
config_manager function/class where config_data is built and import the
appropriate symbol from config.settings.

In `@src/models/processors.py`:
- Around line 459-462: When replace_duplicates is true and you delete the
existing document via delete_document_by_filename, the subsequent call to
process_document_standard may still see the old chunks because OpenSearch hasn't
refreshed; call a refresh on the index (using opensearch_client.indices.refresh
or the equivalent client method) right after delete_document_by_filename and
before process_document_standard calls check_document_exists(file_hash, ...) so
the deletion is visible. Apply the same refresh-after-delete step in the other
delete-before-replace branch referenced around the
process_document_standard/check_document_exists logic (the block covering lines
~474-485) to ensure the existence check reflects the deletion.

In `@tests/integration/core/test_api_endpoints.py`:
- Around line 231-236: Update the test to require the task-based ingestion
status (202) instead of accepting 201: in the test block that reads the response
body and assigns task_id, change the status assertion to expect 202 and keep the
subsequent checks for task_id (string), file_count == 1 and the call to
_wait_for_task_completion(client, task_id); this enforces the “always task-based
ingestion” contract referenced by the router test.

---

Outside diff comments:
In `@src/config/config_manager.py`:
- Around line 3-8: The import block in config_manager.py is not sorted per ruff
(I001); reorder imports into standard-library, third-party, then local groups
with a blank line between groups and alphabetize within groups. Specifically
move dataclasses/Path/os/typing imports into the stdlib group (e.g., from
dataclasses import dataclass, asdict, field; import os; from pathlib import
Path; from typing import Any, Dict, Optional), keep yaml as the third-party
import, and place from utils.logging_config import get_logger in the local
group; ensure single blank lines separate groups to satisfy ruff/isort
expectations.

---

Nitpick comments:
In `@src/services/default_docs_service.py`:
- Line 69: Read get_openrag_config().knowledge.disable_ingest_with_langflow once
at the start of the ingestion entrypoint (e.g., public methods that begin
URL/file ingestion such as ingest_urls, ingest_files or the top-level
process_ingestion in default_docs_service.py), store it in a local boolean
(disable_ingest_with_langflow) and pass that boolean into all downstream helper
calls instead of calling get_openrag_config() repeatedly; update helper
signatures that currently read the flag internally to accept the boolean and
propagate it through the URL and file ingestion pipeline so the same snapshot is
used for the entire run.
🪄 Autofix (Beta)

✅ Autofix completed


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b932e0d1-92ad-4721-991e-d8a8f6590222

📥 Commits

Reviewing files that changed from the base of the PR and between 2869a11 and ed62432.

📒 Files selected for processing (18)
  • frontend/app/api/mutations/useUpdateSettingsMutation.ts
  • frontend/app/api/queries/useGetSettingsQuery.ts
  • frontend/app/settings/_components/ingest-settings-section.tsx
  • src/api/connector_router.py
  • src/api/router.py
  • src/api/settings/endpoints.py
  • src/api/settings/models.py
  • src/app/container.py
  • src/config/config_manager.py
  • src/config/settings.py
  • src/models/processors.py
  • src/services/default_docs_service.py
  • src/services/flows_service.py
  • src/services/startup_orchestrator.py
  • src/services/task_service.py
  • tests/integration/core/test_api_endpoints.py
  • tests/unit/config/test_disable_ingest_setting.py
  • tests/unit/test_traditional_duplicate_handling.py

Comment thread src/api/router.py Outdated
Comment thread src/api/router.py
Comment thread src/config/config_manager.py Outdated
Comment thread src/config/config_manager.py Outdated
Comment thread src/models/processors.py
Comment thread tests/integration/core/test_api_endpoints.py
@github-actions github-actions Bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels May 18, 2026
@coderabbitai

coderabbitai Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Find all connector/langflow service files
fd -e py | grep -i "langflow\|connector"

echo "=== src/api/connector_router.py ==="
cat src/api/connector_router.py

echo ""
echo "=== List services directory ==="
find src/services -name "*.py" | sort

Length of output: 5517


🏁 Script executed:

#!/bin/bash
echo "=== src/api/connector_router.py ==="
cat src/api/connector_router.py

echo ""
echo "=== Services directory contents ==="
find src/services -name "*.py" | sort

echo ""
echo "=== Find langflow connector service ==="
fd -e py | xargs grep -l "langflow.*connector\|connector.*langflow\|LangflowConnector\|langflow_connector" 2>/dev/null | head -20

Length of output: 4147


🏁 Script executed:

#!/bin/bash
echo "=== src/connectors/langflow_connector_service.py ==="
cat src/connectors/langflow_connector_service.py

echo ""
echo "=== src/connectors/service.py ==="
cat src/connectors/service.py

Length of output: 36279


@edwinjosechittilappilly — Here is a detailed function-by-function comparison between LangflowConnectorService and ConnectorService (traditional path) for all sync-related functionality.


Sync parity analysis

1. sync_connector_files — Gaps found

Aspect LangflowConnectorService ConnectorService (traditional) Status
List files kwarg connector.list_files(page_token, limit=page_size) connector.list_files(page_token, max_files=page_size) ⚠️ Kwarg name mismatch
Filename filter Not supported filename_filter: set param — skips files deleted from the connector ❌ Feature absent in Langflow path
Task creation create_custom_task(...) create_custom_task(...)
original_filenames mapping

⚠️ Bug — kwarg mismatch: LangflowConnectorService passes limit=page_size while ConnectorService passes max_files=page_size when calling connector.list_files(). Unless the individual connectors accept both kwargs, one of these paths silently ignores the page-size cap.

filename_filter absent in Langflow path: ConnectorService.sync_connector_files accepts a filename_filter: set that prevents re-ingesting files that have been deleted from the connector (used during reconciliation). LangflowConnectorService has no equivalent — deleted-file prevention relies entirely on pre-delete logic at ingestion time.


2. sync_specific_files — Gaps found

Aspect LangflowConnectorService ConnectorService Status
Processor type LangflowConnectorFileProcessor ConnectorFileProcessor ✅ (correct per path)
ingest_settings forwarded to processor
cfg is None guard (IBM COS skip) if cfg is not None: — skips expansion if hasattr(connector, "cfg"): — same intent
ValueError re-raise ❌ Falls back silently if isinstance(e, ValueError): raise ❌ Langflow path swallows intentional errors
isFolder filtering in fallback file_infos ❌ Missing ✅ Filters f.get("isFolder") before fallback ❌ Langflow path may try to ingest folder items
finally block restores cfg

3. process_connector_document — Gaps found

Aspect LangflowConnectorService ConnectorService Status
ingest_settings accepted ✅ (chunkSize, chunkOverlap via merge_ui_ingest_settings_into_tweaks) ❌ No ingest_settings param
Pre-delete existing chunks before re-ingestion ✅ Step 0 — delete_by_query on filename ❌ Missing
Post-process metadata update (source_url, connector_type, created_time, modified_time, metadata) Via Langflow flow variables _update_connector_metadata (explicit update_by_query) ✅ Traditional path has richer metadata write-back
ACL update Via allowed_users/allowed_groups to Langflow update_document_acl in _update_connector_metadata
document_id propagation ✅ Explicit kwarg to run_ingestion_flow ✅ Used as file_hash in process_document_standard

Summary of actionable gaps

# File Gap Severity
1 src/connectors/service.py process_connector_document Missing ingest_settings forwarding → chunkSize/chunkOverlap/embeddingModel ignored 🔴 High
2 src/connectors/service.py process_connector_document No pre-delete of existing chunks before re-ingestion — causes duplicate chunks on resync 🔴 High
3 src/connectors/langflow_connector_service.py sync_connector_files limit= kwarg vs max_files= in traditional — page-size cap may be silently ignored in one path 🟡 Medium
4 src/connectors/langflow_connector_service.py sync_specific_files Swallows ValueError on folder-only selection instead of re-raising 🟡 Medium
5 src/connectors/langflow_connector_service.py sync_specific_files Fallback does not filter isFolder items from file_infos — may attempt to ingest folders 🟡 Medium
6 src/connectors/langflow_connector_service.py sync_connector_files filename_filter feature missing — cannot exclude deleted files during reconciliation 🟠 Low-Medium

Would you like me to open a GitHub issue to track these gaps?

@edwinjosechittilappilly

Copy link
Copy Markdown
Collaborator

@lucaseduoli I am testing this PR ATM.

@edwinjosechittilappilly

Copy link
Copy Markdown
Collaborator

Getting Error:

docling-serve response missing document.json_content

@github-actions github-actions Bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels May 20, 2026
@github-actions github-actions Bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels May 20, 2026
@github-actions github-actions Bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels May 20, 2026
@github-actions github-actions Bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels May 20, 2026
…on_disable

# Conflicts:
#	src/api/connector_router.py
#	src/connectors/langflow_connector_service.py
#	src/connectors/service.py
#	src/models/processors.py
#	src/models/tasks.py
#	src/session_manager.py
@github-actions github-actions Bot added enhancement 🔵 New feature or request and removed enhancement 🔵 New feature or request labels May 28, 2026
@edwinjosechittilappilly

Copy link
Copy Markdown
Collaborator

updating brnach to create PR into it

Ensure ACL and metadata updates target both Langflow and non-Langflow chunks by matching document IDs against multiple fields. Introduce _build_id_query and id_fields parameters to should_update_acl, update_document_acl, and batch_update_acls so updates can match document_id and connector_file_id. Stop overwriting chunk owner during ACL syncs (only allowed_users/allowed_groups are updated) and set owner at ingest to the syncing user in TaskProcessor. Adjust tests to expect the combined bool query and make minor typing/import/formatting cleanups.

@edwinjosechittilappilly edwinjosechittilappilly left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend 🔷 Issues related to backend services (OpenSearch, Langflow, APIs) enhancement 🔵 New feature or request frontend 🟨 Issues related to the UI/UX lgtm tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants