Sign of life
It's been a while since our last blog post. But we're back! Bringing you bi-weekly updates on our progress building the third iteration of Ray.
Dries Heyninck
Ray 3.0 is coming soon — a major new version, free upgrade for current users. Subscribe for updates
Shining a light on internals and updates.
It's been a while since our last blog post. But we're back! Bringing you bi-weekly updates on our progress building the third iteration of Ray.
Dries Heyninck
When it comes to styling, Tailwind is almost always our go-to choice, and Ray is no exception. Its utility-first approach provides a solid foundation. But while Tailwind provides a solid foundation, it doesn’t directly answer questions like: How do we handle component variants? How do we override styles cleanly? Or how do we compose styles in a way that remains scalable?
Sébastien
In Ray 3.0, we updated how the renderer and main processes communicate within our Electron app. While we’re still using the familiar React and Electron stack, we switched to a more dynamic, event-driven approach for IPC. This change simplifies communication, better integrates with React’s lifecycle, and adds security by whitelisting events. By drawing from existing community solutions, we’ve made our IPC system more efficient and easier to maintain.
Sébastien
Learn how to use Ray and Pest together to streamline debugging in Laravel, including opening separate Ray windows for tests and automatically checking for stray Ray calls before production. Plus, explore Pest’s architecture tests and a handy Ray inspection method for quick value checks.
Tim
In this post, we introduce the concept of control components in React, a pattern we often use at Spatie to handle data collection and event responses. We’ll discuss our opinionated approach and share practical examples to illustrate this method.
Sébastien
At Laracon US, Freek from Spatie unveiled updates on Ray 3.0, which will feature a complete visual redesign to enhance user experience. The new version aims to improve performance, scalability, and maintainability by revising the codebase and application architecture. The team is rethinking its folder structure for better organization. The goal is to create a more stable and scalable application, with ongoing adjustments as development progresses.
Sébastien
Learn how to use Ray for debugging in Blade views.
Tim
One of Ray's powerful features you might not have heard of is adding your own logic to it via macros. Macros in Ray allow you to define custom methods that can be reused throughout your application, making debugging more efficient and tailored to your needs.
Tim
Testing emails in Laravel has never been easier.
Zuzana
An easy way to pause or disable Ray execution.
Zuzana
Frequent Ray calls can lead to a long and cluttered Ray log. However, you can take control of the log and clear it at various tages of the application and testing lifecycle.
Zuzana
Don't let debugging get to you, let's celebrate!
Zuzana
Use Ray to look where your code is called and how many times.
Zuzana
Laravel 11 recently introduced a nice new feature called Context. We’ve updated Ray with a convenient method to display all set context.
Freek
We recently revamped our Ray documentation. The goal was to give the docs a new home on the myray.app domain and make them easier to navigate by totally overhauling their structure and content. This blog post will give an overview of some packages, technologies, and techniques we used.
Tim
We just released our new Ray docs, check 'em out if you haven't already! They're hosted right here on myray.app and are extra snappy because they use Livewire's navigate feature. Here's how we added wire:navigate to all the links in our docs.
Sebastian
Customizing Ray's output window.
Zuzana
This solves the problem of you forgetting to manually remove ray calls in your code base.
Tim
Pest is an excellent test runner for PHP, that’s been getting more popular. It offers a developer friendly way of writing tests. At Spatie, we use it for all our projects. Did you know that Pest comes with Ray support out of the box? Let’s take a look at this very simple test from one of our own packages.
Freek
Whether you're building a shiny new feature or refactoring a bug deep in a legacy codebase, before you merge your work to production you want to get rid of all those ray() calls you littered the codebase with. You'll probably get rid of most of them on time, but every now and then a stray call gets forgotten during code review.
Sebastian
Understand and fix bugs faster
Ray is a desktop application that serves as the dedicated home for debugging output. Send, format and filter debug information from both local projects and remote servers.