Skip to content

fix(auth): Disallow refresh token access to API endpoints (release 1.7.0)#10873

Closed
mpawlow wants to merge 22 commits into
mainfrom
mp_LFOSS-2917_refresh-token-fix_release-1.7.0
Closed

fix(auth): Disallow refresh token access to API endpoints (release 1.7.0)#10873
mpawlow wants to merge 22 commits into
mainfrom
mp_LFOSS-2917_refresh-token-fix_release-1.7.0

Conversation

@mpawlow
Copy link
Copy Markdown
Contributor

@mpawlow mpawlow commented Dec 3, 2025

Related PR

Summary by CodeRabbit

  • New Features

    • Added enhanced file and document processing with improved parsing capabilities.
    • Improved structured output generation with multiple extraction pathways.
  • Improvements

    • Enhanced session management across chat components for better context handling.
    • Upgraded component documentation links and references.
    • Refined data serialization and input validation for robustness.
  • Dependencies

    • Updated project dependencies to latest compatible versions.

✏️ Tip: You can customize this high-level summary in your review settings.

mendonk and others added 22 commits November 25, 2025 10:34
* Revert "Revert "docs: update component documentation links to individual pages""

This reverts commit 0bc27d6.

* [autofix.ci] apply automated fixes

* llm-selector-renamed

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* Apply suggestions from code review

* [autofix.ci] apply automated fixes

* Apply suggestions from code review

* [autofix.ci] apply automated fixes

* rebuild-component-index

* update-component-index

* [autofix.ci] apply automated fixes

* build-index

* [autofix.ci] apply automated fixes

---------

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

* fix: resolved merge conflict

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* fix: create a new message to avoid mutating shared instances

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* fix: resolved merge conflict

* [autofix.ci] apply automated fixes

* fix: resolved merge conflict

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* fix: added a check for using exisiting message object

* fix: remove unwanted import

* fix: resolve merge conflict

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* fix: add None checks to prevent errors

* fix: resolve merge conflict

* [autofix.ci] apply automated fixes

* fix: backend unit test

* fix: resolve merge conflict

* [autofix.ci] apply automated fixes

* fix: ruff styling errors

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* feat: optimize dropdown filtering and output resolution

misc: remove commented out code

feat: add refresh button and sort flows by updated_at date from most to least recent

ruff (flow.py imports)

improve fn contracts in runflow and improve flow id retrieval logic based on graph exec context

add dynamic outputs and optimize db lookups

add flow cache and db query for getting a single flow by id or name

cache run outputs and add refresh context to build config

misc

misc

use ids for flow retrieval

misc

fix missing flow_id bug

add unit and integration tests

add input field flag to persist hidden fields at runtime

move unit tests and change input and output display names

chore: update component index

fix: fix tool mode when flow has multiple inputs by dynamically creating resolvers

chore: update component index

ruff (run_flow and tests)

add resolvers to outputs map for non tool mode runtime

fix tests (current flow excluded in db fetch)

mypy (helpers/flow.py)

chore: update component index

remove unused code and clean up comments

fix: persist user messages in chat-based flows via session injection

chore: update component index

empty string fallback for sessionid in chat.py

chore: update component index

chore: update component index

cache invalidation with timestamps

misc

add cache invalidation

chore: update component index

chore: update comp idx

ruff (run_flow.py)

change session_id input type to MessageTextInput

chore: update component index

chore: update component index

chore: update component index

chore: update component index

sync starter projects with main

chore: update component index

chore: update component index

chore: update component index

remove dead code + impl coderabbit suggestions

chore: update component index

chore: update component index

clear options metadata before updating

chore: update component index

sync starter projects with main

sync starter projects with main

default param val (list flows)

* chore: update component index

* add integration tests

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

---------

