Releases: eXpl0it3r/streamdeck-clockify
More than three?
This is (hopefully) a quality of life update, that many have been waiting for.
The project has long since outgrown my own need and thus people were running into scaling issues, that I didn't experience or originally consider. The Clockify API is rate limiting after just a few calls, which will cause unpredictable failures, such as having buttons not update anymore, if you add too many on one screen.
If your whole page is filled with buttons, it can still be a bit of a struggle to have the buttons be responsive, but the plugin should be able to work with more than three buttons on one page now. 🥳
Supporting Clients
Thanks to reports from the various plugin users, I get to learn about new features in Clockify.
Turns out, that you can assign Clients to specific Projects, and as such, I've added a new advanced option, allowing you to provide the client name assigned to the specified project.
This change also brought some technically difficulties along, as until now the assumption was that each project had to be unique in its name. With clients however, you could have the same project name, but with different multiple clients. This broke a few things and thus provided the opportunity to rewrite quite a lot, making some things more resilient.
The rewrite was also done in hopes to fix some known issues, when having Clockify assigned to 3-4 buttons on the same Stream Deck page.
Unfortunately, this couldn't fixed and might require a switch in technology altogether.
Known Limitations
Using more than two or three Clockify button instances on the same Stream Deck page, can lead to odd behavior in clock updates and sometimes refuses to activate a clicked button. See issue #11
Potential Workaround: By distributing buttons to different pages (2-3 buttons per page), it might not cause as much interference between the buttons.
Customize Your Buttons
@HughMacdonald had the great idea, and directly implemented it!, to allow for customizing the output on the button. The default behavior of showing what's filled in, with a pre-defined order remains, you get the option to define your own formatting in the advanced section:
You can have any text in that box, if you use any of following string, they will be replaced in the ouput:
{projectName}
: The project name{taskName}
: The task name{timerName}
: The timer name{timer}
: The current timer value when running. Blank when not running
In addition to this new feature, I've updated all the underlying dependencies. 🙂
Examples
Bonus Tips
You can additionally pimp your button text, by clicking on the text formatting icon on the right side of the inspector view. Note that the style is applied per button state, so you can have a different look for the active and inactive button.
If you don't like the Clockify logo, you can also replace the icons on the buttons with any other image of your choosing
Host Your Own Instance
Through @brandonm4 report, I learned that Clockify can also be self-hosted and doesn't have to be all "in the cloud".
As such, I've added a new settings field, which allows you to enter your custom API URL if needed. The default is set to the cloud instance, so for most users, nothing needs to be configured.
On the technical side, I've setup GitHub Actions, which produces a complete plugin build for every commit/push. This allows for a much faster iteration, since I don't have to spend time, manually cobble together such a build on two different platforms.
The macOS Release
After some longer debugging session on macOS, it's finally here: The macOS Release!
But of course it also still runs on Windows 😉
All you need is the Stream Deck Plugin file below and it should run fine on Windows as well as macOS. The size is larger than the previous plugins, as it includes both versions and all the .NET runtime libraries, so you don't need to have .NET 5 installed.
As usual, if you find any bugs or problems, feel free to open an GitHub Issue or ping me on Twitter.
Tasks Release
Project Tasks can now be defined in Stream Deck and will either continue to track the existing task or create a new task to be tracked.
Additionally, the plugin is slightly larger now, but it contains all the necessary libraries, thus there's no need anymore to install the .NET 5 runtime. This is also a small preparation for the upcoming macOS support.
Version 1.2
Featured in this release:
- Add support for the Clockify action within multi-actions
- Add support for workspaces with more than 50 projects
Note: The plugin requires the .NET 5 runtime, make sure you have it installed: https://dotnet.microsoft.com/en-us/download/dotnet/5.0
Maintenance Update
Time flies and it has already been three months since the initial release.
While I personally use the plugin daily with the settings given somewhen in September, I didn't notice that Elgato has since enabled form validation and also didn't notice that I had input patterns set on the text boxes.
Featured in this release:
- Fix for the text input validation
- Updating of dependencies to the latest releases
Clockify meets Stream Deck
This is the first release of the Clockify plugin for Stream Deck! 🥳🎉
With this plugin you can start, track and stop Clockify timers with a press of a button from your Stream Deck.
The setup is very simple and will in the future hopefully be simplified even more.
See the README for more detailed setup instructions.
Until the plugin makes its way to the Stream Deck Store, you can download the release version down below and install it to the Stream Deck simply by double clicking the dev.duerrenberger.clockify.streamDeckPlugin
file