‹ Reports
The Dispatch

OSS Report: xyflow/xyflow


Development Stagnation as Key Issues Persist in xyflow/xyflow Project

The xyflow/xyflow project, an open-source library for building node-based UIs with React and Svelte, has seen limited progress over the past 30 days, with persistent issues related to edge interactions and UI inconsistencies remaining unresolved.

Recent Activity

Recent issues and pull requests (PRs) indicate ongoing struggles with edge behavior and node interactions. Notable issues include #4659 concerning connection handles, and #4658 regarding lasso selections, both highlighting user challenges with the library's current functionality. The development team has been actively addressing these concerns through PRs like #4653, which aims to fix viewport dimension calculations.

Team Members and Activities:

Recent activities show a focus on bug fixes and release preparations, with Peter Kogo and Moritz Klack leading efforts in testing and documentation updates. However, some team members like James Kairu and Alexander Horner have not contributed recently.

Of Note

  1. Persistent Edge Interaction Issues: Users continue to report problems with edge visibility and interaction, as seen in issues #4605 and #4318.
  2. Documentation Gaps: There is a recurring demand for improved documentation to aid transitions between versions.
  3. Lack of Changesets in PRs: Several PRs lack changesets (#4463, #4456), potentially complicating version management.
  4. Stalled Major Updates: Draft PR #4194 for Svelte 5 migration remains unmerged after 146 days, indicating possible prioritization challenges.
  5. Community Engagement: Active discussions on PRs suggest strong community involvement but also highlight decision-making bottlenecks affecting timely feature integration.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 10 8 13 5 1
30 Days 37 44 82 15 1
90 Days 121 115 350 62 1
1 Year 267 200 801 121 2
All Time 1944 1860 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Moritz Klack 1 5/5/0 31 31 894
Peter Kogo 1 5/6/0 26 35 584
github-actions[bot] 1 4/4/0 4 18 217
Braks 1 3/2/0 4 6 87
None (jameskairu) 0 1/0/0 0 0 0
Alexander Horner (alexanderhorner) 0 1/0/1 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The xyflow/xyflow GitHub repository currently has 84 open issues, with recent activity indicating a mix of bug reports and feature requests. Notably, several issues highlight problems with edge connections, node interactions, and UI inconsistencies across different platforms. A recurring theme is the challenges developers face when upgrading to newer versions, particularly concerning node and edge behavior.

Several issues exhibit significant user frustration, particularly around the handling of custom nodes and edges. For instance, issues like #4605 and #4318 indicate that users are encountering unexpected behaviors when dragging nodes or connecting edges. There is also a notable number of requests for improved documentation and examples to facilitate smoother transitions between versions.

Issue Details

Recent Issues

  1. Issue #4659: Rotation function, custom connection handle, the connection line is too far away from the handle

    • Priority: Normal
    • Status: Open
    • Created: 2 days ago
    • Updated: N/A
  2. Issue #4658: Edges with selectable set to false are still included in lasso selections

    • Priority: Normal
    • Status: Open
    • Created: 2 days ago
    • Updated: N/A
  3. Issue #4652: Calculate viewport dimensions in fitView action

    • Priority: Normal
    • Status: Open
    • Created: 3 days ago
    • Updated: N/A
  4. Issue #4650: isVisible support for Handle

    • Priority: Feature Request
    • Status: Open
    • Created: 3 days ago
    • Updated: N/A
  5. Issue #4647: React flow edges are not getting mounted on UI if browser zoom level is reduced to 80%, 90% or increased to 110%

    • Priority: Bug
    • Status: Open
    • Created: 3 days ago
    • Updated: N/A
  6. Issue #4604: Version 11.11.3: onNodeClick Not Working with Touchpad Clicks

    • Priority: Bug
    • Status: Open
    • Created: 18 days ago
    • Updated: 14 days ago
  7. Issue #4602: The “Handle” only indicates the type, but is used here as a value.

    • Priority: Bug
    • Status: Open
    • Created: 18 days ago
    • Updated: N/A
  8. Issue #4508: SvelteFlow: Attach an edge to an edge.

    • Priority: Feature Request
    • Status: Open
    • Created: 45 days ago
    • Updated: 3 days ago

Important Observations:

  • Many issues revolve around the behavior of edges and handles, especially regarding their visibility and interaction.
  • Users frequently report problems after upgrading to newer versions, indicating potential breaking changes or insufficient migration documentation.
  • The need for better examples and clearer documentation is a common request among users facing difficulties.

Important Notes:

The analysis highlights key areas where user experience can be improved through better documentation and addressing specific bugs related to node and edge interactions. The project appears to be actively maintained, with ongoing discussions about various issues that reflect community engagement and responsiveness from the maintainers.

This overview provides insight into the current state of the xyflow project on GitHub while identifying themes that could inform future development priorities.

Report On: Fetch pull requests



Overview

The xyflow/xyflow repository currently has 8 open pull requests, reflecting ongoing development and feature enhancements. The recent activity indicates a focus on bug fixes, feature additions, and improvements to existing functionalities across both React and Svelte frameworks.

Summary of Pull Requests

  1. PR #4660: twitter @richblood1942fl organic account

    • State: Open
    • Created: 1 day ago
    • Significance: Introduces a SECURITY.md file for security guidelines. Notably lacks changesets, indicating it may not trigger a version bump.
  2. PR #4653: fix(react): calculate viewport dimensions inside of fitView action

    • State: Open
    • Created: 2 days ago
    • Significance: Fixes stale dimension issues by calculating viewport dimensions directly from the DOM node. Includes a changeset for a patch version bump.
  3. PR #4540: feat: add XYError

    • State: Open
    • Created: 34 days ago
    • Significance: Adds an error handling class and utility functions, improving error management across the library. This PR includes changesets for minor version bumps.
  4. PR #4463: feat(hooks): useEdgesData

    • State: Open
    • Created: 60 days ago
    • Significance: Introduces a new hook for managing edge data, enhancing the library's functionality. Lacks changesets.
  5. PR #4456: feat(types): accepts readonly arrays in props

    • State: Open
    • Created: 62 days ago
    • Significance: Modifies type definitions to accept readonly arrays, which can enhance performance by preventing unwanted mutations. Lacks changesets.
  6. PR #4423: Option to intersection on certain input percentage.

    • State: Open
    • Created: 69 days ago
    • Significance: Adds functionality for defining percentage area overlap in intersections, addressing user needs for more precise control. Lacks changesets.
  7. PR #4194: Svelte 5

    • State: Open (Draft)
    • Created: 146 days ago
    • Significance: Major migration effort to update Svelte components to version 5, indicating significant architectural changes.
  8. PR #3169: feat(pointer-events-support): Add support for pointer events

    • State: Open
    • Created: 451 days ago
    • Significance: A long-standing PR aimed at improving mobile browser support through pointer events. It remains unmerged due to ongoing discussions about its implications on performance.

Analysis of Pull Requests

The current state of open pull requests in the xyflow/xyflow repository reveals several themes and areas of focus:

Recent Activity and Focus Areas

  1. Bug Fixes and Enhancements: The majority of recent PRs (e.g., #4653, #4540) are centered around fixing bugs and enhancing existing features, particularly related to viewport calculations and error handling mechanisms. This reflects a commitment to maintaining the stability of the library while introducing new functionalities.

  2. Feature Additions: Several PRs introduce new features (e.g., #4463, #4423) that expand the capabilities of the library, such as improved data handling with edges and customizable intersection options. This trend indicates an active effort to cater to user demands and enhance usability.

  3. Type Safety Improvements: The introduction of readonly arrays in props (#4456) signifies an emphasis on type safety and performance optimization within the codebase. This is crucial for maintaining robust applications built on top of the library.

  4. Long-standing Issues: PRs like #3169 highlight ongoing discussions regarding mobile support through pointer events, which have yet to be resolved after considerable time. This could indicate either complexity in implementation or prioritization issues within the development team.

Lack of Changesets

A notable concern across many open PRs is the absence of changesets (#4463, #4456). This could lead to confusion regarding versioning and release management since these changes might not trigger necessary updates in package versions upon merging.

Draft PRs and Stagnation

The presence of draft PRs like #4194 suggests that while there is active development, some initiatives may be stalled due to their complexity or dependencies on other features being completed first. The long duration since creation without merging or significant updates could lead to outdated implementations if not addressed promptly.

Community Engagement

The discussions surrounding various PRs indicate a healthy level of community engagement among contributors (e.g., feedback on PR #4578). However, it also highlights potential bottlenecks in decision-making processes that could delay important updates or features from being integrated into the main branch.

Conclusion

Overall, the current landscape of open pull requests in the xyflow/xyflow repository reflects a dynamic development environment focused on continuous improvement and feature enhancement while grappling with issues related to versioning management and long-standing unresolved discussions. Addressing these challenges will be crucial for maintaining momentum and ensuring that user needs are met effectively.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members:

  • Peter Kogo (peterkogo)

    • Recent activity includes merging pull requests related to releases, fixing bugs, and improving documentation. Notable contributions include:
    • Fixing node extent calculations and typos.
    • Collaborating with Moritz Klack on various changesets and bug fixes.
    • Active in the release process with multiple merges for package updates.
  • Moritz Klack (moklick)

    • Engaged in extensive development activities, including adding tests, refactoring code, and managing changesets. Key contributions include:
    • Adding unit tests for adoptUserNodes.
    • Merging several pull requests related to features and fixes.
    • Collaborating closely with Peter Kogo on release management and code improvements.
  • GitHub Actions Bot (github-actions[bot])

    • Automated tasks related to package version bumps and release management. Contributed to maintaining the workflow of the repository.
  • Braks (bcakmakoglu)

    • Contributed minor features and fixes, primarily focused on updating package.json files for React and Svelte.
  • James Kairu (jameskairu)

    • No recent commits or activities reported.
  • Alexander Horner (alexanderhorner)

    • No recent commits or activities reported.

Summary of Recent Activities:

  • The team has been actively merging pull requests, particularly focusing on bug fixes, feature enhancements, and preparing for releases.
  • Peter Kogo and Moritz Klack have been the most active contributors, collaborating on multiple aspects of the project including testing, refactoring, and documentation updates.
  • There is a clear emphasis on maintaining the quality of the codebase through rigorous testing and systematic release management using changesets.
  • The recent commits indicate a focus on improving user experience through bug fixes related to node interactions and UI elements.

Patterns and Themes:

  • Collaboration: There is a strong collaborative effort between Peter Kogo and Moritz Klack, indicating effective teamwork in addressing issues and implementing features.
  • Continuous Improvement: The team is focused on refining existing functionalities while also adding new features, showcasing a commitment to ongoing development.
  • Automated Processes: The use of GitHub Actions for automated tasks reflects a modern approach to CI/CD practices within the project.
  • Testing Focus: The addition of unit tests suggests an increasing emphasis on ensuring code reliability before deployment.

Conclusion:

The xyflow development team is actively engaged in enhancing the project through collaborative efforts, systematic testing, and continuous integration practices. The recent activities demonstrate a commitment to quality and user satisfaction in their dual-framework offerings.