‹ Reports
The Dispatch

OSS Report: tryghost/ghost


GitHub Logo GitHub Logo

Database Migration Errors Highlight Stability Concerns in Ghost Project

Ghost, an open-source headless CMS for modern publishing, faces critical database migration issues affecting user upgrades, alongside ongoing editor functionality problems.

Recent Activity

Recent issues and pull requests (PRs) highlight recurring themes of database migration errors and editor functionality concerns. Issue #21058 reports a critical "Unknown database error" during upgrades, indicating potential stability risks. Editor-related issues, such as shortcut collisions (#21019) and hyperlink problems in Firefox (#20976), suggest persistent usability challenges.

Development Team and Recent Activity

  1. Fabien 'egg' O'Carroll (allouis)

    • Fixed type errors in admin-x-activitypub.
    • Implemented toast notifications for replies.
    • Collaborated on UI improvements.
  2. Djordje Vlaisavljevic (djordjevlais)

    • Enhanced feed item layout.
    • Added features like a "Copy link" button.
  3. Kevin Ansfield (kevinansfield)

    • Improved error handling for editor crashes.
    • Added logging for debugging.
  4. Michael Barrett (mike182uk)

    • Updated activities tab in ActivityPub app.
  5. Princi Vershwal (vershwal)

    • Improved email analytics performance.
  6. Sanne de Vries (sanne-san)

    • Updated styles for comments UI.
  7. Ronald Langeveld (ronaldlangeveld)

    • Added integrity tokens for API security.
  8. Steve Larson (9larsons)

    • Implemented local revisions to prevent data loss.
  9. Daniel Lockyer (daniellockyer)

    • Improved CI performance with build updates.
  10. Hannah Wolfe (ErisDS)

    • Enhanced translation support across locales.

Of Note

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 6 5 24 0 1
30 Days 18 13 41 7 1
90 Days 47 41 133 17 1
1 Year 224 200 549 72 1
All Time 6905 6875 - - -

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
Steve Larson 6 4/3/0 60 57 12955
renovate[bot] 14 35/25/2 42 28 10208
Chris Raible 6 14/10/2 21 37 5659
Kevin Ansfield 7 27/27/0 47 120 3206
Hannah Wolfe 2 15/14/0 19 56 3205
Ronald Langeveld 3 7/7/0 10 43 2861
Peter Zimon 2 10/10/0 11 44 2500
Fabien 'egg' O'Carroll 7 8/7/0 44 18 1764
Princi Vershwal 2 7/7/0 9 19 1650
Djordje Vlaisavljevic 3 7/7/0 30 22 1508
Michael Barrett 3 9/8/0 13 9 1427
Sanne de Vries 2 5/5/0 6 62 1258
Daniël van der Winden 7 9/8/1 17 15 1040
Sodbileg Gansukh 5 4/3/0 11 31 1010
Daniel Lockyer 3 15/14/0 17 38 832
Tomáš Baránek 1 1/1/0 1 4 384
Sam Lord 2 2/2/0 8 18 377
chicodurden21 1 4/2/2 2 4 346
Paul 1 1/1/0 1 4 330
Sag 1 4/3/0 3 17 314
zivko-koraci 1 1/1/0 1 4 289
Cathy Sarisky 1 3/1/0 1 49 205
Sirichai Chulee 1 0/0/0 1 21 106
Ghost CI 3 0/0/0 8 2 38
Cuong Thach 1 1/1/0 1 1 34
Duy 1 1/1/0 1 1 24
Alexandre "Lekler" Rodrigues 1 1/1/0 1 1 22
Amel Sućeska 1 0/0/0 1 4 10
matsbst 1 2/1/0 1 1 4
Yovko Lambrev (yovko) 0 1/0/0 0 0 0
Mark Stosberg (markstos) 0 1/0/0 0 0 0
Kaiwalya Koparkar (kaiwalyakoparkar) 0 1/0/0 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 recent GitHub issue activity for the Ghost project shows a total of 30 open issues, with several critical bugs and feature requests. Notably, there are recurring themes around issues related to the editor's functionality, database migration problems, and inconsistencies in user interface elements across different themes and modes. The presence of unresolved migration errors and editor bugs suggests potential stability concerns that could affect user experience.

Several issues indicate a lack of clarity in documentation or feature implementation, particularly regarding the handling of environment variables and API functionalities. This could lead to confusion among users attempting to configure or extend the platform.

Issue Details