Co-authored-by: Cristhian Zanforlin <criszl@192.168.15.88>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…ls (#10806)

* use existing event loop instead of recreating when calling mcp tools

* component index

* [autofix.ci] apply automated fixes

* starter projects

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* removed unnecessary buttons on the flows page

* added the asChild prop and hid button so they are not accessible by tabbing

* added tab index to ensure that buttons as not selectable using the tab

* made sure that accessibility is possible one bulk selection is enabled

* made sure that accessibility is possible one bulk selection is enabled

* Fix: added testcases and refactor

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* remove console warnings

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: mask value to hide null field being returned

* [autofix.ci] apply automated fixes

* fix: added testcase and updated functionality

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>
#10827)

Fix: Allow refresh list button to stay stagnant while zoom (Safari) (#10777)

* remove sticky as it was causing the refresh list to float on safari

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: Ollama model list fails to load in Agent and Ollama components

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* fix: made sure the tab is visible

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* Fix: added typing

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* fix: added testcases

* fix: added handleOnValue change function and created a helper file

---------

Co-authored-by: Olayinka Adelakun <olayinkaadelakun@mac.war.can.ibm.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Olayinka Adelakun <olayinkaadelakun@Olayinkas-MacBook-Pro.local>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: Sami Marreed <sami.marreed@ibm.com>
Remove DataFrameToToolsetComponent and related tests

Deleted the DataFrameToToolsetComponent implementation, its import/registration in the processing module, and all associated unit tests. This cleans up unused code and test files related to converting DataFrame rows into toolset actions.
fix: Proper parsing of GCP credentials JSON (#10828)

* fix: Proper parsing of GCP credentials JSON

* Update save_file.py

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* Update test_save_file_component.py

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* Fix GCP issues

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* Update test_save_file_component.py

* Update save_file.py

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* Update save_file.py

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* Update save_file.py

* Fix ruff errors

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* [autofix.ci] apply automated fixes (attempt 3/3)

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
@mpawlow mpawlow requested a review from Adam-Aghili December 3, 2025 22:25
@mpawlow mpawlow self-assigned this Dec 3, 2025
@github-actions github-actions Bot added the community Pull Request from an external contributor label Dec 3, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Dec 3, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This PR updates dependencies (cuga and agent-lifecycle-toolkit), adds secrets baseline entries for starter project JSONs, implements a feature-flag guard for an API endpoint, introduces new flow listing helper functions, and extensively updates starter project template files with enhanced ChatInput/ChatOutput logic, session handling, documentation URLs, and version bumps.

Changes

Cohort / File(s) Summary
Dependency updates
pyproject.toml
Updated cuga from ==0.1.10 to ~=0.1.11 and agent-lifecycle-toolkit from ~=0.4.1 to ~=0.4.4
Secrets baseline
.secrets.baseline
Added Hex High Entropy String entries for six starter project JSON files (Document Q&A, News Aggregator, Portfolio Website Code Generator, Research Translation Loop, Text Sentiment Analysis, Vector Store RAG)
API feature gating
src/backend/base/langflow/api/v1/endpoints.py
Added runtime feature-flag guard to simplified_run_flow_session endpoint; returns HTTP 404 when agentic_experience feature is disabled
Flow helper functions
src/backend/base/langflow/helpers/flow.py
Added three new async helpers (list_flows_by_flow_folder, list_flows_by_folder_id, get_flow_by_id_or_name) for querying flows with optional sorting; introduced SORT_DISPATCHER mapping for ASC/DESC operations
Starter project updates (core templates)
src/backend/base/langflow/initial_setup/starter_projects/Basic Prompt*.json, Blog Writer.json, Custom Component Generator.json
Updated ChatInput/ChatOutput with session ID fallback logic (self.session_id → graph.session_id → ""), enhanced message response handling, documentation URLs updated to /chat-input-and-output references, FastAPI version bumped to 0.123.0
Starter project updates (document processing)
src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json
Major File component overhaul adding Docling integration with subprocess-based processing, new methods (load_files_dataframe, load_files_markdown, process_files), advanced options (OCR engine, MD placeholders), and updated dependencies (langchain_core, pydantic)
Starter project updates (structured output)
src/backend/base/langflow/initial_setup/starter_projects/Financial Report Parser.json, Image Sentiment Analysis.json
Enhanced StructuredOutputComponent with Trustcall-first pathway (fallback to LangChain), new methods (_build_source, _serialize_data, _validate_input, convert_to_string), improved error handling and data extraction
Starter project updates (additional flows)
src/backend/base/langflow/initial_setup/starter_projects/Instagram Copywriter.json, Invoice Summarizer.json, Knowledge Ingestion.json, Knowledge Retrieval.json, Meeting Summary.json, Memory Chatbot.json, Price Deal Finder.json, Research Agent.json, Research Translation Loop.json, SEO Keyword Generator.json, SaaS Pricing.json
Consistent updates: session ID handling in ChatInput/ChatOutput, documentation URL standardization, code_hash metadata updates, FastAPI 0.123.0, langchain_cohere dependency bumps, enhanced message response logic and source construction

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • src/backend/base/langflow/helpers/flow.py: New async query functions with SQLAlchemy aliasing and sorting logic; verify error handling for invalid sessions and database edge cases
  • Document Q&A.json (File component): Docling subprocess integration is substantial; review IPC/JSON serialization, error propagation from subprocess, path validation, and S3 file handling logic
  • Multiple starter project JSONs: Repetitive session ID fallback patterns across 11+ files; verify consistency of session_id derivation (self.session_id → graph.session_id → "") and conditional message storage logic
  • StructuredOutputComponent updates: Trustcall-first with LangChain fallback and BaseModel conversion; ensure error handling and output wrapping (Data vs. DataFrame) are robust
  • Endpoint feature gating (endpoints.py): Verify the feature flag condition and HTTP 404 response alignment with intended access control

Possibly related PRs

Suggested labels

bug, lgtm

Suggested reviewers

  • Adam-Aghili
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch mp_LFOSS-2917_refresh-token-fix_release-1.7.0

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1bb048a and 5b09d60.

⛔ Files ignored due to path filters (2)
  • src/frontend/package-lock.json is excluded by !**/package-lock.json
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (22)
  • .secrets.baseline (1 hunks)
  • pyproject.toml (1 hunks)
  • src/backend/base/langflow/api/v1/endpoints.py (1 hunks)
  • src/backend/base/langflow/helpers/flow.py (3 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Basic Prompt Chaining.json (5 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Basic Prompting.json (5 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Blog Writer.json (9 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Custom Component Generator.json (7 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Document Q&A.json (8 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Financial Report Parser.json (9 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Image Sentiment Analysis.json (7 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Instagram Copywriter.json (9 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Invoice Summarizer.json (7 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Knowledge Ingestion.json (5 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Knowledge Retrieval.json (6 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Meeting Summary.json (13 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Memory Chatbot.json (7 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Price Deal Finder.json (7 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json (7 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/Research Translation Loop.json (11 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/SEO Keyword Generator.json (3 hunks)
  • src/backend/base/langflow/initial_setup/starter_projects/SaaS Pricing.json (7 hunks)

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.

@mpawlow mpawlow closed this Dec 3, 2025
@github-actions github-actions Bot added the bug Something isn't working label Dec 3, 2025
@mpawlow mpawlow deleted the mp_LFOSS-2917_refresh-token-fix_release-1.7.0 branch December 3, 2025 22:26
@github-actions github-actions Bot removed the bug Something isn't working label Dec 3, 2025
@github-actions github-actions Bot added the bug Something isn't working label Dec 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working community Pull Request from an external contributor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants