Tag, You're It

Long time, no update! I spent almost a month in Japan, so things were a little quieter around here after the last update.

The good news is that Visualizer kept running smoothly while I was away. There were no reported incidents, which is exactly what I hoped to see while checking in from the other side of the world. 🥳

I did not stop working completely, though. The biggest visible addition is filtering shots by tags. If you use tags as a Premium user, they now appear alongside the other Instant Filters, so finding every shot made with a particular basket, grinder speed, recipe variation, or anything else you track should be much easier.

Tag filtering is also available through the API, which should make it easier for integrations to retrieve a precise group of shots without downloading everything and filtering it themselves.

The API got quite a few other improvements too. There are now endpoints for searching canonical roasters and coffee bags, shot results can be filtered by when they were updated, and list responses include a little more useful context. The Coffee Management API was cleaned up as well.

There was also an interesting discussion in the Decent community about temperature goals from the newer Decent app. The original DE1 app reports the basket temperature goal, while newer integrations can also report the mix temperature the machine is targeting to achieve it. These are two different values, which made some charts look confusing when only one goal was shown.

Visualizer can now display both the basket and mix temperature goals. I also added support for sending that extra data to Reaprime. Other integrations might start providing it in the future, so the chart support is now ready for them.

There were plenty of other changes too. Transient web push failures are now retried instead of immediately giving up. I also fixed TCL profile exports with spaces around special characters, which could previously produce files that Tcl could not read back correctly.

I removed the Decent API integration that synced machine serial numbers to Visualizer. The API has not changed or gained any useful features in a long time, and at this point it looks abandoned. There was little value in maintaining an entire integration just to sync serial numbers, so I removed it. This does not affect Decent shot uploads, which still work as before.

I also updated Visualizer to Ruby 4.0.6, refreshed dependencies, and made a bunch of other smaller changes.

I am working on a few other things now, but as always, bug reports and feature requests are very welcome on GitHub. They help me understand what actually gets in your way, and they very often end up shipped.

Thanks for reading, and enjoy the rest of your week! ☕