‹ Reports
The Dispatch

OSS Report: directus/directus


Directus Development Faces Critical Bug Challenges Amid Active Community Engagement

Directus, an open-source platform for managing SQL databases via REST and GraphQL APIs, is experiencing a surge in critical bug reports, particularly related to user permissions and relational data handling, potentially impacting user experience and system stability.

Recent Activity

The Directus repository has seen a notable increase in community engagement with 464 open issues, many of which are new. Recent issues such as #23417 and #23412 highlight significant problems with Many-to-Many (M2M) relationships and default value handling. These issues suggest systemic challenges in relational data management that require immediate attention to prevent user dissatisfaction.

Development Team Activities

  1. Dominic Marcelino

    • Added unsaved changes notice to custom flow dialog.
    • Collaborated on updating notifications after flow.
    • Persisted sidebar detail group.
  2. Pascal Jufer

    • Ensured DB queries run in the same transaction for notifications.
    • Updated unread counts for notifications.
    • Added index support.
  3. Hannes Küttner

    • Fixed system filter permission checks.
    • Improved sorting in useRelationMultiple.
    • Addressed caching issues for dynamic variables.
  4. Dependabot[bot]

    • Automated dependency updates including sharp and @azure/storage-blob.
  5. SP12893678

    • Improved select radio grid layout.
    • Prevented crashes in Date type interface.
  6. Matthew Rollinson

    • Contributed to user invite token TTL feature.
    • Fixed character size limits for icon fields.
  7. Jan Arends

    • Enabled gen_random_uuid() as default field value.
    • Made minor refactors.
  8. Azri Kahar

    • Fixed CSV import issues related to BOM handling.

