wemersonrv wrote a comment+100 XP
4w 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
1mo ago
I am receiving this error when configure the Junie MCP Settings:
Cannot run program "npx": Exec failed, error: 2 (Arquivo ou diretório inexistente)
kotlinx.coroutines.flow.StateFlowImpl@6c2dd383
Tried to add the real path to npx: ~/.nvm/versions/node/v22.19.0/bin/npx but results in the same eror
wemersonrv wrote a comment+100 XP
1mo 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
1mo 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
1mo 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
Love when screen turns gray and Jeremy looks to us in a funny way! 😬🤨
wemersonrv wrote a comment+100 XP
2mos ago
Great episode, interesting concepts!
And about performace? There are any concerns or is it fine for example to have millions and millinos of records inside a morph/pivot table and a lot of tables morphin through it?
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
3mos 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
3mos 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
3mos ago
Found it!
When the array key for the message when get the response is 'content', but i was using 'message'
// ...
if ($response) {
$this->messages[] = [
'role' => 'assistant',
'message' => $response, // Here is 'content' not 'message'
];
}
//...
wemersonrv wrote a comment+100 XP
3mos 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
3mos 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
Works fine for new projects since configured my PHPStorm following these classes. But, when open old projects, the settings are not applied and need to make all of then again.
There is a way to apply these configs to old projects?
wemersonrv wrote a comment+100 XP
3mos ago
Great course! Thank you for the amazing hours watching your videos!
wemersonrv wrote a comment+100 XP
3mos ago
Amazing course! Thanks Josh for the great moments wathing it!
wemersonrv wrote a comment+100 XP
3mos ago
Amazing course, thanks Jeremy ! Finish it couple of days after release of Livewire v4... and it still 100% compatible with recent releases of Laravel. Now waiting for new v4 Courses!
wemersonrv wrote a comment+100 XP
4mos 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
6mos ago
Found my mistake here.
I am using a fresh Laravel 12 project, it's using PHP 8.4, but i've changed the supervisor.conf in docker/php8.2` folder following the video. So in fact, i was not using Octane yet!
Just change and rebuild and it works.
wemersonrv wrote a comment+100 XP
6mos 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