refactor: Update template notes#8816
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThe updates modify the JSON configurations for four "starter project" flows by regenerating node and edge IDs, updating some metadata fields, adjusting UI-related properties, and revising README note content. API key loading defaults are changed to not load from the database, and note nodes with setup instructions are streamlined or removed. No logic or component behavior is changed. Changes
Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate Unit Tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
mendonk
left a comment
There was a problem hiding this comment.
I pushed some small changes but they LGTM.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (7)
src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json (1)
923-926: Fix typo in README note
"coimponent"→"component"
Spelling mistakes in customer-facing docs look unpolished.- - Add your **Tavily API Key** to the Tavily AI Search coimponent. + - Add your **Tavily API Key** to the Tavily AI Search component.src/backend/base/langflow/initial_setup/starter_projects/Travel Planning Agents.json (1)
805-806: Correct the list numbering inside the README note.The “Quickstart” list goes
1., 2., 2..
Update the last entry to3.to avoid rendering quirks in Markdown viewers.-2. Run the flow in the **Playground**. +3. Run the flow in the **Playground**.src/backend/base/langflow/initial_setup/starter_projects/News Aggregator.json (3)
149-174: Ditto – second tiny note (note-iTnRZ) remains.Same concern as above: this AgentQL-key note makes the total note count = 3. Consider deleting or merging into the headline note to stay consistent with the stated simplification.
862-867:selected: truewill ship the big note pre-selected.Leaving a node in the selected state is harmless at runtime but looks odd on first load (blue border, focus issues).
Flip it back tofalseafter editing.- "selected": true, + "selected": false,
239-248: Good call turning offload_from_db; consider restoring a placeholder.Security-wise, disabling automatic key loading and blanking the default value is 👍.
To preserve a hint for new users, you might still keep a non-sensitive placeholder such as"YOUR_AGENTQL_API_KEY"(it shows greyed-out in the UI but is never saved).- "placeholder": "", + "placeholder": "YOUR_AGENTQL_API_KEY", "required": true, "show": true, "title_case": false, "type": "str", - "value": "" + "value": ""src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json (2)
2969-2975: Unset the lingeringdragging: trueflag
This node was saved while being dragged; reopening the flow can lead to a “stuck-drag” glitch in the UI.- "dragging": true, + "dragging": false,
3835-3839: Viewport starts far from the canvas — consider resetting
Initialx / yoffsets (1533 / 1073) +zoom < 1land most users in an empty area until they pan. Resetting to something closer to(0,0,1)improves first-open experience.- "x": 1533.7052263026967, - "y": 1073.77865240331, - "zoom": 0.6664527015753855 + "x": 0, + "y": 0, + "zoom": 1
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
src/backend/base/langflow/initial_setup/starter_projects/News Aggregator.json(19 hunks)src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json(25 hunks)src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json(33 hunks)src/backend/base/langflow/initial_setup/starter_projects/Travel Planning Agents.json(20 hunks)
🧰 Additional context used
🧠 Learnings (5)
📓 Common learnings
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Starter project files are auto-formatted after langflow run; these changes can be committed or ignored
Learnt from: ogabrielluiz
PR: langflow-ai/langflow#0
File: :0-0
Timestamp: 2025-06-26T19:43:18.260Z
Learning: In langflow custom components, the `module_name` parameter is now propagated through template building functions to add module metadata and code hashes to frontend nodes for better component tracking and debugging.
src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json (6)
undefined
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Starter project files are auto-formatted after langflow run; these changes can be committed or ignored
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/frontend_development.mdc:0-0
Timestamp: 2025-06-23T12:46:42.048Z
Learning: Custom React Flow node types should be implemented as memoized components, using Handle components for connection points and supporting optional icons and labels.
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/icons.mdc:0-0
Timestamp: 2025-06-23T12:46:52.420Z
Learning: When implementing a new component icon in Langflow, ensure the icon name is clear, recognizable, and used consistently across both backend (Python 'icon' attribute) and frontend (React/TypeScript mapping).
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/frontend_development.mdc:0-0
Timestamp: 2025-06-23T12:46:42.048Z
Learning: React Flow should be used for flow graph visualization, with nodes and edges passed as props, and changes handled via onNodesChange and onEdgesChange callbacks.
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-06-30T14:41:58.837Z
Learning: Applies to {src/backend/tests//*.py,tests//*.py} : Test Langflow's 'Message' objects and chat functionality by asserting correct properties and structure.
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-06-30T14:41:58.837Z
Learning: Applies to {src/backend/tests//*.py,tests//*.py} : Use 'MockLanguageModel' for testing language model components without external API calls.
</retrieved_learning>
src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json (4)
undefined
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Starter project files are auto-formatted after langflow run; these changes can be committed or ignored
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/frontend_development.mdc:0-0
Timestamp: 2025-06-23T12:46:42.048Z
Learning: Custom React Flow node types should be implemented as memoized components, using Handle components for connection points and supporting optional icons and labels.
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/frontend_development.mdc:0-0
Timestamp: 2025-06-23T12:46:42.048Z
Learning: React Flow should be used for flow graph visualization, with nodes and edges passed as props, and changes handled via onNodesChange and onEdgesChange callbacks.
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-06-30T14:41:58.837Z
Learning: Applies to {src/backend/tests//*.py,tests//*.py} : Test Langflow's 'Message' objects and chat functionality by asserting correct properties and structure.
</retrieved_learning>
src/backend/base/langflow/initial_setup/starter_projects/News Aggregator.json (2)
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/frontend_development.mdc:0-0
Timestamp: 2025-06-23T12:46:42.048Z
Learning: Custom React Flow node types should be implemented as memoized components, using Handle components for connection points and supporting optional icons and labels.
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/frontend_development.mdc:0-0
Timestamp: 2025-06-23T12:46:42.048Z
Learning: React Flow should be used for flow graph visualization, with nodes and edges passed as props, and changes handled via onNodesChange and onEdgesChange callbacks.
src/backend/base/langflow/initial_setup/starter_projects/Travel Planning Agents.json (4)
undefined
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-06-30T14:39:17.428Z
Learning: Starter project files are auto-formatted after langflow run; these changes can be committed or ignored
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/frontend_development.mdc:0-0
Timestamp: 2025-06-23T12:46:42.048Z
Learning: Custom React Flow node types should be implemented as memoized components, using Handle components for connection points and supporting optional icons and labels.
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/frontend_development.mdc:0-0
Timestamp: 2025-06-23T12:46:42.048Z
Learning: React Flow should be used for flow graph visualization, with nodes and edges passed as props, and changes handled via onNodesChange and onEdgesChange callbacks.
</retrieved_learning>
<retrieved_learning>
Learnt from: CR
PR: langflow-ai/langflow#0
File: .cursor/rules/frontend_development.mdc:0-0
Timestamp: 2025-06-30T14:40:29.494Z
Learning: Applies to src/frontend/src/components/**/*FlowGraph.tsx : Use React Flow for flow graph visualization components.
</retrieved_learning>
🔇 Additional comments (6)
src/backend/base/langflow/initial_setup/starter_projects/Research Agent.json (2)
26-32: Edge IDs contain non-ASCII “œ” characters – double-check downstream toolingAll newly generated
reactflow__edge-…IDs embed literalœdelimiters.
If any client code, database column, or URL routing assumes ASCII-only identifiers, these IDs will break lookup or serialisation.At minimum, verify:
- Flow import/export round-trips without corruption.
- Front-end React Flow renders without console warnings.
- Any SQL or key–value stores that index by
idaccept these bytes.If unnecessary, consider falling back to standard JSON‐safe delimiters (
|,/, etc.).Also applies to: 55-61
1271-1286: Good move: stop auto-loading Tavily API keys from DBSetting
"load_from_db": falseand blanking"value"prevents accidental key leakage into starter projects while still flagging the field asrequired.
Looks correct. 👍src/backend/base/langflow/initial_setup/starter_projects/Travel Planning Agents.json (1)
1453-1467: Verify the decision to disable secret auto-loading for Search API.
"load_from_db": falsetogether with"value": nullmeans the SearchAPI key must be typed every time the flow is imported, which might break one-click demos. If the goal is only to prevent accidental key leakage in the starter project, consider documenting this clearly or keepingload_from_db: trueso users who have a key stored in their profile get a smoother first run.
Please double-check this behaviour across all starter projects.src/backend/base/langflow/initial_setup/starter_projects/News Aggregator.json (1)
124-147: Multiple note cards contradict PR goal of “one note per template”.The flow still contains a dedicated note for the OpenAI key (
note-xj91O). The PR description says each template should now have only a single note card.
Confirm whether these small key-reminder notes are still required or should be folded into the new big quick-start note.src/backend/base/langflow/initial_setup/starter_projects/Sequential Tasks Agents.json (2)
475-492: Security hardening looks solid – API keys no longer preload nor ship with defaults
load_from_dbis nowfalseand thevaluefield isnullon everyapi_keyfield across all three agents and the Tavily component. 👍 This prevents accidental credential leakage and eliminates surprises in shared environments.Also applies to: 1027-1043, 2371-2387
2183-2195: README note consolidation achieved
The flow now carries a single, concise README-style note (note-5lnHY). This aligns with the PR goal to keep only one note per template and greatly reduces clutter.
* update templates * small-changes * template cleanup --------- Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* update templates * small-changes * template cleanup --------- Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* update templates * small-changes * template cleanup --------- Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* Add new openai reasoning models * [autofix.ci] apply automated fixes * Updates language model, but FE doesn't send a POST for updating template atm * use chatopenai constants * [autofix.ci] apply automated fixes * Add reasoning to language model test * Remove temp from all reasoning models * t [autofix.ci] apply automated fixes * refactor: Update template notes (#8816) * update templates * small-changes * template cleanup --------- Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com> * ruff * uv lock * starter projects update * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Mike Fortman <michael.fortman@datastax.com> Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* Add new openai reasoning models * [autofix.ci] apply automated fixes * Updates language model, but FE doesn't send a POST for updating template atm * use chatopenai constants * [autofix.ci] apply automated fixes * Add reasoning to language model test * Remove temp from all reasoning models * t [autofix.ci] apply automated fixes * refactor: Update template notes (#8816) * update templates * small-changes * template cleanup --------- Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com> * ruff * uv lock * starter projects update * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Mike Fortman <michael.fortman@datastax.com> Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* Add new openai reasoning models * [autofix.ci] apply automated fixes * Updates language model, but FE doesn't send a POST for updating template atm * use chatopenai constants * [autofix.ci] apply automated fixes * Add reasoning to language model test * Remove temp from all reasoning models * t [autofix.ci] apply automated fixes * refactor: Update template notes (#8816) * update templates * small-changes * template cleanup --------- Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com> * ruff * uv lock * starter projects update * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Mike Fortman <michael.fortman@datastax.com> Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* Add new openai reasoning models * [autofix.ci] apply automated fixes * Updates language model, but FE doesn't send a POST for updating template atm * use chatopenai constants * [autofix.ci] apply automated fixes * Add reasoning to language model test * Remove temp from all reasoning models * t [autofix.ci] apply automated fixes * refactor: Update template notes (#8816) * update templates * small-changes * template cleanup --------- Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com> * ruff * uv lock * starter projects update * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Mike Fortman <michael.fortman@datastax.com> Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
* Add new openai reasoning models * [autofix.ci] apply automated fixes * Updates language model, but FE doesn't send a POST for updating template atm * use chatopenai constants * [autofix.ci] apply automated fixes * Add reasoning to language model test * Remove temp from all reasoning models * t [autofix.ci] apply automated fixes * refactor: Update template notes (langflow-ai#8816) * update templates * small-changes * template cleanup --------- Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com> * ruff * uv lock * starter projects update * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Mike Fortman <michael.fortman@datastax.com> Co-authored-by: Mendon Kissling <59585235+mendonk@users.noreply.github.com>
Update Template notes to have simple instructions and descriptions limiting note card to one per template
Summary by CodeRabbit
Documentation
Chores