eXpl0it3r / streamdeck-clockify

Clockify Action for the Elgato Stream Deck
MIT License
51 stars 8 forks source link

Bug: Buttons stop working #11

Closed ironosity closed 7 months ago

ironosity commented 1 year ago

Not sure what causes it. I have 14 buttons defined, all in same workspace with same API Key, with unique Titles (only on stopped state), some have same Project Name, but have unique Task Name and Timer Name and all in default server.

To get a button working when it happens, I have to modify the API Key field in some way. Just selectiing all, copy, paste, enter and the button works again until something causes it to stop working.

eXpl0it3r commented 1 year ago

The only known issue that can cause a continued failure is #8, when you have the same project name for different clients, but it doesn't always have to happen, just when the API fetches this in the wrong way.

I'll look into fixing that issue again.

In the mean time to confirm that it's that issue, could you check if there's an error in the log and provide the error?
And also state which version you're using?

ironosity commented 1 year ago

I was unable to find any logs. Search for "StreamDeck" and "pluginlog.log" and didn't find anything. No folder named com.elgato.StreamDeck in ~/Library/Application Support/

eXpl0it3r commented 1 year ago

Maybe it's a hidden directory? What if you just use "go to folder" and enter the full path?

According to the official technical documentation, that's the correct path and I just double checked on my system and it's located there.

image

ironosity commented 1 year ago

Nope, nothing:

image
eXpl0it3r commented 1 year ago

Do you have the Stream Deck installed under a different username? Like do you have other users under /Users?

Can't find anything else on the web 😄

ironosity commented 1 year ago

Found it. Guess I was at root, not ~/.

...
2023-03-22 17:08:12.6735|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
2023-03-22 17:08:12.6735|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
2023-03-22 17:08:12.6735|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
2023-03-22 17:08:13.3832|INFO|dev.duerrenberg|49|Key Pressed
2023-03-22 17:08:13.4327|INFO|dev.duerrenberg|49|Key Released
2023-03-22 17:08:13.4330|WARN|dev.duerrenberg|49|Invalid settings for toggle Eric Merrill's workspace, Work not work, Taking a break
2023-03-22 17:08:13.6794|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
2023-03-22 17:08:13.6794|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
...

Then after select all/copy/paste on the buttons api key and pressing the buttong again.

2023-03-22 17:10:03.5858|INFO|dev.duerrenberg|53|Settings Received: Clockify.PluginSettings
2023-03-22 17:10:03.8763|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
...
2023-03-22 17:10:05.8926|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
2023-03-22 17:10:06.6009|INFO|dev.duerrenberg|55|Key Pressed
2023-03-22 17:10:06.7672|INFO|dev.duerrenberg|55|Key Released
2023-03-22 17:10:06.8994|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
...
2023-03-22 17:10:06.9016|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
2023-03-22 17:10:07.5877|INFO|dev.duerrenberg|32|Toggle Timer Eric Merrill's workspace, Work not work, Take a break, Taking a break
2023-03-22 17:10:07.9112|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace

For whatever reason, it's always logging about invalid setting on [1]...like continuously.

Tried again on another button and I saw:


2023-03-22 17:28:18.7059|INFO|dev.duerrenberg|44|Settings Received: Clockify.PluginSettings
2023-03-22 17:28:18.8656|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
...
2023-03-22 17:28:18.8671|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
2023-03-22 17:28:19.4514|INFO|dev.duerrenberg|53|API key successfully set
2023-03-22 17:28:19.8743|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
...
2023-03-22 17:28:21.8962|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
2023-03-22 17:28:22.6301|INFO|dev.duerrenberg|48|Key Pressed
2023-03-22 17:28:22.7277|INFO|dev.duerrenberg|48|Key Released
2023-03-22 17:28:22.9035|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
...
2023-03-22 17:28:23.5043|INFO|dev.duerrenberg|59|Toggle Timer Eric Merrill's workspace, Story Work, , Working on committed story
2023-03-22 17:28:23.9133|WARN|dev.duerrenberg|1|Invalid settings for running timer Eric Merrill's workspace
...
``
eXpl0it3r commented 1 year ago

Thanks, that's already quite useful. My initial thought is, that it maybe a caching issue, meaning it creates workspace <-> project mapping and if something changes in between, it might not be properly updated again.

Will try and see if I can reproduce this somehow.

I've been meaning to rewrite that whole mapping/caching bit, to resolve #8 for now, I don't really have a workaround to recommend. Only thing I could think of is to close the stream deck application when you're editing projects in your workspace.

TimothyHvr commented 1 year ago

I have the same issue. Multiple buttons on a page. All the same workspace. Different project/timername for each button.

When I edit the API key or workspace name per button that specific button starts working again.

I'm using it on windows. My workspace name is THaver. I tried to run a timer for project 22P05956_1 with timername BAB.

2023-04-17 10:07:39.2320|DEBUG|dev.duerrenberger.clockify|1|Logger Initialized
2023-04-17 10:07:39.2320|INFO|dev.duerrenberger.clockify|1|Plugin [dev.duerrenberger.clockify] Loading - 1 Actions Found
2023-04-17 10:07:39.3251|DEBUG|dev.duerrenberger.clockify|1|Plugin Loaded: UUID: 1C24FB391AAD9375EEE173D83F2774BE Device Info: Devices:
[Id: 12FEF59A5A2B376A981B8E1D352EFAAB Type: StreamDeckClassic Size: Rows: 3 Columns: 5]
ApplicationInfo: Language: en Platform: windows Version: 6.1.0.18521
PluginInfo: Version: 1.6

2023-04-17 10:07:39.3251|INFO|dev.duerrenberger.clockify|1|Plugin version: 1.6
2023-04-17 10:07:39.3251|INFO|dev.duerrenberger.clockify|1|Connecting to Stream Deck...
2023-04-17 10:07:41.3997|INFO|dev.duerrenberger.clockify|1|Connected to Stream Deck
2023-04-17 10:07:41.3997|INFO|dev.duerrenberger.clockify|1|GlobalSettingsManager initialized
2023-04-17 10:07:42.5562|INFO|dev.duerrenberger.clockify|9|API key successfully set
2023-04-17 10:07:42.5562|INFO|dev.duerrenberger.clockify|41|API key successfully set
2023-04-17 10:07:42.5562|INFO|dev.duerrenberger.clockify|39|API key successfully set
2023-04-17 10:07:42.5562|INFO|dev.duerrenberger.clockify|11|API key successfully set
2023-04-17 10:07:42.5562|INFO|dev.duerrenberger.clockify|10|API key successfully set
2023-04-17 10:07:42.5562|INFO|dev.duerrenberger.clockify|37|API key successfully set
2023-04-17 10:07:42.5609|INFO|dev.duerrenberger.clockify|38|API key successfully set
2023-04-17 10:07:42.5609|INFO|dev.duerrenberger.clockify|40|API key successfully set
2023-04-17 10:07:43.4545|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:43.4545|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:43.4545|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:44.4665|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:44.4665|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:44.4665|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:45.4747|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:45.4747|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:45.4780|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:46.4787|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:46.4787|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:46.4787|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:47.4906|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:47.4906|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:47.4906|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:47.8216|INFO|dev.duerrenberger.clockify|9|Key Pressed
2023-04-17 10:07:47.9840|INFO|dev.duerrenberger.clockify|9|Key Released
2023-04-17 10:07:47.9840|WARN|dev.duerrenberger.clockify|9|Invalid settings for toggle THaver, 22P05956_1, BAB
2023-04-17 10:07:48.5023|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:48.5023|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:48.5023|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:49.5163|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:49.5163|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
2023-04-17 10:07:49.5163|WARN|dev.duerrenberger.clockify|1|Invalid settings for running timer THaver
eXpl0it3r commented 1 year ago

Thank you for the additional information. I'm still trying to reproduce it locally, so I can understand the failure mode, as to ensure that the refactoring actually addresses the issue.

jamestjmartin commented 1 year ago

I'm having the same issue and can replicate that the workaround for now has been to edit the api in some way and then it starts working again. I'm running this on Mac. Following for updates on this bug. Thanks.

eXpl0it3r commented 1 year ago

@ironosity / @TimothyHvr / @jamestjmartin

Can you give the in-development plugin version a try and see if it fixes the issue?
If you use projects with different clients, consider adding the client name under the advanced settings.

