When documenting larger flows with sticky notes and grouping larger
sections of the flow, the size constraints are very limiting. No more
than three elements can effectively fit on a sticky note.
By removing the size constraint, we enable users to more effectively
create visual groups in a flow.
Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
* 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>
* 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>
* feat(storybook): add Storybook setup and Button component stories
- Add Storybook configuration files (.storybook/main.ts, preview.ts, css.d.ts)
- Add Button component stories with interaction testing
- Add Storybook dependencies and scripts to package.json
- Support dark mode in stories via decorator
- Include play functions for automated interaction testing
* ci(storybook): add GitHub Pages deployment workflow
- Add automated deployment workflow for Storybook
- Deploy on push to main when Storybook files change
- Support manual trigger via workflow_dispatch
- Use official GitHub Actions for Pages deployment
* fix(storybook): align Storybook versions and fix TypeScript issues
- Update all @storybook/* packages from ^8.4.7 to ^8.6.14 to match main storybook version
- Fix CSS type declarations in css.d.ts (Record<string, string> instead of Record<string, never>)
- Remove @ts-ignore comments from preview.ts (CSS imports now properly typed)
- Fix darkMode type issue in button.stories.tsx with proper ArgTypes type assertion
* feat(storybook): replace Button stories with Dropdown component stories
- Remove Button stories (shadcn already has documentation)
- Add comprehensive Dropdown component stories showcasing:
- Default, with value, combobox mode
- With metadata, disabled, loading states
- Many options, searchable filtering
- Dark mode support
- Add store initialization decorator for Storybook
- Include interaction testing with play functions
* feat(storybook): add SettingsPage stories and remove dropdown stories
- Remove dropdown component stories
- Add SettingsPage stories with router, store, and dark mode decorators
- Include variants: default, with general settings, and dark mode
* feat(storybook): fix SettingsPage stories to show full page and add play functions
- Fix router setup to properly render SettingsPage with nested routes
- Add Routes configuration for all settings sub-pages (General, MCP Servers, Global Variables, Shortcuts, Messages)
- Add play functions to test page visibility and navigation
- Add stories for different routes: Default, WithGeneralSettings, NavigateToShortcuts, NavigateToGlobalVariables, DarkMode
* revert(storybook): restore SettingsPage stories to original working version
- Revert to simpler router setup without Routes configuration
- Remove play functions and complex routing
- Restore original three stories: Default, WithGeneralSettings, DarkMode
* feat(storybook): add stories for ShortcutsPage and GlobalVariablesPage with tables
- Add ShortcutsPage stories showing the shortcuts table
- Add GlobalVariablesPage stories showing the global variables table
- Include store setup for shortcuts data
- Add play functions to verify table visibility
- Support dark mode for both pages
* fix(storybook): add QueryClientProvider to GlobalVariablesPage stories
- Add QueryClientProvider decorator to support React Query hooks
- Configure QueryClient with retry disabled for Storybook
* fix(storybook): remove WithGeneralSettings story to fix nested router error
- Remove WithGeneralSettings story that was causing nested Router error
- Keep Default and DarkMode stories only
* feat(storybook): enhance SettingsPage stories with multiple states and logic variations
- Add stories showcasing different store configurations (autoLogin, hasStore)
- Demonstrate conditional General settings visibility logic
- Add interactive sidebar navigation story
- Show full configuration with all features
- Include play functions to verify state-based behavior
- Showcase how page adapts to different user/auth states
* fix(storybook): initialize Zustand stores synchronously in SettingsPage stories
- Set store state before component render instead of in useEffect
- Ensures stores are accessible when SettingsPage component mounts
- Fixes state access errors in Storybook
* feat(storybook): add story to verify store state accessibility
- Add VerifyStoreState story that demonstrates accessing Zustand store state
- Verify store values match expected configuration
- Show that state is accessible from play functions
* fix(storybook): remove router from SettingsPage stories to fix errors
- Remove MemoryRouter decorator that was causing errors
- Keep store setup and dark mode decorators
- Stories now work without router dependency
* fix(storybook): add router back to SettingsPage stories for useNavigate support
- Add MemoryRouter back to support useCustomNavigate hook in PageLayout
- Router is needed for navigation hooks to work properly
- Keep router at decorator level to avoid nested router errors
* fix(storybook): fix router decorator order in SettingsPage stories
- Move router decorator to be outermost (last in array)
- Decorators run bottom-to-top, so router should wrap everything
- Ensures useNavigate context is available to all components
* feat(storybook): add PlaygroundPage story as example for complex page stories
- Add PlaygroundPage story demonstrating how to create stories for complex pages
- Include darkMode toggle control as example for interactive story controls
- Set up decorators for query client, router, and theme switching
- Hide publish elements (Theme buttons, Built with Langflow) in story view
- Center chat title header in story view
- Configure Storybook preview and CSS types
This story serves as a reference for creating stories for full page components
rather than simple UI components, which are already documented in shadcn docs.
* chore(storybook): remove SettingsPage stories
Keep only PlaygroundPage story as the example for complex page stories.
* chore: restore pyproject.toml to match main branch
* chore: restore pyproject.toml to match main branch
* Revert "chore: restore pyproject.toml to match main branch"
This reverts commit a2b75a4028f1f046bc84a8d7999d53a2cb720fc9.
* chore: remove src/frontend/pyproject.toml as it doesn't exist in main
* fix gitignore and add make commands
* update package-json
* chore(storybook): migrate from v8.6.14 to v10.1.0
- Update all Storybook packages to v10.1.0
- Replace @storybook/addon-essentials with @storybook/addon-docs
- Remove @storybook/addon-interactions (moved to core)
- Remove @storybook/blocks and @storybook/test (consolidated)
- Fix import in PlaygroundPage.stories.tsx to use @storybook/react
- Update tsconfig.json moduleResolution to 'bundler' for better compatibility
- Add explicit types configuration for @storybook/react
* fix: update package-lock.json to sync with package.json
* fix: regenerate package-lock.json with all optional dependencies
---------
Co-authored-by: Olfa Maslah <olfamaslah@Olfas-MacBook-Pro.local>
Co-authored-by: Cristhian Zanforlin <criszl@MacBook-Pro-di-Cristhian.local>
Co-authored-by: Olfa Maslah <olfamaslah@macbookpro.war.can.ibm.com>
* Add OpenSearch multimodal multi-embedding component
Introduces OpenSearchVectorStoreComponentMultimodalMultiEmbedding, supporting multi-model hybrid semantic and keyword search with dynamic vector fields, parallel embedding generation, advanced filtering, and flexible authentication. Enables ingestion and search across multiple embedding models in OpenSearch, with robust index management and UI configuration handling.
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* Add EmbeddingsWithModels and sync model fetching
Introduces EmbeddingsWithModels class for wrapping embeddings and available models. Updates EmbeddingModelComponent to provide available model lists for OpenAI, Ollama, and IBM watsonx.ai providers, including synchronous Ollama model fetching using httpx. Updates starter project and component index metadata to reflect new dependencies and code changes.
* Refactor embedding model component to use async Ollama model fetch
Updated the EmbeddingModelComponent to fetch Ollama models asynchronously using await get_ollama_models instead of a synchronous httpx call. Removed httpx from dependencies in Nvidia Remix starter project and updated related metadata. This change improves consistency and reliability when fetching available models for the Ollama provider.
* update to embeddings to support multiple models
* Add Notion integration components
Added several Notion-related components to the component index, including AddContentToPage, NotionDatabaseProperties, NotionListPages, NotionPageContent, NotionPageCreator, NotionPageUpdate, and NotionSearch. These components enable interaction with Notion databases and pages, such as querying, updating, creating, and retrieving content.
* Add tests for multi-model embeddings and OpenSearch
Added unit tests for EmbeddingsWithModels class and OpenSearchVectorStoreComponentMultimodalMultiEmbedding, including model normalization, authentication modes, and integration scenarios. Updated embedding model component tests to support async build_embeddings and verify multi-model support. Created necessary test package __init__.py files.
* Update component_index.json
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* Fix session_id handling in ChatInput and ChatOutput
Updated ChatInput and ChatOutput components in starter project JSONs to use the session_id from the graph if not provided, ensuring consistent session management. This change improves message storage and retrieval logic for chat flows.
* Update test_opensearch_multimodal.py
* [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>
* Beginning cherry-pick of changes
* more updates
* Add local and s3 storage services, modified base storage service, delegate from langflow to lfx
* more change
* remove all instances of with session
* test s3
* add tests and fix fe
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* fix diamond inheritance and some flush / reset db patterns
* [autofix.ci] apply automated fixes
* Add methods for injectable session scopes
* user run_until_complete for some async calls
* [autofix.ci] apply automated fixes
* Fix csv and json to data components
* Fix some imports and add s3_comp and local-storage_serv testing
* Fix test paths
* more test fixes
* Import and test fixes
* fix remaining s3 compo tests
* Fix langchain compatibility versions
* Fix json/csv agent test mocks
* Fix base file reads with structured output path
* re-add lock
* Add safety around file streaming gen
* [autofix.ci] apply automated fixes
* comment
* improve error handling for file deletion
* abstract reads to storage utils
* [autofix.ci] apply automated fixes
* remove unnecessary deps
* fix lint issues
* fix byte stream generator call in download_file function
* Add import error handling for langchain dependencies in CSV and JSON agent components
* Add pypdf as a dependency in both uv.lock and pyproject.toml files
* ruff
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* fix test patches
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* [autofix.ci] apply automated fixes (attempt 3/3)
* Add noop database service and fix tests to utilize that
* comp index
* mock the imports more but not sure if that's the best soln
* ruff
* [autofix.ci] apply automated fixes
* uses commit in test since it yields
* [autofix.ci] apply automated fixes
* Fix prof pic test
* update prof pic size to fix test?
* ruff
* update lockfile
* update comp index
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes (attempt 2/3)
* use full path to altk test import
* update lockfile. again?
* Marks json test to allow a task leak, allowing since deprecated component
* [autofix.ci] apply automated fixes
* use lockfile from main to temporarily bypass issues with altk
* Update component build index
* [autofix.ci] apply automated fixes
* Fix conftest session scope usage?)
* Fix conftest yields
* lockfile
* [autofix.ci] apply automated fixes
* Fix another test session patterns
* Fix test type
* ruff
* [autofix.ci] apply automated fixes
* [autofix.ci] apply automated fixes
* Update s3.py
* [autofix.ci] apply automated fixes
* Document the append param
* [autofix.ci] apply automated fixes
* Update test_s3_endpoints.py
* [autofix.ci] apply automated fixes
* add back dep import script
* mock fixes
* fix save file tests
* [autofix.ci] apply automated fixes
* Flush after delete in upload_user_file
* use current path in loop csv test
* ruff
* ruff
* Updates the sqlite pragma test to use sqlite3 directly
* ruff
* ensure pragma test db is in wal mode
* Adds back some relevant tests
* ruff
* Add more integration s3 tests
* ruff
* component index
---------
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
Co-authored-by: Eric Hare <ericrhare@gmail.com>