Sign in

Matthew Hailwood

@hailwood.nz
80 followers 89 following 90 posts

Principal Engineer @ foxbyte.nz. PHP & Laravel enthusiast | All about Typescript. Opinions are mine.

PostsRepliesMedia
Matthew Hailwood @hailwood.nz · 02/07/2025
What do you mean by "Terminal AI Flow"?
110
Matthew Hailwood @hailwood.nz · 02/07/2025
If I was going to Laracon this year you know there'd only be 19 tickets left. Unfortunately, life has other plans this year!
110
Matthew Hailwood @hailwood.nz · 21/06/2025
That's so good 🎉 Thanks!
010
Matthew Hailwood @hailwood.nz · 20/06/2025
Sorry my cursor is distracting there, I'm talking about the grey text I've added in the screenshot above the controller method.
100
Matthew Hailwood @hailwood.nz · 18/06/2025
Hey @laravel-idea.com, With all the awesome work you're doing on route inlay hints. Reckon we could add support for showing the route above controller actions? Would be really handy for quick skimming.
A php class method showing a grey text above it with "GET /customers/send-access-code"
110
Matthew Hailwood @hailwood.nz · 30/05/2025
Saw you were trying out the Antlers Toolbox plugin. I still use phpstorm for the php side of things because it's 10x better. Even just basic stuff like automatically updating the namespace when I move a class. But for antlers I switch to vs code because it's great.
120
Matthew Hailwood @hailwood.nz · 02/05/2025
Yeah just choose the provider or tag would be great
000
Matthew Hailwood @hailwood.nz · 01/05/2025
Hey @laravel-idea.com Do you have plans to add doing vendor:publish as an action? Would be wicked to be able to do this without switching to the terminal 💡
Screenshot showing the Laravel vendor:publish artisan command output.
110
Matthew Hailwood @hailwood.nz · 30/04/2025
Would ya look at that, our @laravel.com Inertia Data Providers package now has a make:data-provider command and integration with @laravel-idea.com! Check it out and let us know what you think! github.com/webfox/larav...
A screenshot of the Laravel Idea action menu showing a selected item of "Create Inertia Data Provider".
031
Matthew Hailwood @hailwood.nz · 09/04/2025
Hey @laravel-idea.com, would it be possible to add an intention on controller methods to "Create Form Request". All it would do is open the "Create Form Request" dialog like you do from the Code Generation menu, but would automatically add it to the controller method once you hit "OK".
120
Matthew Hailwood @hailwood.nz · 31/03/2025
Understandable, yeah - I just checked because I was curious and all Statamic focussed vs code extensions (2) have been downloaded only 20k times combined.
000
Matthew Hailwood @hailwood.nz · 30/03/2025
Hey @laravel-idea.com what's the likelihood of you supporting for@statamic.bsky.social, e.g. antlers syntax and completions? Something like this but for @jetbrains.com products stillat.com/antlers-tool...
stillat.com
Antlers Toolbox | Stillat
A collection of kickass developer tools for Statamic developers. Tools include syntax highlighters, code completion, validation, formatters, and more!
130
Matthew Hailwood @hailwood.nz · 23/03/2025
Will double check when I'm back in the office, but it's whatever the latest release is 👍 IDE and plugin fully up to date
000
Matthew Hailwood @hailwood.nz · 23/03/2025
Hey @laravel-idea.com, Since the latest update I've been getting this a bit. Is this a known issue or something specific to me? I've reported the issue via the IDE.
A warning "Plugin 'Laravel Idea' might be slowing things down"
120
Matthew Hailwood @hailwood.nz · 22/03/2025
The actual value there (an array of levels) was just a dummy example. It could be anything you might want to implicitly return. Could have been public fn save(): bool => $this->query->persist(); For all the example value matters.
100
Matthew Hailwood @hailwood.nz · 22/03/2025
Yeah withPivot exists, but right now you have to specify the columns on both sides of the relationship. Pretty easy to miss one when you add a new column. But also if I have a custom pivot model for casts, I want that to be the source of truth for what columns are included.
000
Matthew Hailwood @hailwood.nz · 21/03/2025
I really wish #php would add short methods public function getLevels(): array { return ['low', 'med', 'high']; } could be public fn getLevels(): array => ['low', 'med', 'high'];
130
Matthew Hailwood @hailwood.nz · 21/03/2025
I wonder if #laravel would accept a PR to allow adding a `getAdditionalPivotColumns` to your custom pivot models. public function getAdditionalPivotColumns(): array { return [ 'level', ]; } It would act the same as calling `->withPivot(['level'])` when creating the relationship.
120
Matthew Hailwood @hailwood.nz · 21/03/2025
Hey neat! @github.com Copilot now has Edits in @jetbrains.com products. Good to see us getting feature parity with @vscode.dev again.
000
Matthew Hailwood @hailwood.nz · 19/03/2025
Hey @typescriptlang.org and @react.dev people, For native elements is `ComponentProps<'button'>` always the right way to do it? What about for components that don't export their prop types? When wouldn't `ComponentProps<typeof SomeComponent>` work and how would you do it? #typescript #react
120
Matthew Hailwood @hailwood.nz · 18/03/2025
I'd argue the attributes *are* the API to remember in this case. Still neat though
100
Matthew Hailwood @hailwood.nz · 05/03/2025
O write enough JavaScript now that spreading em just feels good. array_merge feels obsolete somehow, like writing array() instead of just []
030
Matthew Hailwood @hailwood.nz · 05/03/2025
You're awesome, thank you heaps. It looks much better now :)
A PHPStorm dialog created by Laravel Idea for creating Webfox's PHP backed enums, with a combobox labeled "Type" with two options "string" and "int"
020
Matthew Hailwood @hailwood.nz · 04/03/2025
Sounds like you're talking about view transitions? There's a couple of examples here that should get you going, but just know that Firefox is a letdown. developer.chrome.com/docs/web-pla...
developer.chrome.com
Smooth transitions with the View Transition API  |  View Transitions  |  Chrome for Developers
The View Transition API lets you add transitions between views of a website.
020
Matthew Hailwood @hailwood.nz · 03/03/2025
We do use ide.json, you can see it in the commit linked above. Help would be awesome, thank you!
100
Matthew Hailwood @hailwood.nz · 02/03/2025
Hey @jetbrains.com the completions are pretty sad for something I'd be paying $20NZD/month for... To create the screenshots below I have 3 files open UserTypeEnum, enums.php (current file), and VisibilityTypesEnum @github.com Copilot got it straight away, Meanwhile JB seems to have zero context.
Completion provided by Github Copilot showing the expected result.Completion provided by Jetbrains Assistant showing a hallucinated result.Attempting to give Jetbrains Assistant one more go, we've added an extra character and manually invoked the multiline completion. It still completely hallucinates the result.
000
Matthew Hailwood @hailwood.nz · 02/03/2025
Hey @laravel-idea.com , I've added support for generating our enums via github.com/webfox/larav... Can I combine these two with a dropdown for the type (which would also change the 'value' param? Or allow users to add enum mappings directly in the dialog? I expect not but it doesn't hurt to ask!
A Laravel Idea popup dialog with two options "Create Integer Backed Enum" and "Create String Backend Enum".
110
Matthew Hailwood @hailwood.nz · 25/02/2025
From a DX perspective, my favourite thing about Laravel Cloud is the search dialog.
A screenshot of the Laravel Cloud search dialog, showing search results grouped by "Navigation" "Organisations" and "Applications"
010
Matthew Hailwood @hailwood.nz · 25/02/2025
I just thought it was a funny omission given half the Laravel team calls AU home 😆
020
Matthew Hailwood @hailwood.nz · 25/02/2025
Yep, I got bit by that one too!
020
Matthew Hailwood @hailwood.nz · 25/02/2025
So Laravel Cloud is pretty nice, bit odd not having a Sydney region though. Do you know why this is @driesvints.com?
120
Matthew Hailwood @hailwood.nz · 14/02/2025
The new release of Inertia for Laravel means a new release of our package too! 🎉 We've added support deferred props. 🚀 Oh, and we're ready for the incoming Laravel 12 release! github.com/webfox/larav...
github.com
GitHub - webfox/laravel-inertia-dataproviders: Data providers encapsulate logic for Inertia views, keep your controllers clean and simple.
Data providers encapsulate logic for Inertia views, keep your controllers clean and simple. - webfox/laravel-inertia-dataproviders
001
Matthew Hailwood @hailwood.nz · 13/02/2025
Gotta love a good @workchronicles.bsky.social comic.
a workchronicles.com comic strip.
panel 1: two people sitting at laptops, person one: "I really need to solve this problem"
panel 2: person one is now standing, person two: "Where are you going?", person one: "For a walk"
panel 3: person two: "I thought you needed to solve this problem"
panel 4: person one, walking away: "Yes. That's why I'm going for a walk"
000
Reposted by Matthew Hailwood
Laravel Idea @laravel-idea.com · 13/02/2025
Laravel Idea 10 is out! 🚀 It's probably the most significant update ever!
1309
Matthew Hailwood @hailwood.nz · 12/02/2025
This is killer, nice work!
010
Matthew Hailwood @hailwood.nz · 01/02/2025
Very neat!
010
Matthew Hailwood @hailwood.nz · 22/01/2025
Wicked, thanks!
000
Matthew Hailwood @hailwood.nz · 21/01/2025
Hey @laravel-idea.com, Can we do anything with ide.json in our package to add a custom generation to this list? github.com/webfox/larav...
Laravel Idea "Run Action" dialog with the search results for "create"
120
Reposted by Matthew Hailwood
Laravel Idea @laravel-idea.com · 10/01/2025
Laravel Idea now is two high-skilled developers working full-time on features we couldn't dreamed about 1-2 years ago. The 10.0 release will blow your mind.
1201
Matthew Hailwood @hailwood.nz · 10/01/2025
Hey @laravel-idea.com, At some point I'm going to need to start paying you for a custom support plan 😅 Today's query! Do you think you could make "Related Rows" in the database tools work for pivot columns? E.g. pressing F4 in either of these cells should open the media table with id 4 selected.
A screenshot of a database tool showing two column headers "retainable_type" and "retainable_id". The type column contains a class name of Media. the id column contains the value 4.
100
Matthew Hailwood @hailwood.nz · 08/01/2025
Also @laravel-idea.com, I'd love an intention here that would create the missing method for me.
A Jetbrains IDE context menu activated from a Laravel route definition with the cursor over the method name.
100
Matthew Hailwood @hailwood.nz · 07/01/2025
Hey @laravel-idea.com, The Run db:seed dialog is a bit weird. It asks for the class and then also the class flag. Also, do you think we could get completion for the seeder class names here? :)
A screenshot of the Run db:seed dialog from Laravel Idea.
100
Matthew Hailwood @hailwood.nz · 22/12/2024
I got a new vacuum today. I was like a little kid pulling it out of the box and putting it together 😅. The actual vacuuming was unremarkable.
000
Matthew Hailwood @hailwood.nz · 19/12/2024
Here's the same features by @github.com copilot. It's much more jarring, you get a separate diff window where you can insert the code, or copy it. It's also only works on a single block of code at once rather than being able to suggest multiple isolated blocks.
A screenshot showing the Github Copilot prompt for making ai edits to a file.A screenshot of the response suggestion provided by github copilot.
000
Matthew Hailwood @hailwood.nz · 19/12/2024
Hey @jetbrains.com I have a question for you. This UI, are these interface elements specific to the Jetbrains AI plugin, or are they part of the intellij platform and usable by other AI plugins (e.g. if copilot wanted to). I'm just trying to work out why copilot's UX is so bad in PHPStorm.
Image showing the AI refactor suggestion by the Jetbrains AI plugin.Image showing a prompt "Ask AI to generate code"
100
Reposted by Matthew Hailwood
James Hulena @jameshulena.bsky.social · 19/12/2024
In New Zealand, we have a yearly fundraiser for LBCNZ, us firefighters climb 51 floors with all our gear. I am asking for anyone of you lovely people to get behind me. Every $1 counts. If you can't donate please share around. Thank you all! firefighterschallenge.org.nz/james-hulena
firefighterschallenge.org.nz
Layout
Please support my Firefighter Sky Tower Challenge
012
Matthew Hailwood @hailwood.nz · 18/12/2024
If you want something that's actually still updated... Enter Mailpit! mailpit.axllent.org
mailpit.axllent.org
Mailpit - email & SMTP testing tool
Mailpit is a free, open source SMTP testing tool build with Go and Vue. It provides a modern web UI for viewing & testing emails, and includes a REST API for integration testing.
2130
Matthew Hailwood @hailwood.nz · 16/12/2024
You'll make @jameshulena.bsky.social a happy dev. I've never seen such a rollercoaster of emotions than the happiness of installing the plug-in and then the despair realising it's not going to work.
110
Matthew Hailwood @hailwood.nz · 16/12/2024
If you're using Linux then it's not you. The internal version of php-parser is only combined for ARM64 at the moment.
210
Matthew Hailwood @hailwood.nz · 16/12/2024
Would you look at that, the official #laravel vs code extension is now available! marketplace.visualstudio.com/items?itemNa...
marketplace.visualstudio.com
Laravel - Visual Studio Marketplace
Extension for Visual Studio Code - Official VS Code extension for Laravel
010