Uninstall the existing plugin first - you don't need to remove any buttons - then unzip the download and open the plugin in Stream Deck.

ironosity commented 1 year ago

So tried it out. At first it didn't work right... just kept toggling ui between running/not running. I removed all buttons and started over. When only 2, it was working fined. Ran it through several tests. But as I added more and more buttons eventually it stopped working. For a while I just saw things like this in logs as I was adding buttons:

2023-05-05 11:26:08.4818|INFO|dev.duerrenberg|22|Connection to Clockify successfully established
2023-05-05 11:26:15.4982|DEBUG|dev.duerrenberg|30|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: S, Timer: Doing misc tasks
2023-05-05 11:26:15.4982|DEBUG|dev.duerrenberg|30|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Sl, Timer: Doing misc tasks
2023-05-05 11:26:15.6576|DEBUG|dev.duerrenberg|8|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Sla, Timer: Doing misc tasks
2023-05-05 11:26:15.6636|INFO|dev.duerrenberg|8|Connection to Clockify successfully established
2023-05-05 11:26:15.8301|INFO|dev.duerrenberg|27|Connection to Clockify successfully established
2023-05-05 11:26:15.8584|DEBUG|dev.duerrenberg|23|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slac, Timer: Doing misc tasks
2023-05-05 11:26:15.9419|DEBUG|dev.duerrenberg|23|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack, Timer: Doing misc tasks
2023-05-05 11:26:16.1732|INFO|dev.duerrenberg|14|Connection to Clockify successfully established
2023-05-05 11:26:16.3353|INFO|dev.duerrenberg|23|Connection to Clockify successfully established
2023-05-05 11:26:16.3423|INFO|dev.duerrenberg|23|Connection to Clockify successfully established
2023-05-05 11:26:16.4761|DEBUG|dev.duerrenberg|23|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack , Timer: Doing misc tasks
2023-05-05 11:26:16.6822|INFO|dev.duerrenberg|23|Connection to Clockify successfully established
2023-05-05 11:26:16.8110|DEBUG|dev.duerrenberg|26|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack a, Timer: Doing misc tasks
2023-05-05 11:26:16.9391|DEBUG|dev.duerrenberg|14|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack an, Timer: Doing misc tasks
2023-05-05 11:26:17.0487|INFO|dev.duerrenberg|14|Connection to Clockify successfully established
2023-05-05 11:26:17.0673|DEBUG|dev.duerrenberg|17|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack and, Timer: Doing misc tasks
2023-05-05 11:26:17.2093|INFO|dev.duerrenberg|14|Connection to Clockify successfully established
2023-05-05 11:26:17.2160|DEBUG|dev.duerrenberg|25|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack and , Timer: Doing misc tasks
2023-05-05 11:26:17.2345|INFO|dev.duerrenberg|17|Connection to Clockify successfully established
2023-05-05 11:26:17.3801|INFO|dev.duerrenberg|17|Connection to Clockify successfully established
2023-05-05 11:26:17.4730|DEBUG|dev.duerrenberg|17|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack and E, Timer: Doing misc tasks
2023-05-05 11:26:17.6289|DEBUG|dev.duerrenberg|17|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack and Em, Timer: Doing misc tasks
2023-05-05 11:26:17.7348|INFO|dev.duerrenberg|17|Connection to Clockify successfully established
2023-05-05 11:26:17.7510|DEBUG|dev.duerrenberg|25|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack and Ema, Timer: Doing misc tasks
2023-05-05 11:26:17.7909|INFO|dev.duerrenberg|23|Connection to Clockify successfully established
2023-05-05 11:26:17.8834|DEBUG|dev.duerrenberg|14|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack and Emai, Timer: Doing misc tasks
2023-05-05 11:26:17.9136|INFO|dev.duerrenberg|28|Connection to Clockify successfully established
2023-05-05 11:26:18.0334|DEBUG|dev.duerrenberg|28|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack and Email, Timer: Doing misc tasks
2023-05-05 11:26:18.0995|INFO|dev.duerrenberg|27|Connection to Clockify successfully established
2023-05-05 11:26:18.2530|INFO|dev.duerrenberg|17|Connection to Clockify successfully established

