Skip to content

fix: Ingestion of buckets not working right after connection is tested (backport of #1942)#2019

Merged
ricofurtado merged 2 commits into
mainfrom
cpd-backport-1942-bucket-ingestion
Jul 3, 2026
Merged

fix: Ingestion of buckets not working right after connection is tested (backport of #1942)#2019
ricofurtado merged 2 commits into
mainfrom
cpd-backport-1942-bucket-ingestion

Conversation

@ricofurtado

@ricofurtado ricofurtado commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

Backport of #1942 from release-cpd to main.

main has since refactored the monolithic bucket-picker (BucketView in upload/[provider]/page.tsx) into a shared SharedBucketView component plus per-connector wrappers (frontend/components/connectors/aws-s3/bucket-view.tsx, frontend/enhancements/connectors/ibm-cos/components/bucket-view.tsx). Ported the original fix's actual behavior change — pre-selecting a connector's saved default buckets when opening the bucket picker — into that new structure:

  • SharedBucketView gains an initialSelectedBuckets prop and a one-time effect that pre-selects them once buckets load.
  • Both S3 and IBM COS wrappers now call their useXDefaultsQuery hook and pass initialSelectedBuckets through, gated on the defaults belonging to the currently connected connection.

The label/toast copy changes from the original PR were dropped — main already carries its own, more recent wording for both S3 and IBM COS settings screens, and applying the older CPD copy would have been a regression against that.

Test plan

  • tsc --noEmit clean on touched files

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Bucket selection now auto-populates with saved default buckets when opening supported connector views.
    • The app now remembers and preselects matching buckets after the bucket list loads, making setup faster.
  • Bug Fixes

    • Improved consistency so default bucket selections only apply when they belong to the currently opened connector.
    • Prevents overwriting an existing manual selection when buckets are already chosen.

…d - CPD #75506 (#1942)

* fix: update bucket ingestion messages for clarity and consistency

* fix: guard bucket pre-selection against connection ID mismatch

The defaults query returns the first S3/COS connection regardless of active
status. Only pre-select saved bucket_names when the defaults connection_id
matches the current connector.connectionId to avoid seeding the wrong
buckets if a stale connection exists alongside the active one.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

* fix: prevent defaults from overwriting user bucket selections

Two issues in the initial-selection effect:
1. hasAppliedInitial was only set when valid buckets were found, leaving the
   effect live across bucket refreshes and allowing stale defaults to overwrite
   selections made after a refetch.
2. No guard against the async race where buckets loads before initialSelectedBuckets:
   user clicks buckets, defaults arrive later and silently overwrite them.

Fix: mark hasAppliedInitial unconditionally on first evaluation, and only apply
defaults when selectedBuckets is still empty (user hasn't acted yet).

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>

---------

Co-authored-by: Claude Sonnet 4.6 <[email protected]>
(cherry picked from commit f3823b8)
@github-actions github-actions Bot added frontend 🟨 Issues related to the UI/UX bug 🔴 Something isn't working. labels Jul 3, 2026
@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Adds default-driven initial bucket selection to bucket views. SharedBucketView gains an optional initialSelectedBuckets prop applied once via useEffect when the current selection is empty. S3 and IBM COS bucket views fetch connector defaults and pass matching bucket names into this new prop.

Changes

Bucket pre-selection from connector defaults

Layer / File(s) Summary
SharedBucketView initial selection support
frontend/components/connectors/shared-bucket-view.tsx
Adds initialSelectedBuckets?: string[] to SharedBucketViewProps and a guarded useEffect (hasAppliedInitial ref) that pre-selects matching bucket names once, only when selection is empty.
S3 bucket view wiring
frontend/components/connectors/aws-s3/bucket-view.tsx
Calls useS3DefaultsQuery and passes defaults.bucket_names as initialSelectedBuckets when defaults.connection_id matches the connector, else undefined.
IBM COS bucket view wiring
frontend/enhancements/connectors/ibm-cos/components/bucket-view.tsx
Calls useIBMCOSDefaultsQuery and passes defaults.bucket_names as initialSelectedBuckets when defaults.connection_id matches the connector, else undefined.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
    participant BucketView as S3/IBM COS BucketView
    participant DefaultsQuery
    participant SharedBucketView

    BucketView->>DefaultsQuery: fetch connector defaults
    DefaultsQuery-->>BucketView: defaults (connection_id, bucket_names)
    BucketView->>SharedBucketView: initialSelectedBuckets (matched or undefined)
    SharedBucketView->>SharedBucketView: buckets loaded
    alt selection empty & not yet applied
        SharedBucketView->>SharedBucketView: filter initialSelectedBuckets against buckets
        SharedBucketView->>SharedBucketView: setSelectedBuckets, mark applied
    end
Loading

Possibly related PRs

  • langflow-ai/openrag#1942: Adds the same initialSelectedBuckets prop pattern populated from defaults.bucket_names and applied once after bucket load.

Suggested reviewers: Wallgau, mfortman11

🚥 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 accurately summarizes the main fix: restoring bucket ingestion after a connection test, and it matches the backported nature of the change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cpd-backport-1942-bucket-ingestion

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.

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

React Doctor found 6 new issues in 1 file · 6 warnings · score 85 / 100 (Great) · 0 fixed · vs main

6 warnings

components/connectors/shared-bucket-view.tsx

  • ⚠️ L37 Large component is hard to read and change no-giant-component
  • ⚠️ L72 Event logic handled in an effect no-event-handler
  • ⚠️ L73 Event logic handled in an effect no-event-handler
  • ⚠️ L76 Event logic handled in an effect no-event-handler
  • ⚠️ L81 Derived value copied into state no-derived-state
  • ⚠️ L85 Missing effect dependencies exhaustive-deps

Reviewed by React Doctor for commit bf01f6b. See inline comments for fixes.

@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 3, 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: 1

🧹 Nitpick comments (1)
frontend/components/connectors/aws-s3/bucket-view.tsx (1)

42-46: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Duplicate connection-matching logic across connector views.

The defaults?.connection_id === connector.connectionId ? defaults?.bucket_names : undefined pattern is duplicated verbatim in the IBM COS bucket view (frontend/enhancements/connectors/ibm-cos/components/bucket-view.tsx, lines 44-47). Consider extracting a small shared helper (e.g., getMatchingDefaultBuckets(defaults, connectionId)) to avoid drift between connectors as more providers are added.

🤖 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 `@frontend/components/connectors/aws-s3/bucket-view.tsx` around lines 42 - 46,
The bucket view is repeating the same connection-id match logic for selecting
initial buckets, which risks drift as more connector views are added. Extract
the conditional from the AWS S3 bucket view’s initialSelectedBuckets usage into
a shared helper such as getMatchingDefaultBuckets(defaults, connectionId), then
reuse that helper in both the AWS S3 and IBM COS bucket view components so the
matching behavior stays consistent in one place.
🤖 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 `@frontend/components/connectors/shared-bucket-view.tsx`:
- Around line 69-85: The useEffect in shared-bucket-view is suppressing
dependencies with an ESLint comment that Biome will ignore. Replace the
suppression near the bucket initialization effect with the proper Biome ignore
syntax, or include selectedBuckets in the dependency array if the effect should
re-run when it changes. Keep the fix localized to the useEffect that sets
initial bucket selection in SharedBucketView.

---

Nitpick comments:
In `@frontend/components/connectors/aws-s3/bucket-view.tsx`:
- Around line 42-46: The bucket view is repeating the same connection-id match
logic for selecting initial buckets, which risks drift as more connector views
are added. Extract the conditional from the AWS S3 bucket view’s
initialSelectedBuckets usage into a shared helper such as
getMatchingDefaultBuckets(defaults, connectionId), then reuse that helper in
both the AWS S3 and IBM COS bucket view components so the matching behavior
stays consistent in one place.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: d0344a3f-da5c-45a9-8bc6-0c40fba8d2ed

📥 Commits

Reviewing files that changed from the base of the PR and between bdd873f and 70160de.

📒 Files selected for processing (3)
  • frontend/components/connectors/aws-s3/bucket-view.tsx
  • frontend/components/connectors/shared-bucket-view.tsx
  • frontend/enhancements/connectors/ibm-cos/components/bucket-view.tsx

Comment on lines +69 to +85
useEffect(() => {
if (
!hasAppliedInitial.current &&
buckets?.length &&
initialSelectedBuckets?.length
) {
hasAppliedInitial.current = true;
if (selectedBuckets.size === 0) {
const valid = initialSelectedBuckets.filter((name) =>
buckets.some((b) => b.name === name),
);
if (valid.length) {
setSelectedBuckets(new Set(valid));
}
}
}
}, [buckets, initialSelectedBuckets]); // eslint-disable-line react-hooks/exhaustive-deps

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Confirm project lint tooling and existing suppression conventions
fd -e json -i biome
rg -n "eslint-disable" --type=tsx --type=ts -g 'frontend/**'
rg -n "biome-ignore" -g 'frontend/**'

Repository: langflow-ai/openrag

Length of output: 205


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== biome config =="
cat -n frontend/biome.json

echo
echo "== target file excerpt =="
sed -n '1,140p' frontend/components/connectors/shared-bucket-view.tsx | cat -n

echo
echo "== existing suppression conventions =="
rg -n --glob 'frontend/**/*.{ts,tsx,js,jsx,json}' 'eslint-disable|biome-ignore' frontend

Repository: langflow-ai/openrag

Length of output: 10330


🌐 Web query:

Biome eslint-disable-line react-hooks/exhaustive-deps support suppression comments useExhaustiveDependencies

💡 Result:

Biome does not use the ESLint-specific eslint-disable-line comment syntax [1]. Instead, Biome uses its own suppression system based on biome-ignore comments [1]. To suppress the useExhaustiveDependencies rule, you can use the following syntax: // biome-ignore lint/correctness/useExhaustiveDependencies: reason for suppression useEffect( => { //... }, []); Additionally, Biome allows you to ignore specific dependencies by specifying them in parentheses within the suppression comment [2]. This is useful if you only want to suppress the diagnostic for a particular variable without disabling the entire rule for that hook [2]: // biome-ignore lint/correctness/useExhaustiveDependencies(variableName): suppress dependency variableName useEffect( => { console.log(variableName); }, []); If you need to ignore multiple dependencies, you can provide multiple suppression comments [2]: // biome-ignore lint/correctness/useExhaustiveDependencies(a): suppress dependency a // biome-ignore lint/correctness/useExhaustiveDependencies(b): suppress dependency b useEffect( => { console.log(a, b); }, []); Biome official documentation emphasizes that suppressing this rule carries a high risk because it allows you to bypass React's dependency safety checks, so it is recommended to adjust your code rather than suppressing the rule when possible [2].

Citations:


Replace the ESLint suppression with Biome syntax
frontend/components/connectors/shared-bucket-view.tsx:85 won’t suppress useExhaustiveDependencies under Biome. Use a Biome ignore comment here, or add selectedBuckets to the dependency list if that’s the intended behavior.

🤖 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 `@frontend/components/connectors/shared-bucket-view.tsx` around lines 69 - 85,
The useEffect in shared-bucket-view is suppressing dependencies with an ESLint
comment that Biome will ignore. Replace the suppression near the bucket
initialization effect with the proper Biome ignore syntax, or include
selectedBuckets in the dependency array if the effect should re-run when it
changes. Keep the fix localized to the useEffect that sets initial bucket
selection in SharedBucketView.

Source: Path instructions

@github-actions github-actions Bot added bug 🔴 Something isn't working. and removed bug 🔴 Something isn't working. labels Jul 3, 2026
initialSelectedBuckets?: string[];
}

export function SharedBucketView({

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.

React Doctor · react-doctor/no-giant-component (warning)

Component "SharedBucketView" is 313 lines long, which is hard to read & change. Split it into a few smaller components.

Fix → Pull each section into its own component so the parent is easier to read, test, and change.

Docs

useEffect(() => {
if (
!hasAppliedInitial.current &&
buckets?.length &&

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.

React Doctor · react-doctor/no-event-handler (warning)

Faking an event handler with a prop plus a useEffect costs an extra render & runs late.

Fix → Run the side effect in the event handler that triggers it, instead of watching its state from a useEffect. See https://react.dev/learn/you-might-not-need-an-effect#sharing-logic-between-event-handlers

Docs

if (
!hasAppliedInitial.current &&
buckets?.length &&
initialSelectedBuckets?.length

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.

React Doctor · react-doctor/no-event-handler (warning)

Faking an event handler with a prop plus a useEffect costs an extra render & runs late.

Fix → Run the side effect in the event handler that triggers it, instead of watching its state from a useEffect. See https://react.dev/learn/you-might-not-need-an-effect#sharing-logic-between-event-handlers

Docs

initialSelectedBuckets?.length
) {
hasAppliedInitial.current = true;
if (selectedBuckets.size === 0) {

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.

React Doctor · react-doctor/no-event-handler (warning)

Faking an event handler with state plus a useEffect costs an extra render & runs late.

Fix → Run the side effect in the event handler that triggers it, instead of watching its state from a useEffect. See https://react.dev/learn/you-might-not-need-an-effect#sharing-logic-between-event-handlers

Docs

buckets.some((b) => b.name === name),
);
if (valid.length) {
setSelectedBuckets(new Set(valid));

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.

React Doctor · react-doctor/no-derived-state (warning)

Storing "selectedBuckets" in state when you can derive it from other values costs an extra render.

Fix → Work out the value while rendering (or with useMemo if it's expensive) instead of copying it into useState through a useEffect. See https://react.dev/learn/you-might-not-need-an-effect#updating-state-based-on-props-or-state

Docs

}
}
}
}, [buckets, initialSelectedBuckets]); // eslint-disable-line react-hooks/exhaustive-deps

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.

React Doctor · react-doctor/exhaustive-deps (warning)

useEffect can run with a stale selectedBuckets.size & show your users old data.

Fix → Don't blindly add missing dependencies. Read the hook callback first.

Bad:
useEffect(() => {
setCount(count + 1);
}, [count]);

Better:
useEffect(() => {
setCount((currentCount) => currentCount + 1);
}, []);

If the missing value is recreated every render, move it inside the hook or stabilize it before adding it to deps.

Docs

@github-actions github-actions Bot added the lgtm label Jul 3, 2026
@ricofurtado ricofurtado merged commit 36f115f into main Jul 3, 2026
23 checks passed
@github-actions github-actions Bot deleted the cpd-backport-1942-bucket-ingestion branch July 3, 2026 21:13
ricofurtado added a commit that referenced this pull request Jul 5, 2026
…to release-saas-ga-0.6.2 (#2021)

* fix: error in skip duplicates functionality for folder ingest for connectors (backport of #1941) (#2018)

* fix: error in skip duplicates functionality for folder ingest for connectors 75616(#1842) (#1941)

* fix: enhance duplicate handling and indexing for connector file uploads

* style: ruff autofix (auto)

* fix: improve duplicate handling in connector sync functionality

* chore: trigger CodeRabbit

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
(cherry picked from commit effaf02)

* style: ruff autofix (auto)

* fix: remove duplicate test definitions from main merge

The automated merge-from-main on this branch concatenated two tests
(test_connector_processor_indexes_cleaned_filename,
test_langflow_connector_processor_uses_cleaned_filename) that already
existed under both names, tripping ruff F811. Keep one copy of each,
preferring the version wired with connector_id_exists=True to match
current check_document_exists behavior.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
(cherry picked from commit 286e9db)

* fix: Ingestion of buckets not working right after connection is tested - CPD #75506 (#1942) (#2019)

* fix: update bucket ingestion messages for clarity and consistency

* fix: guard bucket pre-selection against connection ID mismatch

The defaults query returns the first S3/COS connection regardless of active
status. Only pre-select saved bucket_names when the defaults connection_id
matches the current connector.connectionId to avoid seeding the wrong
buckets if a stale connection exists alongside the active one.

* fix: prevent defaults from overwriting user bucket selections

Two issues in the initial-selection effect:
1. hasAppliedInitial was only set when valid buckets were found, leaving the
   effect live across bucket refreshes and allowing stale defaults to overwrite
   selections made after a refetch.
2. No guard against the async race where buckets loads before initialSelectedBuckets:
   user clicks buckets, defaults arrive later and silently overwrite them.

Fix: mark hasAppliedInitial unconditionally on first evaluation, and only apply
defaults when selectedBuckets is still empty (user hasn't acted yet).

---------

(cherry picked from commit f3823b8)

Co-authored-by: Claude Sonnet 4.6 <[email protected]>
(cherry picked from commit 36f115f)

* fix: handle orphan files and return appropriate responses when syncing connectors (#1785) (#2016)

* feat: handle orphan files and return appropriate responses when syncing connectors

* feat: refactor GoogleDriveOAuth to separate required scopes and add handling for missing optional group scopes in tests

* style: ruff autofix (auto)

* feat: add handling for skipped files and warnings in task processing and UI components

---------

(cherry picked from commit aca865a)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
(cherry picked from commit 79b33f0)

* fix: enhance error handling for document processing and add OCR requirement check for image files (#1859) (#2017)

* fix: enhance error handling for document processing and add OCR requirement check for image files

* style: ruff autofix (auto)

* remove clickhouse connect from langflow image (#1801)

* chore: fix ci (#1889)

* Update processors.py

* test fix

* fix ci

---------

(cherry picked from commit a286581)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <[email protected]>
Co-authored-by: Edwin Jose <[email protected]>
(cherry picked from commit 4c6acd8)

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Co-authored-by: Lucas Oliveira <[email protected]>
Co-authored-by: Edwin Jose <[email protected]>
lucaseduoli added a commit that referenced this pull request Jul 7, 2026
…model option (#2031)

* fix: remediate image_scan CVEs in backend, frontend, and langflow images (#2000)

* fix light color text catergory chips in light mode (#2013)

Co-authored-by: Olfa Maslah <[email protected]>

* fix: upgraded version of docling (#1995)

* changed version of docling

* fix logs not being the correct ones

* go back to sequential building to save space

* add cache to builds

* remove single use results from docling manager

* revert single use results

* change the ray tenant id header

* added env

* changed cache to hit if no changes were made

* fix hash for cache

* style: ruff autofix (auto)

* fixed coderabbit

* style: ruff autofix (auto)

* added comment on docling manager

* style: ruff autofix (auto)

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* feat: add chunk level page source (#2015)

* Changed export docling document to append page number

* update result on frontend to append page number

* document how to get page number in readmes

* Update flows/components/export_docling_document.py

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update flows/components/export_docling_document.py

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: apply CodeRabbit auto-fixes

Fixed 1 file(s) based on 1 unresolved review comment.

Co-authored-by: CodeRabbit <[email protected]>

* update component code

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: CodeRabbit <[email protected]>

* fix: error in skip duplicates functionality for folder ingest for connectors (backport of #1941) (#2018)

* fix: error in skip duplicates functionality for folder ingest for connectors 75616(#1842) (#1941)

* fix: enhance duplicate handling and indexing for connector file uploads

* style: ruff autofix (auto)

* fix: improve duplicate handling in connector sync functionality

* chore: trigger CodeRabbit

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
(cherry picked from commit effaf02)

* style: ruff autofix (auto)

* fix: remove duplicate test definitions from main merge

The automated merge-from-main on this branch concatenated two tests
(test_connector_processor_indexes_cleaned_filename,
test_langflow_connector_processor_uses_cleaned_filename) that already
existed under both names, tripping ruff F811. Keep one copy of each,
preferring the version wired with connector_id_exists=True to match
current check_document_exists behavior.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: Ingestion of buckets not working right after connection is tested - CPD #75506 (#1942) (#2019)

* fix: update bucket ingestion messages for clarity and consistency

* fix: guard bucket pre-selection against connection ID mismatch

The defaults query returns the first S3/COS connection regardless of active
status. Only pre-select saved bucket_names when the defaults connection_id
matches the current connector.connectionId to avoid seeding the wrong
buckets if a stale connection exists alongside the active one.



* fix: prevent defaults from overwriting user bucket selections

Two issues in the initial-selection effect:
1. hasAppliedInitial was only set when valid buckets were found, leaving the
   effect live across bucket refreshes and allowing stale defaults to overwrite
   selections made after a refetch.
2. No guard against the async race where buckets loads before initialSelectedBuckets:
   user clicks buckets, defaults arrive later and silently overwrite them.

Fix: mark hasAppliedInitial unconditionally on first evaluation, and only apply
defaults when selectedBuckets is still empty (user hasn't acted yet).



---------


(cherry picked from commit f3823b8)

Co-authored-by: Claude Sonnet 4.6 <[email protected]>

* fix: handle orphan files and return appropriate responses when syncing connectors (#1785) (#2016)

* feat: handle orphan files and return appropriate responses when syncing connectors

* feat: refactor GoogleDriveOAuth to separate required scopes and add handling for missing optional group scopes in tests

* style: ruff autofix (auto)

* feat: add handling for skipped files and warnings in task processing and UI components

---------


(cherry picked from commit aca865a)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: enhance error handling for document processing and add OCR requirement check for image files (#1859) (#2017)

* fix: enhance error handling for document processing and add OCR requirement check for image files

* style: ruff autofix (auto)

* remove clickhouse connect from langflow image (#1801)

* chore: fix ci (#1889)

* Update processors.py

* test fix

* fix ci

---------




(cherry picked from commit a286581)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Lucas Oliveira <[email protected]>
Co-authored-by: Edwin Jose <[email protected]>

* fix: bump golang.org/x/net to v0.55.0 to remediate CVE-2026-25680 and CVE-2026-39821 (#2014)

* feat: add new design for messages and add inline references (#2020)

* update opensearch multimodal and flows to support parser, chunk size and chunk overlap

* update backend to support citations and chunk metadata

* update frontend to support citations and metadata, implement new design for assistant message

* changed the prompt for the agent

* changed the prompt for the agent

* remove hallucinated chunk references

* adjust design of citations and where popover appears

* adjusted design for message, popover and cards

* fix React Doctor picks

* fix: apply CodeRabbit auto-fixes

Fixed 5 file(s) based on 4 unresolved review comments.

Co-authored-by: CodeRabbit <[email protected]>

* style: apply biome auto-fixes [skip ci]

* updated colors in ibm mode

* fixed react doctor picks

* added correct type and validation for function calls

* remove style for message when on onboarding

* fix message not being w full

* remove search query in end of the message

* change popup to use shadcn popover

* fix coderabbit's suggestion

* increase prompt limit

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: CodeRabbit <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* apply new settings on retry (#2010)

* fix: preserve HTTPException status in update_docling_preset (#1586) (#2004)

* fix: report actual synced connection count in connector_sync (#1547) (#2006)

* fix: restore LLM model values in reapply_all_settings fallback (#1587) (#2008)

* fix: prevent partial matches for exact token searches (#2003)

* fix: prevent partial matches for exact token searches (#1937)

* style: ruff autofix (auto)

* chore: remove unused json import

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: target agent component when updating chat flow system prompt (#2001)

* fix: target langflow agent component for system prompt update instead of provider LLM component

Signed-off-by: vchen7629 <[email protected]>

* fix: removed unused llm_provider arg from _update_langflow_system_prompt

Signed-off-by: vchen7629 <[email protected]>

* test: add unit tests for update_chat_flow_system_prompt

Signed-off-by: vchen7629 <[email protected]>

* style: ruff autofix (auto)

* fix(test): resolve flow path relative to repo root in test_langflow_agent_system_prompt

Signed-off-by: vchen7629 <[email protected]>

* style: ruff autofix (auto)

---------

Signed-off-by: vchen7629 <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: replaced hardcoded docker.io prefix with a env variable prefix for private repo compatibility (#2002)

Signed-off-by: vchen7629 <[email protected]>

* fix: resolve Pydantic delta serialization warnings in agent streaming (#2005)

* fix: updated agent model dump to exclude delta field

Signed-off-by: vchen7629 <[email protected]>

* test: added regression unit test to verify response field + no warnings

* style: ruff autofix (auto)

* test: added additional unit test to verify that model_dump without exclusion raises the warning

Signed-off-by: vchen7629 <[email protected]>

* style: ruff autofix (auto)

* test: tighten delta warning assertion to match specific Pydantic error

Signed-off-by: vchen7629 <[email protected]>

* style: ruff autofix (auto)

---------

Signed-off-by: vchen7629 <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: prevent exception details from leaking in API error responses (#2007)

* fix: removed str(e) in exceptions to prevent internals from leaking

Signed-off-by: vchen7629 <[email protected]>

* style: ruff autofix (auto)

* fix: added missing status_code

Signed-off-by: vchen7629 <[email protected]>

* style: ruff autofix (auto)

---------

Signed-off-by: vchen7629 <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* Changed docling options to include local support and be shown in the Langflow tab

* style: ruff autofix (auto)

* enable ollama and delete unused file

* fix next lint

---------

Signed-off-by: vchen7629 <[email protected]>
Co-authored-by: Gautham N Pai <[email protected]>
Co-authored-by: Wallgau <[email protected]>
Co-authored-by: Olfa Maslah <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: CodeRabbit <[email protected]>
Co-authored-by: Rico Furtado <[email protected]>
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Co-authored-by: Edwin Jose <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mike Fortman <[email protected]>
Co-authored-by: hunterxtang <[email protected]>
Co-authored-by: NishadA05 <[email protected]>
Co-authored-by: Zephyrus <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug 🔴 Something isn't working. frontend 🟨 Issues related to the UI/UX lgtm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants