wemersonrv wrote a comment+100 XP
1w ago
My PHPStorm don't have this "Add your Prompts" option. How can i activate it?
I can see the bar with the refactor option, the AI icon too, and some options in the dropdown, but not this option
Even with the Show Prompt in 'AI Actions' popup selected, it does not shows. When click in AI Actions icon in the floating toolbar, it just opens the AI Chat with the selected code inside, and the workaround i was able to do is to manually type the command in chat.
wemersonrv wrote a comment+100 XP
2w ago
wemersonrv wrote a comment+100 XP
2w ago
Why all installed agents are updated, but not Junie AI?
See what i'm doing:
- Added the
unguardedinstruction to .ai/guidelines/laravel.md - Run
php artisan boost:install
CLAUDE.md and AGENTS.md (Opencode) were updated with the new instruction, but the junie directives.md was not updated.
Junie is not handled by boost?
wemersonrv wrote a comment+100 XP
3w ago
Great job, guys! Simon, Jeremy, and @jeffreyway . It was awesome to see how each of you tackled some challenges in different ways... it really added a lot to the course and made everything way more interesting to follow!!!
How about a plus?! it would be really cool to have a 4th instructor to mixt it a little bit... How about bring Caleb in to build a Livewire version? I think it is a great way to compare your approaches side by side and help us figure out which tools fit best depending on the situation, and of course; our preferences!
Thanks again for such a great course 🙌
wemersonrv liked a comment+100 XP
3w ago
@wemersonrv Thank you so much for the detailed comment! Really happy to know that the course was helpful :)
wemersonrv wrote a comment+100 XP
2mos ago
wemersonrv wrote a comment+100 XP
2mos ago
wemersonrv wrote a comment+100 XP
2mos ago
Amazing video! I always had my struggles with Polimorphic... Until now! Thank you!
I have just a question about an issue i had now:
I've made a small change — I just swapped the content and morphs lines in the migration — and the result was crazy. The data got completely shuffled and ended up in the wrong columns! 😱😱😱
Schema::create('descriptions', function (Blueprint $table) {
$table->id();
$table->morphs('describable'); // describable_id; describable_type
$table->string('content');
$table->timestamps();
});
| id | content | describable_type | describable_id | ... |
|---|---|---|---|---|
| 1 | users | 1 | Senior Developer | ... |
| 2 | teams | 1 | We build the backend systems of the app. | ... |
Why does this happen? Is there a specific rule about the order of the columns?
wemersonrv wrote a reply+100 XP
2mos ago
Didn't works.
And i don't found any v2.5.0+ version for blade-formatter. The latest version available is v1.44.2: https://www.npmjs.com/package/blade-formatter?activeTab=versions
wemersonrv started a new conversation+100 XP
2mos ago
My Laravel Pint setup is not indenting some custom Blade directives correctly.
I am using custom Blade directives that behave like structural blocks (similar to @if, @foreach, etc.). However, when running Pint, the indentation inside these directives is removed or flattened.
Here is a simplified example.
Original Blade code (properly indented)
<div class="mt-8 grid grid-cols-3 gap-6 relative">
@island(name: 'metrics', defer: true, always: true)
@placeholder
<flux:skeleton class="h-30" animate="shimmer"/>
<flux:skeleton class="h-30" animate="shimmer"/>
<flux:skeleton class="h-30" animate="shimmer"/>
@endplaceholder
@island(always: true)
<div wire:poll.5s>
<livewire:pages::analytics.metric heading="Views" :number="$this->views" :change="12"/>
</div>
@endisland
<livewire:pages::analytics.metric heading="Visitors" :number="$this->visitors" :change="8"/>
<livewire:pages::analytics.metric heading="Avg time on post" :number="$this->avgTime" :change="-3"/>
@endisland
<div class="absolute top-0 bottom-0 left-[97.7%] pl-4 flex">
<flux:button wire:click="$refresh" wire:island="metrics" icon="arrow-path" variant="subtle" size="sm" class="cursor-pointer"/>
</div>
</div>
Result after running Pint
<div class="mt-8 grid grid-cols-3 gap-6 relative">
@island(name: 'metrics', defer: true, always: true)
@placeholder
<flux:skeleton class="h-30" animate="shimmer"/>
<flux:skeleton class="h-30" animate="shimmer"/>
<flux:skeleton class="h-30" animate="shimmer"/>
@endplaceholder
@island(always: true)
<div wire:poll.5s>
<livewire:pages::analytics.metric heading="Views" :number="$this->views" :change="12"/>
</div>
@endisland
<livewire:pages::analytics.metric heading="Visitors" :number="$this->visitors" :change="8"/>
<livewire:pages::analytics.metric heading="Avg time on post" :number="$this->avgTime" :change="-3"/>
@endisland
<div class="absolute top-0 bottom-0 left-[97.7%] pl-4 flex">
<flux:button wire:click="$refresh" wire:island="metrics" icon="arrow-path" variant="subtle" size="sm" class="cursor-pointer"/>
</div>
</div>
As shown above, the indentation inside custom directives from Livewire, like @island and @placeholder is lost after formatting.
It appears that Pint does not recognize these custom directives as structural Blade blocks, so it does not treat them as indentation scopes.
This issue may affect any project that defines custom Blade directives intended to behave like block-level control structures.
Is there currently a way to register custom Blade directives as structural blocks so that Pint can correctly indent their contents?
wemersonrv wrote a comment+100 XP
2mos ago
wemersonrv wrote a comment+100 XP
2mos ago
Cool, it's an amazing start. Past 2 years of this course, and the original content still works! Great Job.
Well, kinda works... the first message is sent normally, but when i try to send new ones, it returns null. The first one works every time, but the second not!
Maybe something new that is required now in the recent versions of Open AI API I need to change?
$chat = new Chat;
$poem = $chat
->systemMessage('You are a poetic assistant, skilled in explaining complex programming concepts with creative flair.')
->send('Compose a poem that explains the concept of recursion in programming.');
$sillyPoem = $chat->reply('Cool, but can you make it much, much more sillier?');
return view('welcome', ['poem' => $sillyPoem);
App\Ai\Chat
<?php
namespace App\Ai;
use Illuminate\Support\Facades\Http;
class Chat
{
protected array $messages = [];
public function systemMessage(string $message): self
{
$this->messages[] = [
'role' => 'system',
'content' => $message,
];
return $this;
}
public function reply(string $message): ?string
{
return $this->send($message);
}
public function send(string $message): ?string
{
$this->messages[] = [
'role' => 'user',
'content' => $message,
];
$response = Http::withToken(config('services.openai.secret'))
->post('https://api.openai.com/v1/chat/completions', [
'model' => 'gpt-3.5-turbo',
'messages' => $this->messages,
])->json('choices.0.message.content');
if ($response) {
$this->messages[] = [
'role' => 'assistant',
'message' => $response,
];
}
return $response;
}
public function messages(): array
{
return $this->messages;
}
}
wemersonrv wrote a comment+100 XP
2mos ago
Amazing course. You are so calm, clearn and easy to understand, even for a non english native student like me listeing to another non english person. The accents on the two sides can be tricky, but it was so smooth, amazing!
Already used Livewire some years ago in version 2, and this course was amazing to remember some stuffs and start to known v3 and prepare for v4.
Thank you so much!
wemersonrv wrote a comment+100 XP
3mos ago
@Shruti Balasa In your video, the layouts folder location is views/components/layout. But here layouts is in views/layouts, so it's in the same level of components. Maybe some structural changes in recent laravel versions?? My project started today is Laravel v12.48.1.
So, here in my project; using <x-layouts.app> don't works and gives me the error:
Unable to locate a class or view for component [layouts.app].
How can i fix this?
wemersonrv wrote a comment+100 XP
3mos ago
@connor1231 Well, there is some time since i posted this... i don't remember what i did to fix it. Maybe? i don't know. Sorry! 😰
wemersonrv wrote a comment+100 XP
3mos ago
Using PHPStorm 2025.3.2.
When run npx prettier --write resources/js/Components/Test.vue it works, sort classes and clean extra spaces.
But don't works when save the file. The Prettier plugin is configured in PhpStorm. Run on save is enabled, and the run for Files options is defined with **/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,json,vue,astro} and, of course, the actions on save for prettier is enabled.
There is something else for new PHPStorm versions ?
wemersonrv wrote a comment+100 XP
3mos ago
wemersonrv wrote a comment+100 XP
3mos ago
wemersonrv wrote a comment+100 XP
3mos ago
wemersonrv wrote a comment+100 XP
3mos ago
wemersonrv wrote a comment+100 XP
3mos ago
I don't know what i am doing wrong. Repeat all the stuffs @Kevin put int he video. But my signUpAction just show the modal background. Nothing about the modal content. No erros in javascript console, neither in the laravel.log.
wemersonrv wrote a comment+100 XP
5mos ago
wemersonrv wrote a comment+100 XP
5mos ago
Dunno what i am doing wrong. But here the /global route did not increments.
The container is running, and i can access it from the browser.
It is registered as a singleton and it was warmed up in config/octane.php
I think supervisord.conf is ok right? Because if octane not configured here, i cannot access it from the browser.
So, what am i doing wrong?
[supervisord]
nodaemon=true
user=root
logfile=/var/log/supervisor/supervisord.log
pidfile=/var/run/supervisord.pid
[program:php]
command=/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan octane:start --host=0.0.0.0 --port=80
user=sail
environment=LARAVEL_SAIL="1"
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
wemersonrv wrote a comment+100 XP
5mos ago
I really liked the course. It was excellent, and I got a ton of value from it.
But since it was made in 2023, a few things ended up outdated, like the Paddle Classic part and the TwitterOAuth bits now that Twitter is X. Some users shared a few fixes, but not everything is covered. So the parts I couldn’t update, I just commented out and added a simple $this->assertTrue(true); to keep the tests running smoothly until the course gets an update.
wemersonrv wrote a comment+100 XP
5mos ago
Here, the AddExtendsAnnotationToModelFactoriesRector rule does not make any change on my factories files. What am i doing wrong?
rector.php
<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
use RectorLaravel\Rector\Class_\AddExtendsAnnotationToModelFactoriesRector;
use RectorLaravel\Rector\ClassMethod\AddGenericReturnTypeToRelationsRector;
return RectorConfig::configure()
->withPaths([
__DIR__ . '/app',
__DIR__ . '/database',
__DIR__ . '/routes',
__DIR__ . '/tests',
])
->withRules([
AddGenericReturnTypeToRelationsRector::class,
AddExtendsAnnotationToModelFactoriesRector::class,
])
->withPhpSets(php84: true)
->withTypeCoverageLevel(0)
->withDeadCodeLevel(0)
->withCodeQualityLevel(0);
UserFactory.php
class UserFactory extends Factory
{
/**
* The current password being used by the factory.
*/
protected static ?string $password;
...
}
$ ./vendor/bin/rector --dry-run
[OK] Rector is done!