Connections continually being made but always successful. But if I changed project or task name it tries to get object with that partial name and returns "unable to find projecte shad on workspace Eric Merrill's workspace." Eventually I'll get exception like in this block:


2023-05-05 11:27:02.7569|DEBUG|dev.duerrenberg|14|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: S
2023-05-05 11:27:02.8547|DEBUG|dev.duerrenberg|14|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: Sc
2023-05-05 11:27:02.9230|INFO|dev.duerrenberg|17|Connection to Clockify successfully established
2023-05-05 11:27:03.0336|INFO|dev.duerrenberg|28|Connection to Clockify successfully established
2023-05-05 11:27:03.0919|DEBUG|dev.duerrenberg|28|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: Scr
2023-05-05 11:27:03.1933|DEBUG|dev.duerrenberg|4|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: Scru
2023-05-05 11:27:03.3486|INFO|dev.duerrenberg|17|Connection to Clockify successfully established
2023-05-05 11:27:03.3603|INFO|dev.duerrenberg|26|Connection to Clockify successfully established
2023-05-05 11:27:03.3907|DEBUG|dev.duerrenberg|18|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: Scrum
2023-05-05 11:27:03.5179|DEBUG|dev.duerrenberg|17|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: Scrum 
2023-05-05 11:27:03.7066|INFO|dev.duerrenberg|4|Connection to Clockify successfully established
2023-05-05 11:27:03.7066|INFO|dev.duerrenberg|17|Connection to Clockify successfully established
2023-05-05 11:27:03.7940|DEBUG|dev.duerrenberg|17|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: Scrum m
2023-05-05 11:27:03.8504|DEBUG|dev.duerrenberg|17|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: Scrum me
2023-05-05 11:27:03.9533|WARN|dev.duerrenberg|28|Invalid server URL or API key
2023-05-05 11:27:04.0096|WARN|dev.duerrenberg|4|Invalid server URL or API key
2023-05-05 11:27:04.0881|FATAL|dev.duerrenberg|4|Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at Clockify.ClockifyContext.GetRunningTimerAsync() in /Users/runner/work/streamdeck-clockify/streamdeck-clockify/Clockify/ClockifyContext.cs:line 136
   at Clockify.ToggleAction.OnTick() in /Users/runner/work/streamdeck-clockify/streamdeck-clockify/Clockify/ToggleAction.cs:line 75
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object )
   at System.Threading.QueueUserWorkItemCallbackDefaultContext.Execute()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
   at System.Threading.Thread.StartCallback()
2023-05-05 11:27:04.3988|DEBUG|dev.duerrenberg|1|Logger Initialized
2023-05-05 11:27:04.4177|INFO|dev.duerrenberg|1|Plugin [dev.duerrenberger] Loading - 1 Actions Found
2023-05-05 11:27:04.7578|DEBUG|dev.duerrenberg|1|Plugin Loaded: UUID: ACA170D8C3F9D47D133504AFBAAFEBA1 Device Info: Devices:
[Id: BE4F30ADD67A41D2FF8AAD67CBC212E9 Type: StreamDeckClassic Size: Rows: 3 Columns: 5]
ApplicationInfo: Language: en Platform: mac Version: 6.1.0.18521
PluginInfo: Version: 1.6

2023-05-05 11:27:04.7593|INFO|dev.duerrenberg|1|Plugin version: 1.6
2023-05-05 11:27:04.7593|INFO|dev.duerrenberg|1|Connecting to Stream Deck...
2023-05-05 11:27:04.8612|INFO|dev.duerrenberg|1|Connected to Stream Deck
2023-05-05 11:27:04.8649|INFO|dev.duerrenberg|1|GlobalSettingsManager initialized
2023-05-05 11:27:04.8959|DEBUG|dev.duerrenberg|10|Creating ToggleAction...
2023-05-05 11:27:04.9135|DEBUG|dev.duerrenberg|10|Creating ToggleAction...
2023-05-05 11:27:04.9154|DEBUG|dev.duerrenberg|10|Creating ToggleAction...
2023-05-05 11:27:04.9159|DEBUG|dev.duerrenberg|10|Creating ToggleAction...
2023-05-05 11:27:04.9159|DEBUG|dev.duerrenberg|10|Creating ToggleAction...
2023-05-05 11:27:04.9249|DEBUG|dev.duerrenberg|10|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: Scrum meetin
2023-05-05 11:27:05.0475|DEBUG|dev.duerrenberg|9|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: Scrum meeting
2023-05-05 11:27:05.5374|DEBUG|dev.duerrenberg|6|Settings Received: Workspace: Eric Merrill's workspace, Project: Meetings, Task: Team, Timer: Scrum meetings
2023-05-05 11:27:05.9677|INFO|dev.duerrenberg|6|Connection to Clockify successfully established
2023-05-05 11:27:05.9677|INFO|dev.duerrenberg|8|Connection to Clockify successfully established
2023-05-05 11:27:06.0041|INFO|dev.duerrenberg|14|Connection to Clockify successfully established
2023-05-05 11:27:06.8592|INFO|dev.duerrenberg|10|Connection to Clockify successfully established
2023-05-05 11:27:06.8595|INFO|dev.duerrenberg|9|Connection to Clockify successfully established
2023-05-05 11:27:06.8592|INFO|dev.duerrenberg|6|Connection to Clockify successfully established
2023-05-05 11:27:06.8597|INFO|dev.duerrenberg|16|Connection to Clockify successfully established
2023-05-05 11:27:37.0409|DEBUG|dev.duerrenberg|22|Creating ToggleAction...
2023-05-05 11:27:38.1112|INFO|dev.duerrenberg|22|Connection to Clockify successfully established
2023-05-05 11:27:46.5544|DEBUG|dev.duerrenberg|6|Settings Received: Workspace: Eric Merrill's workspace, Project: S, Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:46.6992|WARN|dev.duerrenberg|22|Unable to find project S on workspace Eric Merrill's workspace for client 
2023-05-05 11:27:46.8661|INFO|dev.duerrenberg|21|Connection to Clockify successfully established
2023-05-05 11:27:47.0103|DEBUG|dev.duerrenberg|21|Settings Received: Workspace: Eric Merrill's workspace, Project: Sh, Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:47.0185|DEBUG|dev.duerrenberg|21|Settings Received: Workspace: Eric Merrill's workspace, Project: Sha, Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:47.2174|DEBUG|dev.duerrenberg|8|Settings Received: Workspace: Eric Merrill's workspace, Project: Shad, Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:47.2243|INFO|dev.duerrenberg|21|Connection to Clockify successfully established
2023-05-05 11:27:47.3766|DEBUG|dev.duerrenberg|6|Settings Received: Workspace: Eric Merrill's workspace, Project: Shado, Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:47.3901|INFO|dev.duerrenberg|6|Connection to Clockify successfully established
2023-05-05 11:27:47.5731|INFO|dev.duerrenberg|14|Connection to Clockify successfully established
2023-05-05 11:27:47.5745|INFO|dev.duerrenberg|14|Connection to Clockify successfully established
2023-05-05 11:27:48.2485|DEBUG|dev.duerrenberg|14|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow, Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:48.4294|INFO|dev.duerrenberg|21|Connection to Clockify successfully established
2023-05-05 11:27:48.4654|DEBUG|dev.duerrenberg|4|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow , Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:48.6328|INFO|dev.duerrenberg|8|Connection to Clockify successfully established
2023-05-05 11:27:48.7170|DEBUG|dev.duerrenberg|8|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow W, Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:48.7993|WARN|dev.duerrenberg|8|Unable to find project Shadow W on workspace Eric Merrill's workspace for client 
2023-05-05 11:27:48.9524|WARN|dev.duerrenberg|14|Invalid server URL or API key
2023-05-05 11:27:49.1247|DEBUG|dev.duerrenberg|14|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Wo, Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:49.1291|DEBUG|dev.duerrenberg|14|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Wor, Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:49.1381|DEBUG|dev.duerrenberg|18|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Slack and Email, Timer: Catching up on slack/email
2023-05-05 11:27:50.0523|INFO|dev.duerrenberg|25|Connection to Clockify successfully established
2023-05-05 11:27:50.0558|INFO|dev.duerrenberg|25|Connection to Clockify successfully established
2023-05-05 11:27:50.0561|INFO|dev.duerrenberg|6|Connection to Clockify successfully established
2023-05-05 11:27:50.7086|WARN|dev.duerrenberg|16|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:27:50.7087|WARN|dev.duerrenberg|10|Unable to retrieve project Work not work on workspace Eric Merrill's workspace
2023-05-05 11:27:50.7086|WARN|dev.duerrenberg|6|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:27:51.0286|DEBUG|dev.duerrenberg|6|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: C, Timer: Catching up on slack/email
2023-05-05 11:27:51.1929|INFO|dev.duerrenberg|6|Connection to Clockify successfully established
2023-05-05 11:27:51.2703|DEBUG|dev.duerrenberg|21|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Co, Timer: Catching up on slack/email
2023-05-05 11:27:51.4221|DEBUG|dev.duerrenberg|10|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Cod, Timer: Catching up on slack/email
2023-05-05 11:27:51.5778|INFO|dev.duerrenberg|14|Connection to Clockify successfully established
2023-05-05 11:27:51.5897|INFO|dev.duerrenberg|6|Connection to Clockify successfully established
2023-05-05 11:27:51.6229|DEBUG|dev.duerrenberg|6|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Code, Timer: Catching up on slack/email
2023-05-05 11:27:51.7503|WARN|dev.duerrenberg|4|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:27:51.7814|WARN|dev.duerrenberg|22|Invalid server URL or API key
2023-05-05 11:27:52.1069|DEBUG|dev.duerrenberg|22|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Code , Timer: Catching up on slack/email
2023-05-05 11:27:52.3979|DEBUG|dev.duerrenberg|16|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Code R, Timer: Catching up on slack/email
2023-05-05 11:27:52.6213|DEBUG|dev.duerrenberg|16|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Code Re, Timer: Catching up on slack/email
2023-05-05 11:27:52.9895|INFO|dev.duerrenberg|19|Connection to Clockify successfully established
2023-05-05 11:27:53.0690|DEBUG|dev.duerrenberg|20|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Code Rev, Timer: Catching up on slack/email
2023-05-05 11:27:53.1537|INFO|dev.duerrenberg|21|Connection to Clockify successfully established
2023-05-05 11:27:53.1541|INFO|dev.duerrenberg|21|Connection to Clockify successfully established
2023-05-05 11:27:53.1583|DEBUG|dev.duerrenberg|21|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Code Revi, Timer: Catching up on slack/email
2023-05-05 11:27:53.3159|INFO|dev.duerrenberg|20|Connection to Clockify successfully established
2023-05-05 11:27:53.3345|INFO|dev.duerrenberg|10|Connection to Clockify successfully established
2023-05-05 11:27:53.3946|DEBUG|dev.duerrenberg|10|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Code Revie, Timer: Catching up on slack/email
2023-05-05 11:27:53.6005|DEBUG|dev.duerrenberg|23|Settings Received: Workspace: Eric Merrill's workspace, Project: Shadow Work, Task: Code Review, Timer: Catching up on slack/email
2023-05-05 11:27:53.6744|INFO|dev.duerrenberg|23|Connection to Clockify successfully established
2023-05-05 11:27:53.7648|INFO|dev.duerrenberg|10|Connection to Clockify successfully established
2023-05-05 11:27:53.8346|WARN|dev.duerrenberg|19|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace

eventually I jsut get logs like this where it seem it can't find any of my projects even though it could before:

[Id: BE4F30ADD67A41D2FF8AAD67CBC212E9 Type: StreamDeckClassic Size: Rows: 3 Columns: 5]
ApplicationInfo: Language: en Platform: mac Version: 6.1.0.18521
PluginInfo: Version: 1.6

2023-05-05 11:29:44.9139|INFO|dev.duerrenberg|1|Plugin version: 1.6
2023-05-05 11:29:44.9139|INFO|dev.duerrenberg|1|Connecting to Stream Deck...
2023-05-05 11:29:45.0196|INFO|dev.duerrenberg|1|Connected to Stream Deck
2023-05-05 11:29:45.0225|INFO|dev.duerrenberg|1|GlobalSettingsManager initialized
2023-05-05 11:29:45.0579|DEBUG|dev.duerrenberg|9|Creating ToggleAction...
2023-05-05 11:29:45.0791|DEBUG|dev.duerrenberg|9|Creating ToggleAction...
2023-05-05 11:29:45.0807|DEBUG|dev.duerrenberg|9|Creating ToggleAction...
2023-05-05 11:29:45.0807|DEBUG|dev.duerrenberg|9|Creating ToggleAction...
2023-05-05 11:29:45.0813|DEBUG|dev.duerrenberg|9|Creating ToggleAction...
2023-05-05 11:29:45.0813|DEBUG|dev.duerrenberg|9|Creating ToggleAction...
2023-05-05 11:29:45.0813|DEBUG|dev.duerrenberg|9|Creating ToggleAction...
2023-05-05 11:29:45.0813|DEBUG|dev.duerrenberg|9|Creating ToggleAction...
2023-05-05 11:29:47.4161|INFO|dev.duerrenberg|16|Connection to Clockify successfully established
2023-05-05 11:29:47.4161|INFO|dev.duerrenberg|6|Connection to Clockify successfully established
2023-05-05 11:29:47.4162|INFO|dev.duerrenberg|9|Connection to Clockify successfully established
2023-05-05 11:29:47.4166|INFO|dev.duerrenberg|4|Connection to Clockify successfully established
2023-05-05 11:29:47.4434|INFO|dev.duerrenberg|15|Connection to Clockify successfully established
2023-05-05 11:29:47.4434|INFO|dev.duerrenberg|9|Connection to Clockify successfully established
2023-05-05 11:29:47.4434|INFO|dev.duerrenberg|12|Connection to Clockify successfully established
2023-05-05 11:29:47.4434|INFO|dev.duerrenberg|4|Connection to Clockify successfully established
2023-05-05 11:29:48.8663|WARN|dev.duerrenberg|8|Unable to retrieve project Career Development on workspace Eric Merrill's workspace
2023-05-05 11:29:48.8677|WARN|dev.duerrenberg|4|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:48.8663|WARN|dev.duerrenberg|10|Unable to retrieve project Work not work on workspace Eric Merrill's workspace
2023-05-05 11:29:48.8677|WARN|dev.duerrenberg|12|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:48.8677|WARN|dev.duerrenberg|15|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:48.8677|WARN|dev.duerrenberg|17|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:48.8677|WARN|dev.duerrenberg|14|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:48.8663|WARN|dev.duerrenberg|9|Unable to retrieve project Story Work on workspace Eric Merrill's workspace
2023-05-05 11:29:49.7445|WARN|dev.duerrenberg|10|Unable to retrieve project Work not work on workspace Eric Merrill's workspace
2023-05-05 11:29:49.7453|WARN|dev.duerrenberg|16|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:49.7453|WARN|dev.duerrenberg|14|Unable to retrieve project Career Development on workspace Eric Merrill's workspace
2023-05-05 11:29:49.7444|WARN|dev.duerrenberg|12|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:50.7544|WARN|dev.duerrenberg|16|Unable to retrieve project Story Work on workspace Eric Merrill's workspace
2023-05-05 11:29:50.7544|WARN|dev.duerrenberg|12|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:50.7544|WARN|dev.duerrenberg|4|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:50.7544|WARN|dev.duerrenberg|15|Unable to retrieve project Work not work on workspace Eric Merrill's workspace
2023-05-05 11:29:51.8297|WARN|dev.duerrenberg|15|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:51.8298|WARN|dev.duerrenberg|20|Unable to retrieve project Work not work on workspace Eric Merrill's workspace
2023-05-05 11:29:51.8301|WARN|dev.duerrenberg|17|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:51.8298|WARN|dev.duerrenberg|10|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:52.8891|WARN|dev.duerrenberg|6|Unable to retrieve project Story Work on workspace Eric Merrill's workspace
2023-05-05 11:29:52.8889|WARN|dev.duerrenberg|12|Unable to retrieve project Work not work on workspace Eric Merrill's workspace
2023-05-05 11:29:52.8889|WARN|dev.duerrenberg|15|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:52.8944|WARN|dev.duerrenberg|6|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:53.7465|WARN|dev.duerrenberg|10|Unable to retrieve project Career Development on workspace Eric Merrill's workspace
2023-05-05 11:29:53.7465|WARN|dev.duerrenberg|17|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:53.7492|WARN|dev.duerrenberg|15|Unable to retrieve project Story Work on workspace Eric Merrill's workspace
2023-05-05 11:29:53.7550|WARN|dev.duerrenberg|11|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:54.7937|WARN|dev.duerrenberg|21|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:54.8650|WARN|dev.duerrenberg|21|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:54.8662|WARN|dev.duerrenberg|21|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:54.8821|WARN|dev.duerrenberg|21|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:55.8316|WARN|dev.duerrenberg|14|Unable to retrieve project Story Work on workspace Eric Merrill's workspace
2023-05-05 11:29:55.8316|WARN|dev.duerrenberg|16|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:55.8343|WARN|dev.duerrenberg|21|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:55.8343|WARN|dev.duerrenberg|9|Unable to retrieve project Work not work on workspace Eric Merrill's workspace
2023-05-05 11:29:56.8880|WARN|dev.duerrenberg|23|Unable to retrieve project Story Work on workspace Eric Merrill's workspace
2023-05-05 11:29:56.8942|WARN|dev.duerrenberg|22|Unable to retrieve project Meetings on workspace Eric Merrill's workspace
2023-05-05 11:29:56.8950|WARN|dev.duerrenberg|14|Unable to retrieve project Work not work on workspace Eric Merrill's workspace
2023-05-05 11:29:56.8951|WARN|dev.duerrenberg|21|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:57.7656|WARN|dev.duerrenberg|14|Unable to retrieve project Story Work on workspace Eric Merrill's workspace
2023-05-05 11:29:57.7656|WARN|dev.duerrenberg|20|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:57.7656|WARN|dev.duerrenberg|23|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:57.7656|WARN|dev.duerrenberg|22|Unable to retrieve project Work not work on workspace Eric Merrill's workspace
2023-05-05 11:29:58.8193|WARN|dev.duerrenberg|14|Unable to retrieve project Story Work on workspace Eric Merrill's workspace
2023-05-05 11:29:58.8195|WARN|dev.duerrenberg|12|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:58.8204|WARN|dev.duerrenberg|11|Unable to retrieve project Shadow Work on workspace Eric Merrill's workspace
2023-05-05 11:29:58.8204|WARN|dev.duerrenberg|21|Unable to retrieve project Work not work on workspace Eric Merrill's workspace

