Sign in

Tim MacDonald

@tim.macdonald.au
1.8K followers 239 following 81 posts

Doggos, hypermedia, and core team at @laravel.com tim.macdonald.au

PostsRepliesMedia
Reposted by Tim MacDonald
Pascal Baljet @pascalbaljet.bsky.social · 11/12/2025
Today we're bringing Precognition to Inertia's Form component! 🔮 And not only in the Form component, we're also bringing it to useForm() out of the box. No additional packages needed anymore.
4153
Tim MacDonald @tim.macdonald.au · 03/09/2025
✍️ New post: Sticky database connections across requests with Laravel 🍯 Support Laravel's `sticky` option for read write database replicas across different requests. tim.macdonald.au/sticky-datab...
tim.macdonald.au
Sticky database connections across requests with Laravel
Support Laravel's `sticky` option for read write database replicas across different requests
070
Reposted by Tim MacDonald
james-carpenter.bsky.social @james-carpenter.bsky.social · 19/06/2025
We've had a fair number of requests for Nightwatch setup instructions on Vapor, so we put together a guide to help get you started. Nightwatch 🤝 Vapor nightwatch.laravel.com/docs/guides/...
nightwatch.laravel.com
Laravel Vapor - Laravel Nightwatch
Get started with Nightwatch on Vapor
0158
Reposted by Tim MacDonald
Laravel @laravel.com · 17/06/2025
We just shipped Nightwatch: application monitoring & logging obsessively optimized for Laravel. ✨ Start with a single command 📊 Monitor every event ⏱️ Review precise timelines & logs ⚠️ Hear less noise with smart alerts And much more, including a free plan for anywhere you deploy Laravel apps.
67623
Reposted by Tim MacDonald
Laravel @laravel.com · 22/04/2025
laravel new bluesky
3020742
Tim MacDonald @tim.macdonald.au · 20/04/2025
Wanna shorten imports when using Laravel Wayfinder? Add a custom Vite alias pointing to whatever directory makes sense for your project.
0100
Tim MacDonald @tim.macdonald.au · 09/04/2025
Opened a framework PR to introduce a memoized cache driver. `Cache::memo()->get($key);` github.com/laravel/fram...
github.com
[12.x] Introduce memoized cache driver by timacdonald · Pull Request #55304 · laravel/framework
We put things in the cache because the cache is fast; that doesn't mean hitting the cache is free. This PR introduces a memoized cache driver. This new driver is a decorator around other cache ...
5242
Reposted by Tim MacDonald
Marty Friedel @marty.friedel.au · 08/04/2025
I'm fascinated with the data Nightwatch is collecting This new site for a client is eye-opening to not only the quantity of 4xx requests (targeting pre-me routes including `wp-admin`), but also the impact these have on the server's capability 🤯 And this data now drives change for our server mgmt
Two charts, one showing the number of 4xx requests to a site over a 7 day period, and the other showing the response times over the same period.
2174
Tim MacDonald @tim.macdonald.au · 08/04/2025
🧼
030
Reposted by Tim MacDonald
JL @jaysonlindsley.dev · 04/04/2025
How does the laravel team keep cooking this stuff up!? Wayfinder looks amazing!
171
Tim MacDonald @tim.macdonald.au · 05/04/2025
✍️ Fresh post: Fake expectations A testing fake with named assertions or Pest PHP's expectation API: ¿Por Qué No Los Dos? tim.macdonald.au/fake-expecta...
tim.macdonald.au
Fake expectations
A testing fake with named assertions or Pest PHP's expectation API: ¿Por Qué No Los Dos?
030
Tim MacDonald @tim.macdonald.au · 04/04/2025
Laravel Wayfinder integrates perfectly with Inertia, however it also pairs lovely with Axios and the fetch API. ✨✋⛵️
1162
Tim MacDonald @tim.macdonald.au · 04/04/2025
ICYMI
010
Reposted by Tim MacDonald
Joe Tannenbaum @joe.codes · 02/04/2025
From the galaxy brain of @tim.macdonald.au, with just a dash of Tannenbaum, presenting Laravel Wayfinder. Automatically generate TS functions for your controllers/named routes so you can call your endpoints directly in your client code. Available now in public beta. github.com/laravel/wayf...
github.com
GitHub - laravel/wayfinder
Contribute to laravel/wayfinder development by creating an account on GitHub.
55011
Reposted by Tim MacDonald
Joe Tannenbaum @joe.codes · 01/04/2025
Little @tim.macdonald.au x @joe.codes beta package drops tomorrow, I... love this one. And am very excited.
4132
Tim MacDonald @tim.macdonald.au · 31/03/2025
✍️ Mark all files as un-viewed in a GitHub pull request GitHub has a feature to mark individual files as viewed while reviewing a pull request. I wanted the ability to mark _all_ files as un-viewed. tim.macdonald.au/mark-all-fil...
tim.macdonald.au
Mark all files as un-viewed in a GitHub pull request
Use the "viewed" feature on GitHub PRs? Me too, and I wanted to ability to mark *all* files as un-viewed.
031
Tim MacDonald @tim.macdonald.au · 28/03/2025
Merged 🫡
061
Tim MacDonald @tim.macdonald.au · 26/03/2025
Opened a PR to add the `pipe` method to the query builders. Adds the ability to create invokable _action_ scopes to complement tappable scopes. github.com/laravel/fram...
github.com
[12.x] Add `pipe` method query builders by timacdonald · Pull Request #55171 · laravel/framework
This PR introduces a pipe method to the base query builder and eloquent query builder. The functionality of this method is the same as the collection pipe method. $records = DB::query() ->fr...
170
Tim MacDonald @tim.macdonald.au · 21/01/2025
“Because of their excessive reverence for omens, they let the words of others guide them rather than their own intuition, and they creep down alleyways picking up advice from other people’s remarks, thinking with their ears, so to speak, not with their brains.”
050
Reposted by Tim MacDonald
patak @patak.cat · 21/01/2025
Respect to @tim.macdonald.au and the Laravel community for understanding the decision to release breaking changes in a patch and gracefully handling the disruption to their users. And shoutout to other maintainers in the ecosystem for helping their users upgrade and stay safe.
1303
Reposted by Tim MacDonald
Zuzana Kunckova @zuzana-k.com · 11/12/2024
I just published my 27th post. A bit personal and vulnerable, and I really wonder how I'm going to feel about it in the morning, but for now - here it is: www.zuzana-k.com/articles/som...
zuzana-k.com
Some dreams were only ever meant to be dreams
Zuzana K - Web developer, Founder, Public Speaker, Writer
249113
Reposted by Tim MacDonald
Ben Smith @bensmith.sh · 09/12/2024
i just learned that you can set a custom font in Slack by typing “/slackfont <custom font on your system>”! i’m not a roboto mono fan myself but do love monospaced fonts. reference: www.theverge.com/21432669/sla...
theverge.com
How to change your font in Slack
You could change it to any font you have locally.
283
Tim MacDonald @tim.macdonald.au · 09/12/2024
Wanna make Slack better? Settings: 1. Appearance > Font = Robot Mono 2. Messages > Theme =Compact 3. Messages > Names = Just display names 4. Messages > Additional options: uncheck “Display information about who is currently typing a message” Give it a week. I don’t even hate Slack anymore.
22801
Tim MacDonald @tim.macdonald.au · 09/12/2024
🍭 Refactoring a callback to a first-class callable? Heck yea. But also… You might be subtly changing behaviour by implicitly passing additional arguments, especially with collection pipelines.
172
Tim MacDonald @tim.macdonald.au · 18/11/2024
Learnt something new about Laravel today. I always thought Laravel’s `$fallback` value kicked in when a retrieved value was either missing OR `null`. I always thought these two approaches were equivalent. Always learning.
3240
Tim MacDonald @tim.macdonald.au · 13/11/2024
A pattern I’ve been enjoying recently is extracting binding callbacks from Laravel service providers into smaller dedicated factory classes and then replacing the anonymous closure with the factories invoke method. Just want the container to accept `callable` rather requiring `Closure`.
040
Tim MacDonald @tim.macdonald.au · 13/11/2024
080
Reposted by Tim MacDonald
Chris Morrell @cmorrell.com · 04/11/2024
One of the APIs I'm most happy with is in [Gretel](github.com/glhd/gretel) — defining breadcrumbs right next to your routes is *so nice.* Adding a route? Just chain the breadcrumb on. Removing one? Just remove the whole block, and the breadcrumb config is gone, too!
// Quickly define your breadcrumbs inline with routes

Route::get('/', HomeController::class)
  ->name('home')
  ->breadcrumb('Home');

Route::get('/profile', ProfileController::class)
  ->name('profile')
  ->breadcrumb('My Profile', parent: 'home');

// Gretel happily works with resourceful routes, too!

Route::resource('keyboards', KeyboardController::class)
  ->breadcrumbs([
    'index' => 'My Keyboards',
    'create' => 'Add a Keyboard',
    'show' => fn(Keyboard $kb) => $kb->title,
    'edit' => 'Update Keyboard',
  ]);
4323
Tim MacDonald @tim.macdonald.au · 03/11/2024
Starting the week with a keycap refresh 💅
Mechanical keyboard with GMK dot keycaps
4360