How we improved Flare in 2021
The main goal of Flare is to be the best error tracking for Laravel applications. When we launched Flare, we offered a lot of niceties like decompiled Blade views, solutions suggestions, and much more.
Work on a SaaS application is never done. There are always things to improve. And because the Laravel ecosystem is constantly moving, we have to adapt Flare. Here's a rundown of all the things things we improved in Flare in the past year.
Making Livewire a first-class citizen
Livewire has gained a lot of popularity these past years. What was initially viewed as a fun experiment with Blade views is now a valid architecture for building production worthy applications.
In Flare, we now recognise exceptions coming from Livewire components. For those exceptions, we display a Livewire tab.
That tab displays the entire state of the Livewire component in which the exception occurred.
When you make a typo in calling a method on a Livewire component, we'll also suggest the correct method. Of course, this works for properties as well.
Showing detailed information for Laravel jobs
When an error occurs inside a job, we now show all properties of that job, and this will potentially help you fix the problem faster.
Vastly improved error search
When Flare was launched, you had to search for errors in a basic GitHub like search field that didn't have any autocompletion. That search now has autocompletion, which makes it much more powerful.
Another improvement that we made was showing a nice graph with the error counts of all the errors.
Integrating with GitHub Issues
Errors on Flare can now be associated with issues on GitHub and vice versa. This integration allows to:
- create a GitHub issue directly on a Flare error
- associate a GitHub issue with a Flare error by mentioning a Flare URL in the GitHub issue
- automatically resolve an error on Flare when you close the GitHub issue
- automatically close a GitHub issue when you resolve an error in Flare
Notifications via Discord, Microsoft Teams and Telegram
A key feature of our service is that we'll notify you when errors occur. Each development team has their favourite way of getting notified. When enough of our users request a specific notification channel, we add it to Flare.
This year we added support for Discord, Microsoft Team and Telegram.
Here's how the notification looks like in Discord.
And here's how's it looks like when using Microsoft Teams.
For Telegram, we went one step further and made the notifications interactive. This allows you to resolve or snooze a notification and even creating a GitHub issue right from Telegram.
More info in these two blogposts.
Interactive mail notifications
We've made our mail notifications more powerful. You can resolve, snooze, or create a GitHub issue right from a mail.
Showing error trends and favourites at the project overview
You can now mark a project as a favourite at the project overview. These projects will be displayed at the top of the list in a card showing extra details.
For each project in the list, we also show a little trend graph that immediately shows if there are more errors coming in as usual.
Sending a monthly error report mail
At the end of each month, we now email you a summary of all projects and our latest feature announcements.
Handling customer feedback using a support bubble form
We highly value the feedback and feature requests we get from our users, and that's why we want to make it as easy as possible to communicate with us.
When you log into Flare, you'll now see the support bubble on the bottom right of every page. Click the bubble to open the support form that can be used to submit a bug report or a suggestion. It is as simple as that.
Under the hood, this uses our laravel-support-bubble package.
Interacting with Flare via the API
Behind the scenes, Flare always had an API for people that requested access. We've polished and documented that API and made it possible for every user to use it.
Miscellaneous UI improvements
You can now easily see if an error came from the web, CLI, or queue on an error card.
We now show who resolved an error and via which channel.
On the request tab, you'll now see the curl command that you can use to retry the request.
On the debug tab, rendering of the query bindings has been improved.
Spike protection will prevent all events of your plan from being used in a small timespan. You can now see the periods when Spike protection was active.
We've added a "select all" link to select all errors in a project. This way, you could snooze, resolve, or delete all project errors in one go.
Our billing portal got a new coat of paint. Behind the scenes, we're using the latest version of Laravel Spark.
It was long overdue, but we finally made our documentation searchable. Code highlighting of the code snippets looks better now that we render them using Shiki.
Removing inactive users and teams automatically
Like many other SaaS applications, you can try out Flare using a trial period. Of course, not everybody that tries out Flare will convert, and after the trial period is over, some people will not use the service anymore.
Snoozing notifications per application version
We've introduced the concept of an application version in Flare. And you can now snooze errors for a specific version. This way, you will get notified if the same error occurs again in a new version of your app.
We're very proud of the improvements we've made to Flare in the past 12 months. In 2022, we'll continue listening to the feedback from our users. We can already share that we will revamp our entire UI, and work on it is well underway. We can't share a screenshot of the new Flare UI yet, but it will take hints of the new layout we're implementing for Ignition.
Here's how the new version of Ignition will look like.
You can see an HTML preview here. This Twitter thread offers more background info on the design decisions made.
If you have any suggestions to make Flare better, let us know by mailing us or posting your suggestion in our roadmap repo on GitHub. We're listening!
Track your errors in 3 simple steps:
This takes only a few seconds