and at this point buttons no longer work.

eXpl0it3r commented 1 year ago

Thanks a lot for the detail information. I think, I've spotted at least one issue and was able to reproduce some of the described problems, so I'll try and iron them out! 🙂

WiredTombstone commented 1 year ago

Really appreciate this addon, but I'm experiencing the same problem frequently. Happy to contribute to a bug bounty or something.

eXpl0it3r commented 1 year ago

Sorry for stalling on this issue. I have already rewritten most of the handling code, but ran into similar issues that indicated more of an issue with the underlying framework.

Will be pickimg it up again soon.

In the meantime, I think just using 1-2 buttons makes the issue not appear as much/frequently.

WiredTombstone commented 1 year ago

Any idea if putting them in separate folders would help?

WiredTombstone commented 1 year ago

I'm willing to open a $100 bug bounty on this.

eXpl0it3r commented 1 year ago

Trying to analyze the issue some more, it seems to me like a multi-threading issue. Unfortunately, it's really hard to debug, as Stream Deck is executing the plugin, then there's the SDK in between that riggers the events, and finally the API client for Clockify.

Next step is to eliminate potential sources of errors, which might start by replacing the Clockify API client with just a normal HttpClient.

The latest automatic build, should reduce the overall issue, meaning, you shouldn't be running into "crashes", but the buttons still won't always work. I noticed that spamming the same button helped at times. Yes, it's just a workaround, but it's the best I can offer currently 😓

Here you can find the latest automatic build: https://github.com/eXpl0it3r/streamdeck-clockify/actions/runs/5980730152

eXpl0it3r commented 7 months ago

@WiredTombstone & @ironosity could you please give the latest release 1.8 a try?

https://github.com/eXpl0it3r/streamdeck-clockify/releases/tag/1.8

eXpl0it3r commented 7 months ago

I've gotten good reports from #16 which seems to have the same root cause of too many API calls. Try the latest release for a fix.