Releases: strem-app/strem
Minor update to improve logging around Voice Recognition initialization
Currently the Voice Recognition logic is all initialized at the start of the app, and this may work fine for you, but in some cases there may be missing voice packs for the configured locale settings on the operating system.
This was reported as part of #96 and could stop certain parts of flows not being registered correctly, while we cant entirely solve the problem of missing voice packs on the OS we can at least handle a failure gracefully and provide more logging around why it failed.
Given voice recognition is one of the main problem points for cross platform and is not often used, it may end up getting put into its own plugin and taken out of core going forward, this would allow windows users to get the plugin continuing to use the windows one, or maybe a VOSK plugin that would work for both, but that's tomorrows problem.
Minor Nuget Updates
This update is a minor one which just contains bumps to some OBS and infrastructure libraries.
Minor Update For Input Hooks
There has been a long running debugging problem where the input hooks library would hang the debugger for a long period of time before it would allow you to debug, thankfully the library author has allowed us to segregate mouse and keyboard hooking, so now this problem should go away.
Automated WinGet releases
We have been on winget for a while but it always required manual releases each time, this change brings in automated releases (via PRs) to winget so it should stay more up to date with recent versions on here.
Native Dialogs & Minor Fixes
Photino Native Dialogs
There has been an intermittent issue around dialogs sometimes causing the app to hang, which seemed to come back to the library we were using to handle OS file dialogs. As part of updating to .net 8 we have also updated to the latest Photino.Blazor
library which now has its own native way for handling OS file dialogs.
This required a bit of hoop jumping but I think most of the main work has been done there now so that work has been merged in which will hopefully stop the issue entirely.
Minor Fixes
There was an issue around Portal > Button Element Editor
where it would not be correctly reflecting the button type changes, this has been fixed now as well as a label which was incorrect in the sound handling tasks.
Built with .net 8 + minor improvements
This release is not a huge one, it moves the core to .net 8 enabling C#12 syntax on plugins and core code, as well as bumping a lot of dependencies to make use of newer versions (given we leapfrogged .net 7 there were a few to update), this overall should make the application faster and hopefully more efficient.
As part of this there has also been some minor refactors and streamlining of internal code, it shouldn't really effect any external facing contracts but it does expose logging to controllers in a more streamlined way and also makes Context
related information more succinct in code.
As always if you notice any oddities let us know in the discord server or in the github issues.
Happy Streming
This is a minor release that just bumps some dependencies up to newer versions
Summary
This release mainly just bumps some nuget libs, but with the newer version of rx there should be some minor performance benefits as well as potentially better compatibility on code related tasks (python, C#, powershell) due to newer versions of the libs being used.
All efforts have been made to test most related tasks but as always any issues let us know in here or in the discord.
Unbundling Twitter Plugin
Summary
Due to the changes made to the Twitter API it is not possible for us to really support the plugin natively using our clientId
as we are not paying for API access.
I was hoping they would have back tracked on the decision to make the API paid for, but as they are not doing that we have decided to move the plugin to its own repository, so you can still pull it in if you want and make tweets but you would need to make your own developer account as the usage limits in place without paying would not be feasible for us to host on our developer account.
You can find the plugin and installation instructions here https://github.com/strem-app/Strem.Plugins.Twitter/releases/tag/0.1.x001
Input System Refactor & Dependency Updates
Summary
One of the main changes in this release is that we have replaced the underlying system we were using to handle input events with another one which not only lets us hook into keyboard and mouse events now, but also is cross platform (to some extent) whereas the other one was windows specific and was purely for simulating input.
WARNING - If you previously had any
Simulate Key Press
tasks the keys may need resetting as the new library has different underlying values to the previous one, so it should remember you had keys, just may not be set to the correct ones now.
Keyboard Shortcut Trigger
So you can now use the Keyboard Shortcut
trigger to start your flows, which provides an easy way to have a streamlined set of shortcuts to additionally trigger complex flows when needed, i.e imagine having all your memes in OBS bound to shortcuts on numpad so you can just fire them off easily.
Plugin Cleanup Issue Fixed
There had been an issue where plugins were not clearing up correctly when the application was closed. Everything was in place for the plugins to be notified of the app closing but the hookup code was never fully implemented, so this should now correctly close down all plugins and associated resources on app close.
Dependency Updates
We have updated to use the newer version of Blazor Photino as well as the new major version of Blazor Monaco, which improves the code editor within the tasks.
Added support for Exclusive Execution blocks in Flows
Summary
This isn't a huge change but hopefully assists people who have scenarios where you need to only allow 1 of N things to run at a given time.
Here is an example showing the new task:
So as shown here, we have a group called obs-camera-group
and several tasks which happen within the exclusive block. So if we had 3 flows all wanting to alter the obs-camera-group
it allows you to stop them from all running whenever they want, and being forced to wait for Exclusive Execution
of the associated group.
So even if you trigger all 3 at once, it will let the first one run until its finished THEN let the 2nd one run and finally once that's finished let the 3rd one run. Historically before this functionality existed it was impossible to defer tasks until another one had finished or stop others from executing at the same time, so with this you can now do so.