Freek Van der Herten

@freek.bsky.social

PHP developer at Spatie, built Mailcoach, ‪myray.app‬, ohdear.app and flareapp.io, blogging at ‪freek.dev‬, organising fullstackeurope.com

Good news if you're on an older stack: Flare now supports Laravel 10 and PHP 8.1 again. You no longer have to be on the latest versions to get the newest Flare features like performance monitoring and logging. Read how we brought support back: flareapp.io/blog/bringi...

Bringing Flare back to Laravel 10 and PHP 8.1 | Flare

Flare now supports Laravel 10 and PHP 8.1 again, so older apps get performance monitoring and logs too. Here’s how we did it.

flareapp.io

Unlike a GET HTTP request, a QUERY request carries a request body. Our spatie/laravel-http-logger can be handy for logging super important requests that you can't afford to lose. QUERY requests now get logged by default too. github.com/spatie/lara...

GitHub - spatie/laravel-http-logger: Log HTTP requests in Laravel applications

Log HTTP requests in Laravel applications. Contribute to spatie/laravel-http-logger development by creating an account on GitHub.

github.com

🚀 We've just published v2 of our laravel-url-ai-transformer, our package that transforms URLs and their content using AI, and stores the result in the db ⬇️ The new version is rebuilt on top of the official laravel/ai package. Here's a small tour

Bild

Laravel recently added route metadata. You can attach arbitrary context to a route and read it back later. Route::get('/users', [UserController::class, 'index']) ->metadata(['head' => ['title' => 'Users']]); $request->route()->getMetadata('head.title');

We just shipped “waiting until” in There There. It automatically reopens tickets from “waiting” to “open”, basic helpdesk stuff. Simple feature, but the time picker took three tries. v1 was the obvious preset list. 🧵

Time selection menu featuring options for scheduling: "Later today," "Tomorrow," "This weekend," "Next week," "In a month," with a date picker.

🌉 Has anyone here already tried macOS Golden Gate? If you’ve actually been using it, how’s the stability so far? Smooth enough for daily use, or are you still running into issues? (Looking for firsthand experiences only, not general “don’t install beta” advice)

I'd like to highlight a package I reach for on almost every project: spatie/laravel-model-flags. Add the HasFlags trait and you get idempotent flags: run an action once per model, even when the job around it keeps firing. flag() never duplicates, it only bumps the timestamp 🚩

Bild

🚀 Logging has landed in Flare! 🛬 Your errors now come with the full story around them. Send logs from your Laravel, PHP and JavaScript apps, see them appear in real time. Of course you can filter and search them Here's a look 👇

A customer replies "thanks!" to a support ticket you just closed... and the ticket reopens. Now someone has to open it, read it, and close it again. A thousand tiny paper cuts across a day. So we taught There There to recognize a thank-you and leave the ticket closed. 🧵 here's how! ⬇️

An infographic details a process for ticket management, featuring icons representing messages, checks, questions, and connections.

📊 Ever seen an empty chart in a generated PDF? The capture likely happened before Chart.js finished animating. Here's how to fix that in the latest version laravel-pdf: in your view, set `pdfReady` only after everything has rendered.

A code snippet shows a bar chart configuration using Chart.js, including options for animation and setting a pdfReady flag.

🔒 You can now password-protect generated PDFs natively in spatie/laravel-pdf. It uses AES-256 and runs in pure PHP, no external binaries like qpdf are needed. So it'll also work on Laravel Cloud.

Code snippet demonstrates how to password-protect a PDF using Laravel with AES-256 encryption.

😱 One of our Mailcoach clients got hacked. A malicious party got access to his Mailcoach account and started sending spam in the name of our client. Afterwards he wrote a full report on the incident. I love the we could be the silver lining in the whole story.

Bild

When developing There There locally, nobody on our team ever types a password. You just click a button to instantly log in as any kind of user: a trial admin, a pro member, even a fresh user that still needs onboarding.

Bild