PHP good first issues

855 open PHP issues currently match the default 10+ star filter. Scored difficulty: 5,947 at 1/5, 8,788 at 2/5, 12,702 at 3/5, 12,124 at 4/5, 857 at 5/5. This hub uses the same feed as the homepage, limited to repositories whose GitHub language is PHP.

All languages · Browse projects · How to find good first issues

Active projects

Unique repos with open help-wanted issues updated in the last 30 days

Showing 30 of ~855 matching filters (PHP · 10+ stars)

List

[BUG] Navbar dropdowns ("My Content") cannot be closed via click due to CSS hover conflict

AI summary

The "My Content" navbar dropdowns are not closing correctly due to a CSS hover rule that conflicts with Bootstrap's collapse toggle. This causes the dropdown to open on hover and remain open even when the toggle is clicked. The proposed fix is to remove the conflicting CSS hover rules so that the dropdown is solely controlled by the Bootstrap toggle.

bugGood first issueStale📍 Assigned
356
Difficulty
2/5

Missing translations for Burmese (my)

AI summary

This issue requests a native Burmese speaker to contribute missing translations for the Symfony framework. The contributor needs to follow specific style guidelines, work on the `6.4` branch, and update translation files for the Form, Security, and Validator components.

Good first issueHelp wantedMissing translations
31.1K
Difficulty
2/5

Separate PKCS#12 credential requirements from the sign engine contract

AI summary

This issue aims to refactor the LibreSign engine contracts to better support future external signing capabilities. It involves modifying the `SignEngineFactory` to return a more generalized interface, separating certificate-dependent methods, and ensuring existing signing flows remain unaffected. The goal is to prepare the codebase for scenarios where LibreSign won't directly manage private keys.

good first issuebackendphp
780
Difficulty
3/5

[Translation] Make read() and write() behave consistently across providers

AI summary

This issue highlights an inconsistency in how different translation providers handle requests for all translations when no specific domains are provided. The `ProviderInterface::read` method lacks clear documentation on this behavior, leading to unexpected results like empty translation bags or incorrectly named files for commands like `translation:pull`. The goal is to standardize this behavior through documentation and potential provider updates.

BugTranslationHelp wanted
31.1K
Difficulty
3/5

Migrate remaining controller consumers away from ValidateHelper

AI summary

This issue aims to migrate simple consumers away from the deprecated `ValidateHelper` class. The task involves replacing `ValidateHelper` with specific, focused validators in `FileController`, `PageController`, and `AccountController`. For `FileController` and `PageController`, `ValidateHelper` will be replaced by `SigningRequestValidator`. `AccountController` will have `ValidateHelper` removed entirely as it's unused. The goal is to maintain existing behavior while simplifying validation logic.

good first issuebackendphp
780
Difficulty
2/5

Question about Mattermost integration

AI summary

A user is experiencing issues with the Mattermost integration in Leantime, where no notifications are being sent to their Mattermost channel despite correct webhook configuration and successful webhook testing. They have tried manually running the scheduler without success and are seeking guidance on how to enable or troubleshoot these notifications.

Help WantedSelf-Hosted
10.3K
Difficulty
2/5

Manage Students toggle columns options

AI summary

This issue requests the addition of a "registration subsection" column to the "manage students" and "manage graders" pages, as it's currently missing from the column selection options. Additionally, it suggests making the "edit student" and "user id" columns always visible, as hiding them is considered an oversight.

buggood first issueInstructor UI
773
Difficulty
2/5

Standalone example in `README.md` does not work

AI summary

The standalone example in the README.md file for Laminas Cache is broken because it fails to provide the necessary `ConfigProvider` for the memory adapter to the `ConfigAggregator`. This results in a `ServiceNotFoundException` when trying to retrieve the memory adapter.

BugDocumentationHelp Wanted
107
Difficulty
2/5

Bug: phpcs is not catching trailing whitespace in PHP files

AI summary

PHP_CodeSniffer (phpcs) is failing to detect and flag trailing whitespace in PHP files, which is currently only caught by `git diff --check`. This issue requires investigating the `phpcs.xml` configuration to ensure the appropriate sniffs for whitespace are enabled and correctly configured to enforce trailing whitespace rules.

buggood first issue
799
Difficulty
2/5
ecamp/ecamp3

Dialog does not close when deleting material list from material view

AI summary

A bug exists where the dialog for editing material lists does not close after successfully deleting a material list. This leaves the user in an unexpected state, with the dialog still open and the underlying view not updating correctly. The issue is specifically observed in the material view, unlike the camp administration section where the functionality works as intended.

type: FrontendBugGood first issue
156
Difficulty
2/5

feat: Update google/protobuf version to support PHP 8.2

AI summary

This feature request proposes updating the `google/protobuf` library from version 3.15.8 to at least 3.22.0. The current version causes deprecation errors in PHP 8.1 and 8.2 related to dynamic properties and return type compatibility. The proposed update resolves these issues and ensures compatibility with newer PHP versions.

enhancementgood first issuestudent-projects
39
Difficulty
2/5

[Bug] 1.30.0: scroll position is rewritten on every article toggle when "Stick the article to the top when opened" is disabled (regression from #8870)

AI summary

A bug in FreshRSS version 1.30.0 causes the scroll position to be reset on every article toggle when the "Stick the article to the top when opened" setting is disabled. This regression, originating from a previous change, makes it difficult to navigate articles by constantly shifting the view. The issue is exacerbated when articles are displayed collapsed or when jumping to the next article after marking one as read.

UI :art:help wantedBug (unconfirmed)
15.4K
Difficulty
2/5

Migrate remaining services and middleware away from ValidateHelper

AI summary

This issue involves migrating remaining service and middleware consumers away from a deprecated `ValidateHelper` class. The task requires replacing calls to `ValidateHelper` with direct calls to newly introduced, focused validator classes, ensuring no change in validation behavior. Specific services like `RequestSignatureService`, `AccountService`, and `SignFileService` are listed with their respective validator replacements and method mappings.

good first issuebackendphp
780
Difficulty
2/5

Refactor needed for methods `check_payment_intent_attached_to_order_succeeded` and `check_against_session_processing_order`

AI summary

This issue requires refactoring two methods in the `Duplicate_Payment_Prevention_Service` class. The methods currently return inconsistent types (array or void/null) and perform unintended side effects like modifying session data. The goal is to make these methods return boolean values indicating their check results and move side actions to the calling code.

good first issuetype: technical debtcategory: refactorcategory: corefocus: payments acceptance & processingCode Quality
191
Difficulty
3/5

onlyoffice co editing

AI summary

The user is experiencing issues with OnlyOffice co-editing within Nextcloud. While users can see each other's mouse cursors, no actual text or data is synchronized between them. Additionally, printing documents results in empty PDF files.

bughelp wanted
142
Difficulty
4/5
uiowa/uiowa

Remove project content type + split from icsa.uiowa.edu

AI summary

This issue proposes the removal of a custom project content type from the icsa.uiowa.edu website. The content has already been migrated to pages, and the content type is no longer in use, making its removal a straightforward cleanup task.

good first issueclasDXsmall
13
Difficulty
2/5
uiowa/uiowa

Performing Arts redirects and removals

AI summary

This issue requests the redirection of two archived performing arts websites (theatrelobby.studio.uiowa.edu and virtualdance.studio.uiowa.edu) to new, active pages. After confirming the redirects are functioning correctly, the original sites will be removed.

good first issueclassmall
13
Difficulty
2/5

[Translation] What about putting translations in a cache pool?

AI summary

This issue proposes to store translation caches in a dedicated cache pool within the symfony-bundle. The goal is to simplify the process of invalidating and warming up translation caches, especially when translations are updated in production via cron jobs. The current implementation uses some 'hacky' workarounds that could be improved with this approach.

TranslationRFCHelp wantedKeep open
31.1K
Difficulty
3/5

Add support for List AI Request Logs method

AI summary

This issue requests the addition of a new method to the client library that allows users to list AI request logs. This new method will mirror the functionality of the Crowdin API's "List AI Request Logs" endpoint, enabling users to audit AI usage and costs through the SDK. It includes a comprehensive list of optional query filters and response fields for detailed logging.

enhancementgood first issue
61
Difficulty
2/5

Add support for Application Consents API

AI summary

This issue requests the addition of support for the Crowdin Application Consents API, which allows managing consent decisions for applications on crowdin.com. It involves implementing methods for listing, adding, editing, and deleting application consents, including handling specific request parameters and response models.

enhancementgood first issue
61
Difficulty
2/5

Add support for organization-level Concordance search

AI summary

This issue requests the addition of new organization-level concordance search endpoints to the client library. These new endpoints will allow searching across all accessible glossaries and translation memories, expanding upon the existing project-scoped functionality. The implementation involves adding two new methods corresponding to the Crowdin API's glossary and TM concordance search endpoints.

enhancementgood first issue
61
Difficulty
2/5

Explain when a signer has no visible signature field

AI summary

This issue requests the addition of an informational message to the LibreSign interface when a user is asked to sign a document that does not have a visible signature field. The message should explain that a digital signature will still be applied and can be validated, addressing potential user confusion about the incomplete-looking interface. The implementation should reuse an existing helper function to detect this state and display the message using `NcNoteCard` in `Sign.vue` before the main signing action.

good first issuefrontendjavascriptfeature-request
780
Difficulty
2/5

Add tests for Product Categories List Block that confirm the inspector controls change the block correctly

AI summary

This issue proposes adding unit tests for the Product Categories List block in the WordPress editor. The goal is to ensure that the inspector controls, which allow users to customize the block's appearance (e.g., changing to a dropdown, adding images, or product counts), function as expected and are properly tested to prevent regressions.

Good First Issueneeds: developer feedbackfocus: unit testsKirigamiBlocks/Patterns/Templatesblock: product categories list
10.4K
Difficulty
2/5

[Serializer] MaxDepth annotation not working as expected

AI summary

The MaxDepth annotation in Symfony's Serializer is not correctly limiting recursion when dealing with relationships between multiple different classes. It appears to only stop at the specified depth if the same class is encountered repeatedly or if a circular reference is found, failing to handle diverse class hierarchies as intended.

SerializerBugStatus: Needs ReviewHelp wantedKeep open
31.1K
Difficulty
3/5

[Security] Add "sudo mode"

AI summary

This issue proposes adding a "sudo mode" security feature to Symfony core, which requires users to re-enter their password before performing critical actions. While some believe it's a valuable addition, others argue it's simple enough for individual developers to implement, sparking a discussion on its inclusion.

SecurityFeatureRFCHelp wantedKeep open
31.1K
Difficulty
3/5

Console: Support Left/Right Arrow Keys

AI summary

This issue requests the addition of support for left and right arrow keys in Symfony Console's QuestionHelper. The user has identified relevant code changes and a new Cursor class that might facilitate this feature, and is willing to contribute a Pull Request.

FeatureConsoleHelp wantedKeep open
31.1K
Difficulty
3/5

[DependencyInjection] beforeNormalization+ifString doesn't work on root node

AI summary

This issue describes a bug in Symfony's Dependency Injection component where the `ifString` condition within `beforeNormalization` does not execute when applied to the root node of a configuration tree. This prevents expected preprocessing logic from running, leading to incorrect configuration processing, especially when the root configuration is initially a string.

BugConfigStatus: Needs ReviewHelp wantedKeep open
31.1K
Difficulty
3/5

[Security] Credentials check action ignores scheme (https) requirement

AI summary

This issue reports a security vulnerability where the `schemes='https'` annotation on a Symfony route is not enforced by default. Users can bypass the HTTPS requirement for the login check endpoint by manually changing the URL from HTTPS to HTTP, even though the route is explicitly configured to require a secure connection. The workaround involves adding a specific `requires_channel: https` rule in the `security.yml` configuration.

SecurityBugStatus: ReviewedHelp wantedKeep open
31.1K
Difficulty
2/5

Form field empty_data value guessing with PHP 7

AI summary

This issue proposes a feature enhancement for Symfony Forms to better handle the `empty_data` option when dealing with PHP 7's strict typing. The current behavior can lead to `TypeError` exceptions when a form field is submitted with no data, as PHP 7 expects specific types (like strings) and `null` is passed instead. The goal is to allow Symfony to intelligently guess or provide default `empty_data` values to prevent these errors.

FormFeatureHelp wantedKeep open
31.1K
Difficulty
3/5

Also browsing: Python , TypeScript , JavaScript