‹ Reports
The Dispatch

OSS Report: goatcorp/Dalamud


Dalamud Development Focuses on Enhancing Plugin Capabilities Amidst Compatibility Challenges

Dalamud, a plugin framework for FINAL FANTASY XIV, continues active development with significant focus on improving plugin interactions and addressing compatibility issues with external tools like ReShade.

Recent Activity

Recent issues and pull requests (PRs) indicate ongoing challenges with plugin compatibility, particularly with ReShade, causing user frustration. Key issues include crashes during gameplay (#2002) and input handling problems (#2029). The development team is actively addressing these through various updates and enhancements.

Development Team Activity

Of Note

  1. Plugin Compatibility Issues: Ongoing user-reported issues with ReShade compatibility (#2025) highlight a critical area needing attention.
  2. Enhanced IPC Methods: PR #2042 introduces new inter-process communication methods, improving plugin efficiency.
  3. Addon Inspector Updates: PR #2038 enhances the Addon Inspector with new UI features, aiding developers.
  4. Lumina 5 Integration: Successful update to Lumina 5 (#2022) ensures data parsing remains current.
  5. Developer Workflow Improvements: Encouraging DLL usage for devPlugins (#1958) streamlines development processes.

The project remains vibrant, with active contributions focused on enhancing functionality and resolving compatibility challenges.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 0 0 0 0 0
30 Days 5 1 1 5 1
90 Days 32 12 44 26 1
1 Year 94 44 110 76 3
All Time 421 269 - - -

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
srkizer 1 4/5/0 5 16 534
KazWolfe 1 3/3/0 3 4 105
Infi 1 1/2/0 2 2 65
Pascal 1 0/1/0 1 1 31
bleatbot 1 2/3/0 3 1 6
dependabot[bot] 1 1/1/0 1 1 4
nebel 1 0/1/0 1 1 2
goat 1 0/0/0 1 1 2
SlashNephy 1 1/1/0 1 1 1
None (ItsBexy) 0 1/0/0 0 0 0
Kore Lael (KoreLael) 0 1/0/1 0 0 0
James Keesey (jlkeesey) 0 0/1/0 0 0 0
None (MidoriKami) 0 0/0/1 0 0 0
None (ALymphocyte) 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

Recent activity in the Dalamud GitHub repository shows a total of 152 open issues, indicating ongoing engagement and potential challenges within the community. Notably, several issues have been raised regarding compatibility with specific plugins, particularly related to ReShade, which has caused significant user frustration. A recurring theme is the interaction between Dalamud and various plugins, leading to crashes and usability problems, especially when multiple plugins are active.

Several issues exhibit critical patterns, such as frequent crashes during gameplay or plugin loading failures. The presence of multiple reports regarding input handling and UI scaling suggests that these areas may require immediate attention to enhance user experience. Additionally, the number of unresolved issues indicates a backlog that could affect user satisfaction if not addressed promptly.

Issue Details

Most Recently Created Issues

  1. Issue #2029: DirectChat + Special Keys trigger double taps in ImGui.Input

    • Priority: Medium
    • Status: Open
    • Created: 23 days ago
    • Update: N/A
  2. Issue #2025: Reshade 6.2.0 Addon Support - Compatibility issue

    • Priority: High
    • Status: Open
    • Created: 28 days ago
    • Update: N/A
  3. Issue #2024: Access Violation: BattleChara.get_StatusList()

    • Priority: High
    • Status: Open
    • Created: 30 days ago
    • Update: N/A
  4. Issue #2023: Plugin Installer Showing Incorrect Changelogs for Certain Available Updates

    • Priority: Medium
    • Status: Open
    • Created: 30 days ago
    • Update: N/A
  5. Issue #2002: FFXIV crashes randomly during Duties

    • Priority: High
    • Status: Open
    • Created: 45 days ago
    • Update: Edited 44 days ago

Most Recently Updated Issues

  1. Issue #1957: Dalamud not loading on startup

    • Priority: High
    • Status: Open
    • Created: 59 days ago
    • Update: Edited 52 days ago
  2. Issue #1981: Object table add/remove events

    • Priority: Enhancement
    • Status: Open
    • Created: 53 days ago
    • Update: N/A
  3. Issue #1992: Plugin matching in collections broken across devices

    • Priority: Medium
    • Status: Open
    • Created: 48 days ago
    • Update: N/A
  4. Issue #2002: FFXIV crashes randomly during Duties

    • (See above for details)
  5. Issue #2025: Reshade 6.2.0 Addon Support - Compatibility issue

    • (See above for details)

Common Themes and Anomalies

  • A significant number of issues relate to compatibility with external plugins like ReShade and GShade, which seem to disrupt normal functionality.
  • Crashes during gameplay or loading are frequently reported, particularly in relation to specific actions or plugin interactions.
  • Input handling issues are prevalent, especially concerning keyboard layouts and how they interact with the Dalamud interface.
  • The Plugin Installer appears to be a focal point for many users' frustrations, with reports of incorrect changelogs and hanging during updates.
  • There is a noticeable backlog of unresolved issues that could impact user experience if not addressed effectively.

The overall trend suggests that while there is active development within the Dalamud framework, significant usability challenges remain that need to be prioritized for resolution.

Report On: Fetch pull requests



Overview

The analysis of the pull requests (PRs) for the Dalamud project reveals a vibrant and active development environment with a focus on enhancing plugin capabilities, improving performance, and maintaining compatibility with the evolving FFXIV landscape. The PRs range from feature additions and bug fixes to significant updates like integration with new versions of dependencies such as Lumina.

Summary of Pull Requests

Open Pull Requests

  • PR #2042: Introduces new IPC methods for better decision-making in IPC logic. This PR is significant as it enhances the inter-process communication capabilities of Dalamud, allowing for more efficient plugin interactions.
  • PR #2038: Updates the Addon Inspector with new features and functionality, including improved UI elements and editors for nodes. This PR is notable for its extensive changes to the Addon Inspector, making it a more powerful tool for developers.
  • PR #1958: Encourages developers to use DLLs for devPlugins by adding a button to select a .dll file instead of scanning directories. This PR addresses developer workflow improvements but may break existing setups that rely on directory scanning.
  • PR #2036: Implements DrawListTextureWrap, allowing rendering of ImDrawList or ImDrawData to a texture. This PR introduces new rendering capabilities, enhancing the graphical features available to plugins.
  • PR #2022: Updates to Lumina 5, introducing new Excel parsing features and removing obsolete components. This is a significant update that affects how data is parsed and accessed within plugins.
  • PR #2008: Adds GetInventoryItems function to IGameInventory, providing access to all slots in an inventory container. This PR expands the functionality available to plugins interacting with game inventories.
  • PR #2005: Adds additional warnings to the plugin config reset modal, improving user awareness about potential data loss during configuration resets. This PR focuses on enhancing user experience and preventing accidental data loss.

Closed Pull Requests

  • PR #2041: Respects general chat type in plugin auto-update messages. This minor fix improves localization support by ensuring messages appear in the correct chat channel.
  • PR #2040: Bumps upload-artifact action version in CI workflows, ensuring up-to-date CI/CD practices.
  • PR #2037: Improves documentation on Position/Rotation but was closed without merging due to insufficient content addition.
  • PR #2036: Implements DrawListTextureWrap but remains open, indicating ongoing discussions or further improvements needed.
  • PR #2022: Update to Lumina 5 was closed after successful integration into the master branch, highlighting active maintenance and updates in response to external changes.

Analysis of Pull Requests

The pull requests demonstrate several key themes in the ongoing development of Dalamud:

  1. Enhancements and New Features: Many PRs focus on adding new functionalities or enhancing existing ones, such as improved IPC methods (#2042), updated Addon Inspector features (#2038), and new rendering capabilities (#2036). These enhancements indicate a continuous effort to expand the capabilities of Dalamud and its plugins.

  2. Dependency Management and Updates: PRs like updating to Lumina 5 (#2022) show active management of dependencies, ensuring compatibility with the latest versions of tools and libraries used within the ecosystem.

  3. Developer Experience Improvements: Changes aimed at improving developer workflows, such as encouraging DLL usage for devPlugins (#1958) and adding warnings in configuration reset modals (#2005), highlight a focus on making plugin development more accessible and less error-prone.

  4. Community Feedback Integration: The presence of PRs addressing specific community concerns or suggestions reflects an active engagement with the user base, ensuring that development efforts align with user needs.

  5. Maintenance and Bug Fixes: Regular updates like bumping action versions in CI workflows (#2040) and addressing minor bugs or documentation improvements (#2041) indicate ongoing maintenance efforts to keep the project healthy and up-to-date.

Overall, the pull requests reveal a project that is not only actively developed but also responsive to both community feedback and external changes in dependencies or game updates. The focus on enhancing both developer tools and user experience suggests a well-rounded approach to software development within this ecosystem.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Recent Contributions

  1. SlashNephy

    • Recent Activity: 1 commit (1 change) related to respecting chat type settings in changelogs.
    • Collaboration: No notable collaborations reported.
  2. Soreepeong (srkizer)

    • Recent Activity: 5 commits (534 changes) including:
    • Updates to Lumina and MacroStringParser, addressing lookup table issues.
    • Fixes for various sigs (GameNetwork, SestringRenderer).
    • Improvements to asset management and texture handling.
    • Collaboration: Worked with multiple contributors on various features and fixes.
  3. bleatbot

    • Recent Activity: 3 commits (6 changes) focused on updating ClientStructs.
    • Collaboration: Co-authored updates with GitHub Actions bot.
  4. KazWolfe

    • Recent Activity: 3 commits (105 changes) including:
    • Bumping dependencies and fixing CI workflows.
    • Implementing a new command handler for Dalamud commands.
    • Collaboration: Engaged in multiple PRs with other team members.
  5. dependabot[bot]

    • Recent Activity: 1 commit (4 changes) for dependency updates.
    • Collaboration: No notable collaborations reported.
  6. Infiziert90

    • Recent Activity: 2 commits (65 changes) focused on changing JobFlags type and documentation updates.
    • Collaboration: Co-authored updates with other contributors.
  7. goaaats (goat)

    • Recent Activity: 1 commit (2 changes) related to build versioning.
    • Collaboration: No notable collaborations reported.
  8. Pilzinsel64

    • Recent Activity: 1 commit (31 changes) adding new BitmapFontIcons and fixing outdated icons.
    • Collaboration: No notable collaborations reported.
  9. nebel

    • Recent Activity: 1 commit (2 changes) improving button click handling in the UI.
    • Collaboration: No notable collaborations reported.
  10. ItsBexy, ALymphocyte, KoreLael, jlkeesey, MidoriKami

    • No recent activity reported.

Patterns and Themes

  • The team is actively contributing to both feature development and bug fixes, with a focus on improving functionality related to plugin management and game data access.
  • Collaboration is evident among several contributors, particularly Soreepeong, who has been involved in multiple aspects of the project, indicating a central role in development.
  • Recent commits reflect ongoing maintenance efforts, such as dependency updates and enhancements to existing features, which are crucial for keeping the framework robust and compatible with game updates.
  • The presence of automated tools like dependabot suggests an emphasis on maintaining up-to-date dependencies without manual intervention.

Conclusions

The development team is engaged in a productive cycle of feature enhancement and bug resolution within the Dalamud framework. The collaborative nature of their contributions indicates a cohesive team dynamic focused on improving the user experience for FFXIV players through ongoing development efforts.