Recent Issues

  1. Issue #21058: Upgrading from 5.68.X throws an "Unknown database error"

    • Priority: Needs Triage
    • Status: Open
    • Created: 1 day ago
    • Summary: The user reports an upgrade issue where the database connection fails after upgrading past version 5.68.0. The CLI indicates correct configurations, but the application fails to connect.
  2. Issue #21034: Gallery images disappear, even though they're still there in the backend

    • Priority: Needs Triage
    • Status: Open
    • Created: 4 days ago
    • Summary: Users report that images added to galleries disappear on the frontend despite being present in the backend.
  3. Issue #21021: Environment variables should be capitalized

    • Priority: P4 - Low
    • Status: Open
    • Created: 5 days ago
    • Summary: A request for Ghost to support uppercase environment variables for compatibility with secrets management tools.
  4. Issue #21019: Editor shortcuts collision on Firefox

    • Priority: P4 - Low
    • Status: Open
    • Created: 5 days ago
    • Summary: A reported conflict between browser shortcuts and Ghost editor shortcuts, specifically for converting text to quotes.
  5. Issue #21007: Tips: edit link issue with uBlock Origin

    • Priority: Needs Triage
    • Status: Open
    • Created: 7 days ago
    • Summary: Users cannot edit links when uBlock Origin is enabled, indicating a potential compatibility issue with browser extensions.
  6. Issue #20976: Firefox 115.15.0esr (64-bit) - Can't add hyperlink in the new editor

    • Priority: Needs Triage
    • Status: Open
    • Created: 10 days ago
    • Summary: Users report issues adding hyperlinks in Firefox after upgrading Ghost.
  7. Issue #20944: Memory leak when adding a bookmark link in post editor

    • Priority: P3 - Medium
    • Status: Open
    • Created: 13 days ago
    • Summary: Users experience memory leaks when adding specific URLs as bookmarks.

Important Themes

  • Editor Functionality Issues: Multiple reports indicate problems with the editor's behavior, particularly concerning link handling and shortcut collisions.
  • Migration Problems: Several issues revolve around database migration errors during upgrades, suggesting that users may face challenges when updating their installations.
  • Compatibility Concerns: Issues related to browser compatibility (especially with Firefox) and third-party extensions like uBlock Origin highlight potential barriers for users.
  • Documentation Gaps: Requests for clearer guidance on environment variable usage and API functionalities suggest that better documentation could enhance user experience and reduce confusion.

Summary of Notable Issues

  • Issue #21058 (Upgrading from 5.68.X throws an "Unknown database error")
  • Issue #21034 (Gallery images disappear)
  • Issue #21021 (Environment variables should be capitalized)
  • Issue #21019 (Editor shortcuts collision on Firefox)
  • Issue #21007 (Edit link issue with uBlock Origin)

This analysis reflects ongoing challenges within the Ghost project that could impact user satisfaction and overall platform stability if not addressed promptly.

Report On: Fetch pull requests



Overview

The analysis of the provided pull requests (PRs) for the Ghost project reveals a diverse range of contributions, including bug fixes, feature enhancements, translation updates, and dependency upgrades. The PRs demonstrate active maintenance and development efforts within the Ghost community.

Summary of Pull Requests

Recent Pull Requests

  • PR #21063: Fixes migrations for SQLite database users by adjusting batch sizes to improve compatibility without significant performance impact.
  • PR #21062: Updates Bulgarian translations with corrections and improvements.
  • PR #21055: Adds translation helper for sodo-search, wrapping strings for better localization support.
  • PR #21054: Prepares the activitypub app for pagination by refactoring how activities are processed and displayed.
  • PR #21050: Adds German translations contributed by the community.
  • PR #21049: General cleanup of the stats page with an emphasis on improving clickthrough data handling.
  • PR #21043: An admin-only release focusing on debugging and error handling improvements.

Analysis of Pull Requests

The PRs indicate ongoing efforts to enhance Ghost's functionality, improve localization, and maintain compatibility with various databases. Notably:

  1. Localization Efforts: Multiple PRs focus on updating and adding translations for different languages, highlighting Ghost's commitment to being accessible to a global audience.

  2. Feature Enhancements: Several PRs introduce new features or improve existing ones, such as pagination in the activitypub app and better handling of clickthrough data on the stats page.

  3. Maintenance and Bug Fixes: PRs addressing bug fixes and maintenance tasks are prevalent, ensuring that Ghost remains stable and reliable. This includes fixing migration issues for SQLite users and improving error handling in the editor.

  4. Community Contributions: The involvement of community members in translating content and contributing code enhancements reflects a healthy ecosystem around Ghost, where users actively participate in its development.

  5. Dependency Management: Regular updates to dependencies like superagent, tailwindcss, and others show diligence in keeping the project up-to-date with the latest improvements and security patches from third-party libraries.

Analysis of Pull Requests

The themes emerging from the analysis of PRs include:

  • Localization and Internationalization: There's a strong focus on making Ghost more accessible through translations and localization efforts. This is crucial for a CMS aiming for a global user base.

  • Feature Development and Enhancement: Continuous improvement of features like pagination in activitypub and better analytics handling indicates an active effort to enhance user experience and expand functionality.

  • Community Engagement: The contributions from community members in terms of translations and feature requests suggest a vibrant community that is invested in the growth and improvement of Ghost.

  • Robust Maintenance Practices: Regular bug fixes, dependency updates, and performance improvements reflect good maintenance practices, ensuring that Ghost remains secure, efficient, and reliable.

In conclusion, the pull requests reflect a well-maintained project with active community involvement, continuous feature enhancement, and a strong focus on localization to cater to a global audience.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Their Recent Activities

  1. Fabien 'egg' O'Carroll (allouis)

    • Fixed type errors in admin-x-activitypub.
    • Ensured type checks are part of unit tests.
    • Fixed bugs related to textarea focus and reply button functionality.
    • Implemented toast notifications for replies and emptied reply textarea after success.
    • Collaborated with Djordje Vlaisavljevic on various UI improvements.
  2. Djordje Vlaisavljevic (djordjevlais)

    • Improved focus state in the reply box component.
    • Fixed linting issues and stretched avatars in replies.
    • Enhanced feed item layout and typography.
    • Added new features like a timestamp and a "Copy link" button.
    • Worked on static designs for ActivityPub content.
  3. Kevin Ansfield (kevinansfield)

    • Fixed "Editor crashed" error handling for valid 404s.
    • Added extra logging for post state changes and debugging 404 errors.
    • Improved logging for unsaved changes modal in the editor.
    • Collaborated with Fabien on editor-related fixes.
  4. Michael Barrett (mike182uk)

    • Updated the activities tab to utilize the new activities endpoint in the ActivityPub app.
    • Added comment navigation and nested comment rendering in the admin-x-activitypub app.
  5. Princi Vershwal (vershwal)

    • Fixed bookmark card hotlinking icons and thumbnails.
    • Improved performance of email analytics jobs by prioritizing open events.
  6. Sanne de Vries (sanne-san)

    • Updated styles for comments UI and donation emails.
    • Improved mobile styles for social buttons in the publish flow.
  7. Ronald Langeveld (ronaldlangeveld)

    • Added support for integrity tokens in various API endpoints to prevent bot signups.
    • Enhanced donation handling logic within Stripe integration.
  8. Steve Larson (9larsons)

    • Implemented local revisions to prevent data loss in the editor.
    • Refactored job management logic to improve performance and maintainability.
  9. Daniel Lockyer (daniellockyer)

    • Updated build configurations to improve CI performance.
    • Cleaned up settings cache after tests to ensure consistent test results.
  10. Hannah Wolfe (ErisDS)

    • Updated KPI handling to fetch missing data correctly.
    • Improved translation support across various locales.

Patterns, Themes, and Conclusions

  • Focus on UI/UX Improvements: A significant amount of recent activity revolves around enhancing user interface components, particularly in the admin-x-activitypub app, indicating a strong emphasis on user experience.

  • Collaboration Among Team Members: Multiple commits show collaboration between team members, particularly between Fabien and Djordje, highlighting effective teamwork in addressing issues and implementing features.

  • Robust Testing Practices: There is a notable focus on improving testing coverage, especially around editor functionalities and email analytics, which suggests a commitment to maintaining code quality as new features are added.

  • Bug Fixes and Performance Enhancements: A considerable number of commits are dedicated to fixing bugs, especially related to the editor's behavior during various states (e.g., saving drafts, handling unsaved changes). This indicates an ongoing effort to refine system stability.

  • Integration of New Features: The team is actively integrating new functionalities such as comment navigation, integrity tokens for security, and enhanced email handling capabilities, showcasing adaptability to evolving project requirements.

Overall, the development team is actively engaged in refining both the functionality and usability of the Ghost platform while ensuring robust testing practices are in place to support ongoing development efforts.