Weekly GitHub Report for Mastodon - 2024-12-16 12:00:11
Weekly GitHub Report for Mastodon
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is v4.3.2
1.2 Other Noteworthy Updates:
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week.
-
Missing db-level NOT NULL on some columns: This issue highlights the absence of database-level
NOT NULL
constraints on several columns within a project's schema, particularly focusing on columns ending in "_id" that are not explicitly declared as optional. The issue suggests that while model-level validations may exist, enforcing these constraints at the database level would ensure data integrity and proposes addressing each column individually through pull requests.- The comments discuss the presence of
NULL
values in various tables, noting that most tables do not containNULL
values and can be safely updated without significant locking issues. Some tables, likeaccount_migrations
,backups
, andidentities
, require further investigation due to potentialNULL
values. The conversation also covers the approach for implementing the changes, suggesting one migration per table and possibly grouping small tables with no bad data into a single pull request. - Number of comments this week: None
- The comments discuss the presence of
-
Customizable Feed System Inspired by Bluesky: This issue proposes the implementation of a customizable feed system for Mastodon, inspired by Bluesky, which would allow users to create and manage personalized feeds based on various parameters such as hashtags, keywords, and user lists, while also offering real-time updates and content filtering options. The goal is to enhance user engagement, foster community building, and improve content discovery by reducing dependence on algorithmic recommendations and providing tools for both users and developers to create and share custom feeds.
- The comments discuss potential implementation strategies, with some suggesting the use of a simple programming language for post weighting, while others propose leveraging external services for filtering and serving feeds to reduce server load. There is a consensus that implementing the feature on the client side using existing APIs is preferable, with some contributors already working on related projects. Privacy concerns and the need for advanced filtering capabilities are also highlighted, along with suggestions for API improvements to support the feature.
- Number of comments this week: None
-
Find a way to update materialized views using Scenic: This issue is about finding a way to update materialized views using the
scenic
gem without causing downtime, as the current method locks the views during updates, which is problematic for critical paths in the application. The issue suggests several potential solutions, including getting thescenic
maintainers to merge existing pull requests that address this problem, monkey patching the code, or replacing materialized views with manually populated tables.- The comments discuss the likelihood of the
scenic
maintainers merging a pull request to address the issue, with a maintainer expressing confidence in a potential end-of-year merge. An experiment branch was created to test the changes, and logs confirmed the expected operations. Further testing is planned to simulate more complex scenarios and consider the sequencing of code and view changes to avoid deployment issues. - Number of comments this week: None
- The comments discuss the likelihood of the
-
Import and Export Filters as CSV: This issue proposes adding a feature to the Mastodon platform that allows users to export and import keyword filters as CSV files, facilitating the transfer of filters between accounts without manual copying. The motivation behind this request is to simplify the process of managing multiple accounts with extensive keyword filters, similar to the functionality offered by Mastodon for keyword filtering.
- The comments express support for the feature, with users suggesting additional enhancements like regex support and more context fields. There is a clarification about the removal of suggestion labels due to a switch to new GitHub issue types. A user suggests creating a separate issue for extending filter functions to avoid losing the suggestion if the current issue is closed.
- Number of comments this week: None
-
Mastodon keeps trying to POST remote inbox with a public key already gone: This issue is about Mastodon continuously attempting to send updates to a user's inbox even after the user's profile is no longer available, resulting in numerous failing POST requests. The expected behavior is for Mastodon to cease delivery attempts when the user no longer exists, but currently, it continues to try sending updates despite receiving 404 errors indicating the public key or webfinger is not found.
- The comments discuss whether the issue is related to the error code returned when a user is no longer available. One comment suggests that Mastodon should consider a 404 error as an indication of a user's absence, similar to a 410 error. Another comment argues that the error code might not be the problem, as the issue persists even when a 410 error is returned, indicating the user is gone.
- Number of comments this week: None
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
As of our latest update, there are no stale issues for the project this week.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 14
Summarized Issues:
- Reply Indicator Issues on Mastodon: The reply indicator on Mastodon fails to show the number of replies for posts or replies set to "followers-only" visibility. This makes it challenging to manage follower-only threads and private accounts, as the indicator does not reflect replies unless they are public or unlisted. This issue affects the usability of the platform for users who rely on follower-only interactions.
- User Interface and Usability Concerns: Several issues highlight usability problems in the Mastodon interface, such as the need to restyle the logout button to prevent accidental logouts and the inability to scroll through long menus on smaller screens. Additionally, there are theming issues where buttons become unusable due to white-on-white rendering in light mode. These problems affect user interaction and accessibility on the platform.
- Database and Data Integrity Issues: The absence of
NOT NULL
constraints on certain database columns in Mastodon raises concerns about data integrity. Implementing these constraints is suggested to ensure data consistency, though it may impact table size and existing data. This issue is crucial for maintaining reliable database operations.
- Notification and Communication Problems: There are issues with notifications on Mastodon and GitHub, such as replies to a user's own comments being incorrectly categorized under "filtered notifications." This misclassification hinders seamless communication, as users may miss important interactions. Addressing these issues is essential for improving user experience.
- Materialized Views and Server Activity Display: Updating materialized views without downtime is a challenge in Mastodon, with potential solutions including merging pull requests or using manually populated tables. Additionally, enhancing the /about page to display active users and connections is proposed to help users choose servers based on activity. These improvements aim to optimize server performance and user decision-making.
- New User Experience and Account Verification: New users on Mastodon face issues where they are not redirected to the new user landing page after account approval, leading to confusion. Additionally, a proposal to add a verified badge next to autocompleted account names aims to prevent mentions of unofficial accounts. These enhancements are intended to streamline the onboarding process and improve account discoverability.
- Delivery and Playback Issues: Mastodon continues to attempt delivering updates to a user's inbox even after their public key is unavailable, causing repeated errors. Additionally, a bug allows two audio players to play simultaneously, disrupting the expected user experience. Resolving these issues is important for maintaining smooth platform functionality.
- Terms of Service and Explore Tab Issues: The Terms of Service generator in Mastodon needs modification to avoid USA-centric language for non-USA hosts, suggesting jurisdiction-based adjustments. Furthermore, the Explore tab on a specific Mastodon instance is not displaying federated network posts, requiring assistance to resolve. These issues highlight the need for localization and proper content display.
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 9
Summarized Issues:
- Node.js and Elastic/OpenSearch Version Display on Dashboard: The request to display Node.js and Elastic/OpenSearch versions on the Mastodon Administration Dashboard was closed due to existing Elastic/OpenSearch version display and challenges with Node.js integration. The dashboard already shows versions for Mastodon, Ruby, PostgreSQL, and Redis. Ensuring the updated Node.js version is used was a concern, but the integration posed significant challenges.
- Search State Management and UI Improvements: Transitioning search state management from Redux to the URL allows search queries to be reflected in the URL while maintaining recent search results in Redux for caching. This change includes suggestions for code modernization and user interface improvements such as syntax help and loading indicators. These enhancements aim to improve user experience and system efficiency.
- Performance Issues and Feature Removal: The removal of the "Top Active Servers" feature from the Admin Dashboard was necessary to alleviate excessive server CPU load caused by costly database queries. This feature's removal is intended to improve server performance, especially during high usage periods. Additionally, a performance regression following the update to version 4.3.0 resulted in sluggishness due to failed queries and potential database indexing issues.
- UI and Rendering Bugs: A problem with table rendering in the new Hashtag moderation search view resulted in an incomplete border due to the use of the
.batch-table
class without a toolbar or options. Additionally, an issue with the embed code for a status with an image attachment caused an unnecessary scrollbar in Chromium browsers. These bugs affect the visual presentation and user experience on the platform.
- Mention and Database Errors: Editing a toot results in a "422 Mention is invalid" error, causing mentions to lose their special highlighting, particularly with users from servers on subdomains. Additionally, a persistent
PG::InternalError
related to an "unknown type of jsonb container" was encountered during maintenance commands, resolved by deleting a problematic cache file, but concerns about underlying database issues remain.