Of Note

  1. Critical Bug Surge: The recent influx of critical bug reports, especially concerning relational data handling, indicates urgent areas needing stabilization.
  2. Collaborative Development: Strong collaboration among team members, particularly between Pascal Jufer and Hannes Küttner, underscores a cohesive team environment.
  3. Dependency Management: Dependabot's role in automating updates highlights a proactive approach to maintaining security and performance.
  4. UI/UX Enhancements: Continuous improvements in user interface components reflect a commitment to enhancing user experience.
  5. Breaking Changes: The removal of SendGrid support (#23392) marks a significant change requiring user adaptation, emphasizing the balance between progress and disruption.

Quantified Reports

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Rijk van Zanten 2 7/6/1 53 198 3225
dependabot[bot] 1 53/40/13 40 35 2927
Hannes Küttner 4 22/21/1 27 84 1644
Pascal Jufer 2 12/14/0 19 61 1591
ian 4 5/4/0 21 34 1390
daedalus 3 4/3/0 17 33 917
Kevin Lewis 2 4/4/0 17 144 849
SP12893678 1 16/11/0 11 36 590
Jan Arends 2 3/2/1 4 7 404
Brainslug 1 1/1/0 1 9 367
José Varela 1 5/4/0 5 21 330
Dominic Marcelino 1 6/4/0 4 8 120
Florian Strasser 1 2/1/0 1 9 104
Gerard Lamusse 1 0/0/0 2 4 96
insomnia.exe 1 0/1/0 1 6 69
Benny Michaels (binaryben) 1 1/0/0 3 5 63
Crow 1 1/1/0 1 3 60
Matthew Rumery 1 2/1/1 1 3 60
Jogchum Koerts 1 1/1/0 1 3 56
Alex van der Valk 1 0/1/0 1 3 54
Florian C. Wachmann 1 1/1/0 1 2 32
Azri Kahar 1 4/4/0 4 7 30
Matthew Rollinson 1 0/0/0 1 5 18
Danilo Bürger 1 2/1/0 1 3 14
Edward Li 1 1/1/0 1 2 11
Lukáš Zelenka 1 1/1/0 1 2 10
Edouard Demotes 1 1/1/0 1 3 10
Jacob Wise 1 1/1/0 1 2 5
Nico 1 1/1/0 1 1 2
Umer Sami (UmerSami) 0 1/0/1 0 0 0
Sumit Bando (SumitBando) 0 1/0/1 0 0 0
Daniël (danielgroen) 0 1/0/1 0 0 0
Alex Gaillard (AlexGaillard) 0 1/0/0 0 0 0
Franck Pachot (YB) (FranckPachot) 0 1/0/1 0 0 0
Martin (MartinVelkov) 0 1/0/1 0 0 0
Bernat Vadell (bernatvadell) 0 1/0/0 0 0 0
Tobias Erbshäußer (terbshaeusser) 0 1/0/1 0 0 0
kevinwasike (kelvinwasike007) 0 0/0/1 0 0 0
None (SumitBando-Suraksha) 0 1/0/1 0 0 0

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

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 54 42 60 13 1
30 Days 137 107 280 42 2
90 Days 294 197 611 89 4
All Time 8371 7907 - - -

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.

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The Directus GitHub repository currently has 464 open issues, with a notable uptick in activity as several new issues have been created recently, indicating ongoing engagement from the community. Among these, there are critical bugs related to user permissions, database interactions, and interface inconsistencies that could significantly impact user experience and functionality.

Several issues exhibit common themes, particularly around the handling of relational data and user permissions. For instance, multiple reports highlight problems with Many-to-Many (M2M) relationships not displaying correctly or failing to enforce required fields. This suggests potential systemic issues in how Directus manages relational integrity and user interactions across its interface.

Issue Details

Recent Issues Created

  1. Issue #23417: App: List within a Dashboard does not render M2M fields

    • Priority: Bug
    • Status: Open
    • Created: 0 days ago
  2. Issue #23416: Default values have some weird behaviors with translations

    • Priority: Bug
    • Status: Open
    • Created: 0 days ago
  3. Issue #23415: Server crashed after trying to access deleted file

    • Priority: Needs More Info
    • Status: Open
    • Created: 0 days ago
  4. Issue #23413: Notification drawer: item count missing

    • Priority: Improvement
    • Status: Open
    • Created: 0 days ago
  5. Issue #23412: Input default value not being stored correctly

    • Priority: Bug
    • Status: Open
    • Created: 0 days ago

Recently Updated Issues

  1. Issue #23399: Add note to the register user endpoint explaining the status code

    • Priority: Improvement
    • Status: Open
    • Updated: 1 day ago
  2. Issue #23395: Incorrect Count Returned by Directus SDK Aggregation Method with Nested Filters

    • Priority: Bug
    • Status: Open
    • Updated: 2 days ago
  3. Issue #23394: Directus Extension (Integration) Testing Mocked Services

    • Priority: Documentation
    • Status: Open
    • Updated: 2 days ago
  4. Issue #23386: DirectusPolicy types for typescript in SDK is incomplete

    • Priority: Bug
    • Status: Open
    • Updated: 0 days ago
  5. Issue #23379: Default value 0 changed to null on schema apply/snapshot

    • Priority: Regression
    • Status: Open
    • Updated: 0 days ago

Implications for the Project

The recent surge in bug reports, particularly those related to relational data handling and user permissions, indicates that users are encountering significant pain points that could hinder their ability to effectively use Directus for content management. The presence of critical issues like server crashes and incorrect data rendering suggests that immediate attention is needed to stabilize the platform.

Moreover, the recurring theme of M2M field issues highlights potential architectural weaknesses in how Directus manages relationships between collections, which could lead to broader implications for data integrity and user trust in the system.

The ongoing discussions around improvements and feature requests also reflect a community eager for enhancements but possibly frustrated by existing limitations. Addressing these issues promptly will be crucial for maintaining user satisfaction and engagement moving forward.

Report On: Fetch pull requests



Overview

The dataset provides a comprehensive list of pull requests (PRs) for the Directus project, an open-source platform for managing SQL databases with REST and GraphQL APIs. The PRs cover a range of updates, including bug fixes, feature enhancements, and documentation improvements, reflecting the project's active development and community engagement.

Summary of Pull Requests

  1. #23414: Adds item count to notification drawer; improves user interface by showing the number of items in notifications.
  2. #23411: Fixes notification archive-all functionality; changes behavior to archive only visible notifications due to query limit constraints.
  3. #23410: Introduces retention support for directus_activity and directus_revisions; enhances data management capabilities.
  4. #23392: Removes support for SendGrid email transport; a breaking change requiring users to switch to SMTP.
  5. #23389: Fixes image display issue in file image interface; adds letterbox option for better image handling.
  6. #23387: Adds hide/show toggle for public registration passwords; improves user experience during registration.
  7. #23362: Updates translations via Crowdin; a routine update to maintain language support.
  8. #23328: Optimizes schema computation across nodes using Redis; addresses performance issues in distributed environments.
  9. #23308: Enhances WYSIWYG i18n translation support; adds language settings for better localization.
  10. #23276: Adds bookmarks feature in user directory; improves navigation and user customization options.

Analysis of Pull Requests

The pull requests for Directus highlight several key themes and ongoing efforts within the project:

Feature Enhancements

Many PRs focus on improving existing features or adding new ones, such as the item count in the notification drawer (#23414) and retention support for activity logs (#23410). These enhancements aim to provide a more robust and user-friendly experience, catering to both end-users and administrators.

Bug Fixes

A significant portion of the PRs address bugs, ensuring the platform remains stable and reliable. Notable fixes include resolving issues with notification archiving (#23411) and image display in interfaces (#23389). These fixes demonstrate the team's commitment to maintaining high-quality software.

Performance Optimization

Efforts to optimize performance are evident in PRs like #23328, which leverages Redis for schema computation across nodes. Such optimizations are crucial for scaling Directus in distributed environments, ensuring it can handle large datasets efficiently.

User Experience Improvements

Several PRs focus on enhancing the user experience, such as adding password visibility toggles during registration (#23387) and improving translation support in WYSIWYG editors (#23308). These changes reflect an understanding of user needs and a desire to make Directus more accessible.

Breaking Changes

The removal of SendGrid email transport support (#23392) is a notable breaking change that requires users to adapt their configurations. While such changes can be disruptive, they are sometimes necessary to improve security or performance.

Community Contributions

The dataset includes contributions from various community members, indicating active engagement and collaboration. This diversity of contributors helps ensure that Directus continues to evolve with input from different perspectives.

Documentation and Localization

Routine updates to translations (#23362) and documentation improvements are essential for maintaining accessibility across different languages and regions. These efforts ensure that Directus remains usable by a global audience.

In conclusion, the pull requests reflect a well-rounded approach to software development, balancing new features, bug fixes, performance improvements, and user experience enhancements. This ongoing work positions Directus as a competitive solution in the realm of open-source database management platforms.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Their Recent Activities

1. Dominic Marcelino

  • Recent Activity:
    • Contributed to adding unsaved changes notice to the custom flow dialog.
    • Collaborated with Pascal Jufer on updating notifications after flow.
    • Worked on persisting sidebar detail group.
  • Files Changed: 8 files with significant changes in UI components.

2. Pascal Jufer

  • Recent Activity:
    • Made multiple updates including ensuring DB queries run in the same transaction for notifications, updating unread counts for notifications, and adding index support.
    • Collaborated with multiple team members including Dominic Marcelino and Hannes Küttner.
  • Files Changed: 61 files with extensive modifications across various components.

3. Hannes Küttner

  • Recent Activity:
    • Involved in fixing system filter permission checks, improving sorting in useRelationMultiple, and addressing caching issues for dynamic variables.
    • Collaborated with Pascal Jufer on several tasks.
  • Files Changed: 84 files with a focus on permissions and database interactions.

4. Dependabot[bot]

  • Recent Activity:
    • Automated dependency updates across various packages, including sharp, @azure/storage-blob, and others.
  • Files Changed: Significant changes across multiple files due to dependency updates.

5. SP12893678

  • Recent Activity:
    • Worked on improving select radio grid layout and preventing crashes in the Date type interface.
  • Files Changed: Changes primarily focused on UI components.

6. Matthew Rollinson

  • Recent Activity:
    • Contributed to user invite token TTL feature and fixed character size limits for icon fields.
  • Files Changed: Changes included service updates and documentation.

7. Jan Arends

  • Recent Activity:
    • Focused on enabling gen_random_uuid() as a default field value and made minor refactors.
  • Files Changed: Changes involved constants and service files.

8. Azri Kahar

  • Recent Activity:
    • Fixed CSV import issues related to Byte Order Mark (BOM) handling.
  • Files Changed: Minor adjustments in import-export services.

Patterns and Themes

  1. Collaboration: There is a strong collaborative effort among team members, particularly between Pascal Jufer and Hannes Küttner, indicating a cohesive development environment focused on shared goals.
  2. Feature Focus: Recent commits show a mix of feature enhancements (e.g., notifications, sidebar details) alongside critical bug fixes (e.g., permission checks, CSV import).
  3. Dependency Management: The presence of Dependabot indicates a proactive approach to keeping dependencies up-to-date, which is crucial for maintaining security and performance.
  4. UI/UX Improvements: Several commits are dedicated to enhancing the user interface, reflecting an ongoing commitment to user experience.

Conclusions

The development team is actively engaged in enhancing Directus through collaborative efforts, focusing on both new features and critical bug fixes. The integration of automated dependency management suggests a mature development process that prioritizes stability and security while continuously improving user experience.