Skip to content

Conversation

@jordanrfrazier
Copy link
Collaborator

@jordanrfrazier jordanrfrazier commented Jan 9, 2026

Comps live in lfx, so use lfx for versioning.

Summary by CodeRabbit

  • Bug Fixes

    • Improved component validation logic with enhanced type checking.
  • Tests

    • Added validation tests ensuring starter projects maintain data integrity by detecting unwanted internal metadata.
  • Chores

    • Updated internal metadata key naming conventions and terminology references for consistency.

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 9, 2026

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This pull request updates terminology from Langflow to LFX in the build component index script through function and constant renames, docstring updates, and type syntax modernization. Additionally, a new unit test module is added to verify starter project JSON files do not contain internal hash_history metadata.

Changes

Cohort / File(s) Summary
Build Component Index Terminology Updates
scripts/build_component_index.py
Renames _get_langflow_version() to _get_lfx_version() and updates all internal references; changes constants VERSION_FIRST_KEY from "version_first" to "v_from" and VERSION_LAST_KEY from "version_last" to "v_to"; modernizes type check syntax from isinstance(item, (list, tuple)) to isinstance(item, list | tuple); updates multiple docstrings and comments to reference "lfx" instead of "Langflow"; adds debug print statements for version tracking.
Starter Projects Hash History Test
src/backend/tests/unit/test_starter_projects_no_hash_history.py
New test module with helper functions to recursively detect hash_history keys in nested structures; validates that all starter project JSON files under base/langflow/initial_setup/starter_projects contain no hash_history metadata; includes sanity check to ensure at least one starter project is discovered.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error, 1 warning)
Check name Status Explanation Resolution
Test Coverage For New Implementations ❌ Error PR changes to build_component_index.py lack dedicated unit tests covering the renamed functions and modified versioning keys. Add unit tests for _get_lfx_version(), v_from/v_to key handling, and _merge_hash_history() function to ensure correctness.
Test Quality And Coverage ⚠️ Warning PR lacks unit tests for core changes: renamed _get_lfx_version(), modified VERSION_FIRST_KEY/VERSION_LAST_KEY constants, and component indexing logic. Add unit tests validating _get_lfx_version(), _merge_hash_history() with old/new key formats, build_component_index() workflow, and migration handling.
✅ 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 addresses the main change: renaming version references from 'langflow' to 'lfx' in the component indexing system.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Test File Naming And Structure ✅ Passed The test file correctly follows specified patterns with proper naming, descriptive function names, logical organization, and comprehensive coverage of positive and edge cases.
Excessive Mock Usage Warning ✅ Passed The test file does not use excessive mocks; instead it loads real starter project JSON files and tests genuine behavior with actual data structures.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch use-lfx-version-for-component-index

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 bug Something isn't working and removed bug Something isn't working labels Jan 9, 2026
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Jan 9, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2026

Frontend Unit Test Coverage Report

Coverage Summary

Lines Statements Branches Functions
Coverage: 17%
17.44% (4977/28526) 10.76% (2364/21957) 11.55% (722/6246)

Unit Test Results

Tests Skipped Failures Errors Time
1989 0 💤 0 ❌ 0 🔥 26.415s ⏱️

@codecov
Copy link

codecov bot commented Jan 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 34.13%. Comparing base (fdffcc3) to head (a9cd9d4).
⚠️ Report is 1 commits behind head on main.

❌ Your project check has failed because the head coverage (40.80%) is below the target coverage (60.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #11260      +/-   ##
==========================================
+ Coverage   34.12%   34.13%   +0.01%     
==========================================
  Files        1408     1408              
  Lines       66770    66770              
  Branches     9858     9858              
==========================================
+ Hits        22783    22792       +9     
+ Misses      42794    42785       -9     
  Partials     1193     1193              
Flag Coverage Δ
backend 53.27% <ø> (+0.05%) ⬆️
frontend 15.99% <ø> (ø)
lfx 40.80% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Jan 9, 2026
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In @scripts/build_component_index.py:
- Around line 149-150: The rename of VERSION_FIRST_KEY/VERSION_LAST_KEY to
"v_from"/"v_to" breaks compatibility with existing component_index.json files;
update _load_existing_index to detect the legacy keys
"version_first"/"version_last" and migrate them to the new keys (or populate
both formats), and update _merge_hash_history to accept both key names during
the transition; ensure migration logic normalizes entries to use
VERSION_FIRST_KEY and VERSION_LAST_KEY constants so subsequent code (including
_merge_hash_history) works without raising KeyError, and add a brief comment
documenting the compatibility behavior.

In @src/backend/tests/unit/test_starter_projects_no_hash_history.py:
- Around line 80-87: The test_all_starter_projects_loaded test is missing the
visibility print mentioned in the comment; update the test to print the count
(and optionally file names) of starter projects after calling
get_starter_project_files(); e.g., invoke print(f"Found {len(project_files)}
starter project files") (or print the list) before the final assertions so test
output shows how many/which starter projects were discovered while keeping the
existing assertion using len(project_files) > 0.
📜 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 3006b13 and 3da6b0e.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • scripts/build_component_index.py
  • src/backend/tests/unit/test_starter_projects_no_hash_history.py
  • src/lfx/src/lfx/_assets/component_index.json
🧰 Additional context used
📓 Path-based instructions (3)
src/backend/**/*.py

📄 CodeRabbit inference engine (.cursor/rules/backend_development.mdc)

src/backend/**/*.py: Use FastAPI async patterns with await for async operations in component execution methods
Use asyncio.create_task() for background tasks and implement proper cleanup with try/except for asyncio.CancelledError
Use queue.put_nowait() for non-blocking queue operations and asyncio.wait_for() with timeouts for controlled get operations

Files:

  • src/backend/tests/unit/test_starter_projects_no_hash_history.py
src/backend/tests/**/*.py

📄 CodeRabbit inference engine (.cursor/rules/testing.mdc)

src/backend/tests/**/*.py: Place backend unit tests in src/backend/tests/ directory, component tests in src/backend/tests/unit/components/ organized by component subdirectory, and integration tests accessible via make integration_tests
Use same filename as component with appropriate test prefix/suffix (e.g., my_component.pytest_my_component.py)
Use the client fixture (FastAPI Test Client) defined in src/backend/tests/conftest.py for API tests; it provides an async httpx.AsyncClient with automatic in-memory SQLite database and mocked environment variables. Skip client creation by marking test with @pytest.mark.noclient
Inherit from the correct ComponentTestBase family class located in src/backend/tests/base.py based on API access needs: ComponentTestBase (no API), ComponentTestBaseWithClient (needs API), or ComponentTestBaseWithoutClient (pure logic). Provide three required fixtures: component_class, default_kwargs, and file_names_mapping
Create comprehensive unit tests for all new backend components. If unit tests are incomplete, create a corresponding Markdown file documenting manual testing steps and expected outcomes
Test both sync and async code paths, mock external dependencies appropriately, test error handling and edge cases, validate input/output behavior, and test component initialization and configuration
Use @pytest.mark.asyncio decorator for async component tests and ensure async methods are properly awaited
Test background tasks using asyncio.create_task() and verify completion with asyncio.wait_for() with appropriate timeout constraints
Test queue operations using non-blocking queue.put_nowait() and asyncio.wait_for(queue.get(), timeout=...) to verify queue processing without blocking
Use @pytest.mark.no_blockbuster marker to skip the blockbuster plugin in specific tests
For database tests that may fail in batch runs, run them sequentially using uv run pytest src/backend/tests/unit/test_database.py r...

Files:

  • src/backend/tests/unit/test_starter_projects_no_hash_history.py
**/test_*.py

📄 CodeRabbit inference engine (Custom checks)

**/test_*.py: Review test files for excessive use of mocks that may indicate poor test design - check if tests have too many mock objects that obscure what's actually being tested
Warn when mocks are used instead of testing real behavior and interactions, and suggest using real objects or test doubles when mocks become excessive
Ensure mocks are used appropriately for external dependencies only, not for core logic
Backend test files should follow the naming convention test_*.py with proper pytest structure
Test files should have descriptive test function names that explain what is being tested
Tests should be organized logically with proper setup and teardown
Consider including edge cases and error conditions for comprehensive test coverage
Verify tests cover both positive and negative scenarios where appropriate
For async functions in backend tests, ensure proper async testing patterns are used with pytest
For API endpoints, verify both success and error response testing

Files:

  • src/backend/tests/unit/test_starter_projects_no_hash_history.py
🧠 Learnings (6)
📓 Common learnings
Learnt from: ogabrielluiz
Repo: langflow-ai/langflow PR: 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.
Learnt from: edwinjosechittilappilly
Repo: langflow-ai/langflow PR: 0
File: :0-0
Timestamp: 2025-08-07T20:23:23.569Z
Learning: Some Langflow starter project files and components still use `from loguru import logger` instead of the centralized structlog logger from `langflow.logging.logger`. These should be updated to ensure consistent structured logging across the entire codebase.
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-11-24T19:47:28.997Z
Learning: Applies to src/backend/tests/**/*.py : Test component versioning and backward compatibility using `file_names_mapping` fixture with `VersionComponentMapping` objects mapping component files across Langflow versions
Learnt from: edwinjosechittilappilly
Repo: langflow-ai/langflow PR: 0
File: :0-0
Timestamp: 2025-08-07T20:23:23.569Z
Learning: The Langflow codebase has an excellent structlog implementation that follows best practices, with proper global configuration, environment-based output formatting, and widespread adoption across components. The main cleanup needed is updating starter project templates and documentation examples that still contain legacy `from loguru import logger` imports.
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/docs_development.mdc:0-0
Timestamp: 2025-11-24T19:46:26.770Z
Learning: Applies to docs/docs/**/*.{md,mdx} : Use sentence case for headers and proper capitalization for terminology: Langflow, Component, Flow, API, JSON
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/docs_development.mdc:0-0
Timestamp: 2025-06-23T12:46:29.953Z
Learning: All terminology such as 'Langflow', 'Component', 'Flow', 'API', and 'JSON' must be capitalized or uppercased as specified in the terminology section.
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-11-24T19:47:28.997Z
Learning: Applies to src/backend/tests/**/*.py : Use predefined JSON flows and utility functions from `tests.unit.build_utils` (create_flow, build_flow, get_build_events, consume_and_assert_stream) for flow execution testing
📚 Learning: 2025-11-24T19:47:28.997Z
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-11-24T19:47:28.997Z
Learning: Applies to src/backend/tests/**/*.py : Create comprehensive unit tests for all new backend components. If unit tests are incomplete, create a corresponding Markdown file documenting manual testing steps and expected outcomes

Applied to files:

  • src/backend/tests/unit/test_starter_projects_no_hash_history.py
📚 Learning: 2025-12-19T18:04:08.938Z
Learnt from: Jkavia
Repo: langflow-ai/langflow PR: 11111
File: src/backend/tests/unit/api/v2/test_workflow.py:10-11
Timestamp: 2025-12-19T18:04:08.938Z
Learning: In the langflow-ai/langflow repository, pytest-asyncio is configured with asyncio_mode = 'auto' in pyproject.toml. This means you do not need to decorate test functions or classes with pytest.mark.asyncio; async tests are auto-detected and run by pytest-asyncio. When reviewing tests, ensure they rely on this configuration (i.e., avoid unnecessary pytest.mark.asyncio decorators) and that tests living under any tests/ path (e.g., src/.../tests/**/*.py) follow this convention. If a test explicitly requires a different asyncio policy, document it and adjust the config accordingly.

Applied to files:

  • src/backend/tests/unit/test_starter_projects_no_hash_history.py
📚 Learning: 2025-11-24T19:47:28.997Z
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/testing.mdc:0-0
Timestamp: 2025-11-24T19:47:28.997Z
Learning: Applies to src/backend/tests/**/*.py : Test component versioning and backward compatibility using `file_names_mapping` fixture with `VersionComponentMapping` objects mapping component files across Langflow versions

Applied to files:

  • scripts/build_component_index.py
📚 Learning: 2025-11-24T19:46:09.104Z
Learnt from: CR
Repo: langflow-ai/langflow PR: 0
File: .cursor/rules/backend_development.mdc:0-0
Timestamp: 2025-11-24T19:46:09.104Z
Learning: Applies to src/backend/base/langflow/components/**/__init__.py : Update `__init__.py` with alphabetically sorted imports when adding new components

Applied to files:

  • scripts/build_component_index.py
📚 Learning: 2025-08-01T20:12:57.303Z
Learnt from: edwinjosechittilappilly
Repo: langflow-ai/langflow PR: 0
File: :0-0
Timestamp: 2025-08-01T20:12:57.303Z
Learning: The LangFlow components system has 47 modules with identical lazy loading patterns that can be optimized using a centralized lazy loading utility, eliminating over 1,000 lines of duplicated code while maintaining backward compatibility.

Applied to files:

  • scripts/build_component_index.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (27)
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 17/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 16/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 4/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 15/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 10/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 9/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 13/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 11/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 7/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 8/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 5/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 14/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 6/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 2/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 3/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 12/17
  • GitHub Check: Run Frontend Tests / Playwright Tests - Shard 1/17
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 3
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 4
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 1
  • GitHub Check: Run Backend Tests / Integration Tests - Python 3.10
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 2
  • GitHub Check: Lint Backend / Run Mypy (3.11)
  • GitHub Check: Test Docker Images / Test docker images
  • GitHub Check: Run Backend Tests / Unit Tests - Python 3.10 - Group 5
  • GitHub Check: Test Starter Templates
  • GitHub Check: Update Component Index
🔇 Additional comments (7)
src/backend/tests/unit/test_starter_projects_no_hash_history.py (3)

1-10: LGTM! Well-documented test module.

The module docstring clearly explains the purpose and rationale for these tests. The imports are appropriate and minimal.


13-40: LGTM! Solid recursive search implementation.

The function correctly handles nested dictionaries and lists, with proper path tracking for error reporting. The logic is clean and handles edge cases appropriately.


43-57: LGTM! Appropriate use of pytest.skip for missing resources.

The path construction is correct, and the function properly handles cases where starter project files might not be present, using pytest.skip instead of failing the test.

scripts/build_component_index.py (4)

260-260: LGTM! Docstring updates are consistent with terminology changes.

The docstrings have been appropriately updated from "langflow" to "lfx" to match the overall PR objective of using lfx versions for component indexing.

Also applies to: 337-337


378-378: LGTM! Function call updated consistently.

The function call has been updated to match the renamed _get_lfx_version() function. However, ensure the package name "lfx" is verified as mentioned in the earlier comment on lines 22-31.


22-31: Verify that "lfx" is declared as a project dependency.

The function now queries version("lfx") instead of version("langflow"). While "lfx" (Langflow Executor CLI) is a real PyPI package, you need to confirm that your project's pyproject.toml or setup.py declares "lfx" as a dependency. If "lfx" is not listed as a dependency and is not installed in your environment, this will raise a PackageNotFoundError at runtime.


128-128: Union syntax is appropriate for this project.

The project requires Python 3.10+ (as specified in pyproject.toml: python = ">=3.10,<3.14"), and the modern PEP 604 union syntax list | tuple is valid and works correctly with isinstance() at runtime for non-parameterized types.

Comment on lines 149 to 150
VERSION_FIRST_KEY = "v_from" # Hash valid from Version (inclusive)
VERSION_LAST_KEY = "v_to" # Hash valid to version (inclusive)
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Breaking change: Verify backward compatibility with existing indexes.

The constant values changed from "version_first"/"version_last" to "v_from"/"v_to". This is a breaking change if an existing component_index.json file uses the old keys. When _load_existing_index() loads the old format and then _merge_hash_history() tries to access these keys, it will fail.

Consider:

  1. Adding migration logic to convert old keys to new keys when loading
  2. Supporting both key formats during a transition period
  3. Documenting this as a breaking change requiring index rebuild
#!/bin/bash
# Description: Check if existing component_index.json uses old key format

# Find component_index.json and check for old keys
echo "=== Checking for existing component_index.json with old key format ==="
fd "component_index.json" --exec sh -c 'echo "File: {}" && grep -o "version_first\|version_last" {} | head -5'
🤖 Prompt for AI Agents
In @scripts/build_component_index.py around lines 149 - 150, The rename of
VERSION_FIRST_KEY/VERSION_LAST_KEY to "v_from"/"v_to" breaks compatibility with
existing component_index.json files; update _load_existing_index to detect the
legacy keys "version_first"/"version_last" and migrate them to the new keys (or
populate both formats), and update _merge_hash_history to accept both key names
during the transition; ensure migration logic normalizes entries to use
VERSION_FIRST_KEY and VERSION_LAST_KEY constants so subsequent code (including
_merge_hash_history) works without raising KeyError, and add a brief comment
documenting the compatibility behavior.

Comment on lines +80 to +87
def test_all_starter_projects_loaded():
"""Sanity check that we're actually testing starter projects."""
project_files = get_starter_project_files()

# We should have multiple starter projects
assert len(project_files) > 0, "No starter project files found to test"

# Print count for visibility
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Complete the implementation.

The comment on line 87 suggests there should be a print statement for visibility, but the implementation is incomplete.

📝 Suggested completion
 def test_all_starter_projects_loaded():
     """Sanity check that we're actually testing starter projects."""
     project_files = get_starter_project_files()
 
     # We should have multiple starter projects
     assert len(project_files) > 0, "No starter project files found to test"
 
     # Print count for visibility
+    print(f"Testing {len(project_files)} starter project files")
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
def test_all_starter_projects_loaded():
"""Sanity check that we're actually testing starter projects."""
project_files = get_starter_project_files()
# We should have multiple starter projects
assert len(project_files) > 0, "No starter project files found to test"
# Print count for visibility
def test_all_starter_projects_loaded():
"""Sanity check that we're actually testing starter projects."""
project_files = get_starter_project_files()
# We should have multiple starter projects
assert len(project_files) > 0, "No starter project files found to test"
# Print count for visibility
print(f"Testing {len(project_files)} starter project files")
🤖 Prompt for AI Agents
In @src/backend/tests/unit/test_starter_projects_no_hash_history.py around lines
80 - 87, The test_all_starter_projects_loaded test is missing the visibility
print mentioned in the comment; update the test to print the count (and
optionally file names) of starter projects after calling
get_starter_project_files(); e.g., invoke print(f"Found {len(project_files)}
starter project files") (or print the list) before the final assertions so test
output shows how many/which starter projects were discovered while keeping the
existing assertion using len(project_files) > 0.

@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Jan 9, 2026
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Jan 9, 2026
@github-actions github-actions bot added the lgtm This PR has been approved by a maintainer label Jan 9, 2026
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Jan 9, 2026
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Jan 9, 2026
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Jan 9, 2026
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Jan 9, 2026
@github-actions github-actions bot added bug Something isn't working and removed bug Something isn't working labels Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working lgtm This PR has been approved by a maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants