Found 25 issues

First time here? 👋

Welcome to Find a PR.

Find a PR is an open-source site that is built to help developers find projects so that they can submit their very first pull request.

If you're a contributor looking to find a project to contribute to, feel free to browse through the list below.

If you're a maintainer looking to list your project on Find a PR, you can read how to do this in the documentation.

help wanted findapr

symfony 7.4 php 8.5

Development is taking place on IIS, in the "Symfony" folder. Instead of the address "/Symfony/vendor/flasher/flasher.min.js" like other resources embedded via "asset," the address "/vendor/flasher/flasher.min.js" is inserted, which results in an error. The CSS file isn't embedded at all.

View more
2 comments
yaroslaw74

yaroslaw74

12th Apr 2026 @ 16:01

documentation help wanted good first issue

Provide updates to new functionalities in the v2 of the package.

View more
kwakuOfosuAgyeman

kwakuOfosuAgyeman

5th Jan 2025 @ 05:45

help wanted

This will probably be a component to search and select an image from unsplash.

View more
1 comment
joedixon

joedixon

12th Oct 2021 @ 19:59

enhancement help wanted good first issue

using prompt engineering techniques provide enhancement to the Gemini service class in the Gemini prompt class, creating functions commonly used in Laravel applications.

View more
kwakuOfosuAgyeman

kwakuOfosuAgyeman

5th Jan 2025 @ 05:43

help wanted
  • Laravel version: 13.24.0
  • PHP version: 8.5.9
  • Database driver & version: SQLite 3 in memory, through Testbench 11.1

I was counting queries on an ordinary index endpoint and ended up with 101 queries for 100 records with ?include=comments. The same listing built as Post::with('comments')->get() gives 2. Before I read anything into that I'd like to know whether the loading is meant to be the developer's job here.

Where it comes from, as far as I can tell. ResolvesJsonApiElements:: compileResourceRelationships() calls $this->resource->loadMissing(...), and $this->resource in that method is always a single model, because both callers return early unless it is one. AnonymousResourceCollection::toAttributes() then maps resolveResourceData() over the collection item by item, so every item runs its own loadMissing against its own model.

The nested level behaves differently, and that's why I'm asking rather than just eager loading and moving on. With 10 posts and ?include=comments.author I get 21 queries: one for the posts, ten for the comments, ten for the authors. But the author lookups are batched inside each post, select * from "authors" where "authors"."id" in (1, 2, 3), because the second loadMissing runs on $relatedModels, which is already a collection. So the batching is there. It just never reaches the outer level.

What I measured, all on 13.24.0:

request queries
single post, ?include=comments 2
10 posts, no eager loading 11
10 posts, with('comments') 2
10 posts, ?include=comments.author 21
10 posts, with('comments.author') 3
100 posts, no eager loading 101
100 posts, with('comments') 2

I'm leaving timings out on purpose. This is sqlite in memory, so the numbers there say more about serialisation than about the database, and the counts are what matters.

The case for "working as intended", which I can make myself: the call is loadMissing and not load, which reads like topping up whatever the developer forgot, not like owning the loading, and the documentation does show eager loading in the controller. If that's the answer then this is a documentation note at most and I'll drop it. It just seems like a lot to leave to a query log on an endpoint whose output is completely correct.

Two things I did not check, in case they matter: whether the same happens through an explicit ResourceCollection class and not the anonymous one, and whether chaperone() changes any of it. Both looked like separate paths when I skimmed them, so I might be missing something.

Steps to reproduce

Post hasMany Comment, Comment belongsTo Author. Resources generated with make:resource --json-api, PostResource declaring $relationships = ['comments'], CommentResource declaring $relationships = ['author'].

Route returning PostResource::collection(Post::all()), 100 posts with three comments each, then GET /posts?include=comments with Accept: application/vnd.api+json and DB::listen() counting.

View more
1 comment
Bosun18

Bosun18

20th Aug 2026 @ 09:11

enhancement good first issue

using prompt engineering techniques provide enhancement to the Claude service class in the Claude prompt class, creating functions commonly used in Laravel applications. For example, brand builder, seo product optimizer, video and or image captioner, automated chatbots #goodfirstissue

View more
kwakuOfosuAgyeman

kwakuOfosuAgyeman

5th Jan 2025 @ 05:38

help wanted findapr

Hello, When using php-flasher-toastr with Laravel 11, I encounter a TypeError: array_replace_recursive(): Argument #2 must be of type array, int given error in Illuminate\Translation\FileLoader at line 130. My environment:

  • PHP: 8.3.7
  • Laravel: 11.4.2
  • php-flasher/flasher-toastr-laravel: 2.1
  • php-flasher/flasher-laravel: 2.1 The error disappears when I uninstall php-flasher/flasher-toastr-laravel and php-flasher/flasher-laravel. Alternatively, ensuring that the value passed to with() is always a string (e.g., with('success', 'Message')) prevents the error.
View more
2 comments
Gnoth2n5

Gnoth2n5

27th Mar 2025 @ 17:30

good first issue filament

On the record update for an active incident, there needs to be a tie to the component to be update the current component status.

Image

View more
glipschitz

glipschitz

19th Jan 2025 @ 03:05

help wanted findapr

Immediately after installing php-flasher/flasher-laravel, the application breaks with the following error:

foreach() argument must be of type array|object, bool given Simply installing the package causes this fatal error.

Steps to Reproduce:

Create a fresh Laravel app.

Run:

composer require php-flasher/flasher-laravel

Load any page in the app — no usage of flasher() or flasher_render() yet.

Laravel crashes with a foreach() error.

View more
8 comments
dlopez525

dlopez525

11th Apr 2025 @ 18:20

help wanted
View more
weaverryan

weaverryan

10th Jan 2024 @ 19:05

help wanted
View more
7 comments
joedixon

joedixon

12th Oct 2021 @ 19:56

help wanted findapr

Description: I am using Flasher 2.0.1 in my Laravel 11 project and would like to know how to properly use the Flasher library in JavaScript. Additionally, I want to ensure that the JavaScript configuration is consistent with the settings defined in the flasher.php configuration file.

Details: Flasher Version: 2.0.1 Laravel Version: 11 Problem: Need guidance on using the Flasher library with JavaScript in a way that mirrors the configuration set in flasher.php.

View more
raseldev99

raseldev99

16th Sep 2024 @ 04:50

help wanted findapr

Hi Developer,

I appreciate your work on this project—it's really well-built and helpful for developers like me. I recently implemented it and found it working great.

However, I noticed that the .fl-wrappe class currently has z-index: 10, which causes it to appear under the header when using a fixed or sticky header. I suggest updating it to z-index: 99999 to ensure proper visibility.

Thanks for your efforts and for sharing this project!

Best regards, Md. Jahangir Alam Rohan.

View more
1 comment 🎉 1
rohan9222

rohan9222

18th Feb 2025 @ 04:20

good first issue hacktoberfest

It should be possible to configure Cachet via a cachet:install Artisan command.

v2.x had an interactive command that would ask you questions and store the configuration.

For v3.x, this won't work exactly the same as we now have a mix of .env and database settings, but the idea is the same.

View more
3 comments
jbrooksuk

jbrooksuk

9th Oct 2024 @ 20:21

help wanted

We need a method of migrating users from 2.4 to 3.x.

Things to consider:

  • Migrate settings
  • Migrate resources
  • Migrate subscriptions / subscribers
  • Migrate API Keys

AOB (please add to this list)


As a comment on the latter, once #183 is merged, we'll need to programmatically migrate users 2.4 API Keys to 3.x using something like the following

$v2ApiKey = $v2User->api_key;

$v3User->tokens()->create([
    'name' => 'v2.4 API Key',
    'token' => hash('sha256', $v2ApiKey),
    'abilities' => ['*'],
    'expires_at' => now()->addDays(90),
]);

@jbrooksuk We need to decide on the abilities and expires_at. IMO it makes sense to throw something into the upgrade documentation that old 2.4 API Keys will continue to work for up to 90 days. But if they want to use the API after that, then they'll need to generate a new API Token using the 3.x dashboard.

View more
1 comment
joelbutcher

joelbutcher

15th Jan 2025 @ 18:19

help wanted
View more
1 comment
julianstolp

julianstolp

11th Mar 2025 @ 14:11

help wanted findapr

Hello,

Is it possible to close a flash message by clicking on it and not just on clicking on the cross? If so, how to achieve it?

Regards, Fred

View more
frdemoulin

frdemoulin

13th Aug 2025 @ 20:21

help wanted

Hi 👋🏼!

I am coming here to gather some feedback on my idea before starting working on it.

Background

I wanted to create a POC of https://github.com/symfony/skeleton made for Sylius. I created a simple recipe for sylius/core-bundle, then an example skeleton repo and I have found out my recipes does not work as another recipe already write files with the same name. Then, I noticed symfony/framework-bundle is always put as the first recipe to be executed, and this is a thing I wish to be able to configure.

Goal

Somehow allow myself to make (in this POC case) sylius/core-bundle as a first recipe to be executed. Of course, I can fork symfony/flex, but it would be perfect to avoid this way.

Idea

The idea is simple, we allow configuring such list for example in this way:

{
    ...
    "extra": {
        "flex": {
            "prioritized-recipes": [
                "sylius/core-bundle",
                "another/sylius-package",
                ...
            ]
        }
    }
    ...
}

In Flex we could implement this +/- this way:

        // symfony/framework-bundle recipe should always be applied first after the metapackages
        // however, we allow to override it with a list of prioritized recipes
        $recipes = $this->getPrioritizedRecipes();
        $recipes = array_merge($recipes, [
            'symfony/framework-bundle' => null,
        ]);
        $packRecipes = [];
        $metaRecipes = [];

instead current

        // symfony/framework-bundle recipe should always be applied first after the metapackages
        $recipes = [
            'symfony/framework-bundle' => null,
        ];
        $packRecipes = [];
        $metaRecipes = [];

Why?

  • In some projects, we may want to load our recipes before the Symfony's ones
  • In frameworks based on Symfony (like Sylius) we need to set up the whole project in our own way, so framework-bundle as a first recipe to be executed makes it unable for us

Other options

I have not checked it yet, but I believe we can achieve the similar feature using Composer's Event Dispatcher. But first, I would like to hear if such a feature is welcomed. Or maybe you have a better idea how to solve this. I am open to provide such feature right after we agree on some solution.

View more
6 comments ❤️ 1
jakubtobiasz

jakubtobiasz

7th Nov 2022 @ 19:24

help wanted findapr

I tried the example config from the docs to a Laravel/Inertia/Vue app, and it don't work.

If use the code (HandleInertiaRequests.php): 'messages' => flash()->render([], 'array'),

Error: Flasher\Prime\Flasher::render(): Argument #1 ($presenter) must be of type string, array given, called in D:\Laragon6\www\mobi-care\app\Http\Middleware\HandleInertiaRequests.php on line 36

And changing it to: 'messages' => flash()->render('array'), it loads the page, but, I only see the notifications if i press F5, with its not the desired state.

View more
brunonetadmin

brunonetadmin

18th Mar 2025 @ 17:16

good first issue hacktoberfest

The dashboard should offer the ability to toggle the theme between:

  • Automatic (System)
  • Light
  • Dark

Further, the dashboard should have a "Theme" option to force a theme mode.

View more
2 comments
jbrooksuk

jbrooksuk

3rd Oct 2024 @ 18:34

good first issue

I would love to see support for oAuth in Catchet. I know there are some other (closed) issues requesting the same functionality, but I think this would be a great addition for Catchet.

View more
4 comments 👍 1
FoksVHox

FoksVHox

28th Feb 2025 @ 08:29

help wanted

What about allowing displaying post-install messages again, eg when running this?

composer recipes the/package

View more
nicolas-grekas

nicolas-grekas

1st Jun 2022 @ 09:13

help wanted

NotOrm Package

The goal is to make abstract code based on the package notorm to build a new orm system

View more
ambroisehdn

ambroisehdn

15th Jun 2022 @ 12:34

help wanted

Sulu CMS separates its assets into assets/admin and assets/website, this means when installing Encore within a Sulu CMS install you will have to change a bunch of paths: https://docs.sulu.io/en/latest/cookbook/webpack-encore.html

This isn't my main issue, I think this is acceptable for an initial setup. But I do think we can improve what happens when you composer require a symfony bundle that provides stimulus controllers.

In the Sulu + Encore setup, the controllers.json file lives in assets/website/controllers.json. But since this path is hardcoded here:

https://github.com/symfony/flex/blob/441f671b86a1b651e969dbc380bfee05e004780f/src/PackageJsonSynchronizer.php#L166-L170

The controllers.json is not updated automatically and there's no output telling you to manually do this either. So you're left a little lost in what is still missing. Also, figuring out what to manually add in controllers.json is quite tricky since most existing UX bundles don't document this manual setup.

Before I start hacking away at a PR, any suggestions how we can solve this properly? Or do we accept that this is not configurable and those who use custom paths just have to deal with it?

Thank you in advance.

View more
4 comments 👍 1
rskuipers

rskuipers

27th Dec 2022 @ 21:16