{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":621844557,"defaultBranch":"main","name":"willow","ownerLogin":"toverainc","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-03-31T14:05:15.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/84786158?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1709040336.0","currentOid":""},"activityList":{"items":[{"before":"a57b41d76b22dbae62a33503e4279c4bd8c9c009","after":null,"ref":"refs/heads/fix/http_stream_timeout","pushedAt":"2024-02-27T13:25:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"}},{"before":"3423b65dd1bb9b34f6ff64ed4b430dab38034060","after":"324fb23f76a53fd6a7337fc6e2f265f7d874a710","ref":"refs/heads/main","pushedAt":"2024-02-27T13:25:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"},"commit":{"message":"audio: increase HTTP stream timeout after send for TTS\n\nIn commit af99de418c18 (\"audio: reduce HTTP Stream timeout to 2s\") we\nchanged the HTTP Stream timeout to 2s so we can indicate early when\nwe're not able to connect to WIS.\n\nUnfortunately ESP HTTP Client only has a single timeout value, and we\nnow also abort the HTTP connection to WIS if TTS takes longer than 2s.\nWe want to keep the timeout reasonably low, as having to wait for a\nTTS response for too long isn't great for UX, but 2s is too short for\nlong TTS responses.\n\nLeave the initial timeout at 2s, but increase it to 10s on the\nHTTP_STREAM_POST_REQUEST event, which happens after the HTTP client sent\nheader and body to WIS, but before fetching the response.","shortMessageHtmlLink":"audio: increase HTTP stream timeout after send for TTS"}},{"before":"787988370813754879d973e3fbe2c371da932637","after":"a57b41d76b22dbae62a33503e4279c4bd8c9c009","ref":"refs/heads/fix/http_stream_timeout","pushedAt":"2024-02-27T13:20:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: increase HTTP stream timeout after send for TTS\n\nIn commit af99de418c18 (\"audio: reduce HTTP Stream timeout to 2s\") we\nchanged the HTTP Stream timeout to 2s so we can indicate early when\nwe're not able to connect to WIS.\n\nUnfortunately ESP HTTP Client only has a single timeout value, and we\nnow also abort the HTTP connection to WIS if TTS takes longer than 2s.\nWe want to keep the timeout reasonably low, as having to wait for a\nTTS response for too long isn't great for UX, but 2s is too short for\nlong TTS responses.\n\nLeave the initial timeout at 2s, but increase it to 10s on the\nHTTP_STREAM_POST_REQUEST event, which happens after the HTTP client sent\nheader and body to WIS, but before fetching the response.","shortMessageHtmlLink":"audio: increase HTTP stream timeout after send for TTS"}},{"before":"5c64cb4cff80f7849ebe346b589844b29f12f3bd","after":null,"ref":"refs/heads/defaults/build_box_3","pushedAt":"2024-02-27T13:18:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"}},{"before":"203942d2d9360641d41f0c658e8ef5dd6ec2f994","after":"3423b65dd1bb9b34f6ff64ed4b430dab38034060","ref":"refs/heads/main","pushedAt":"2024-02-27T13:18:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"},"commit":{"message":"sdkconfig: build for ESP32-S3-Box-3 by default\n\nThe original ESP32-S3-Box and ESP32-S3-Box-Lite are EOL. Let's build for\nthe model that is not EOL by default.","shortMessageHtmlLink":"sdkconfig: build for ESP32-S3-Box-3 by default"}},{"before":"30913edeaaca10342fe65f8e83fd165bc47fecf1","after":"787988370813754879d973e3fbe2c371da932637","ref":"refs/heads/fix/http_stream_timeout","pushedAt":"2024-02-26T18:10:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: increase HTTP stream timeout after send for TTS\n\nIn commit af99de418c18 (\"audio: reduce HTTP Stream timeout to 2s\") we\nchanged the HTTP Stream timeout to 2s so we can indicate early when\nwe're not able to connect to WIS.\n\nUnfortunately ESP HTTP Client only has a single timeout value, and we\nnow also abort the HTTP connection to WIS if TTS takes longer than 2s.\nWe want to keep the timeout reasonably low, as having to wait for a\nTTS response for too long isn't great for UX, but 2s is too short for\nlong TTS responses.\n\nLeave the initial timeout at 2s, but increase it to 10s on the\nHTTP_STREAM_POST_REQUEST event, which happens after the HTTP client sent\nheader and body to WIS, but before fetching the response.","shortMessageHtmlLink":"audio: increase HTTP stream timeout after send for TTS"}},{"before":null,"after":"30913edeaaca10342fe65f8e83fd165bc47fecf1","ref":"refs/heads/fix/http_stream_timeout","pushedAt":"2024-02-26T18:02:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: increase HTTP stream timeout after send for ESP audio\n\nIn commit af99de418c18 (\"audio: reduce HTTP Stream timeout to 2s\") we\nchanged the HTTP Stream timeout to 2s so we can indicate early when\nwe're not able to connect to WIS.\n\nUnfortunately ESP HTTP Client only has a single timeout value, and we\nnow also abort the HTTP connection to WIS if TTS takes longer than 2s.\nWe want to keep the timeout reasonably low, as having to wait for a\nTTS response for too long isn't great for UX, but 2s is too short for\nlong TTS responses.\n\nLeave the initial timeout at 2s, but increase it to 10s on the\nHTTP_STREAM_POST_REQUEST event, which happens after the HTTP client sent\nheader and body to WIS, but before fetching the response.","shortMessageHtmlLink":"audio: increase HTTP stream timeout after send for ESP audio"}},{"before":null,"after":"5c64cb4cff80f7849ebe346b589844b29f12f3bd","ref":"refs/heads/defaults/build_box_3","pushedAt":"2024-02-21T18:03:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"sdkconfig: build for ESP32-S3-Box-3 by default\n\nThe original ESP32-S3-Box and ESP32-S3-Box-Lite are EOL. Let's build for\nthe model that is not EOL by default.","shortMessageHtmlLink":"sdkconfig: build for ESP32-S3-Box-3 by default"}},{"before":"51b687857e90968fdda6a367962f13345b9ed3e5","after":null,"ref":"refs/heads/fix/was_close_ws","pushedAt":"2024-01-17T13:07:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"}},{"before":"e30ab82601a5b305a7c6bdd250f264bc32479b65","after":"203942d2d9360641d41f0c658e8ef5dd6ec2f994","ref":"refs/heads/main","pushedAt":"2024-01-17T13:06:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"},"commit":{"message":"was: enable WebSocket destroy on exit in was_init\n\nThe WAS WebSocket client sometimes fails to reconnect after receiving a\nWEBSOCKET_EVENT_CLOSED event due to it not being able to create the\nWebSocket client task:\n\n I (13:15:28.958) WILLOW/WAS: WebSocket closed\n I (13:15:28.959) WILLOW/WAS: initializing WebSocket client (ws://was.dev.willow:8502/ws)\n E (13:15:28.961) websocket_client: Error create websocket task\n E (13:15:28.967) WILLOW/WAS: failed to start WebSocket client: ESP_FAIL\n\nWhen this happens, Willow stops trying to reconnect to WAS, and the user\nhas to reset or power-cycle their device. As this is terrible UX, this\nshould be avoided.\n\nThe root cause is not freeing resources of the WebSocket client before\nwe reinitialize it in init_was. This eventually causes us to run out of\nIRAM, causing the WebSocket client task creation to fail.\n\nTo fix this, enable WebSocket destroy on exit in was_init, rather than\nin was_deinit, so it is always enabled. This is needed to avoid leaking\nresources due to not calling esp_websocket_client_destroy before calling\nesp_websocket_client_init. We don't want to call\nesp_websocket_client_destroy, as that has proven to be very prone to\ncrashes in the past.\n\nSimilarly, we don't want to call esp_websocket_client_start when the WAS\nWebSocket client receives a WEBSOCKET_EVENT_CLOSED event. This would\navoid the resource leak, but testing has shown this is also very prone\nto crashes.\n\nSee the following commits for extra information:\n985375c35f55 (\"was: drop esp_websocket_client_destroy()\")\n1f3d2989dc16 (\"was: drop esp_websocket_client_destroy() completely\")","shortMessageHtmlLink":"was: enable WebSocket destroy on exit in was_init"}},{"before":null,"after":"51b687857e90968fdda6a367962f13345b9ed3e5","ref":"refs/heads/fix/was_close_ws","pushedAt":"2024-01-17T11:51:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"was: enable WebSocket destroy on exit in was_init\n\nThe WAS WebSocket client sometimes fails to reconnect after receiving a\nWEBSOCKET_EVENT_CLOSED event due to it not being able to create the\nWebSocket client task:\n\n I (13:15:28.958) WILLOW/WAS: WebSocket closed\n I (13:15:28.959) WILLOW/WAS: initializing WebSocket client (ws://was.dev.willow:8502/ws)\n E (13:15:28.961) websocket_client: Error create websocket task\n E (13:15:28.967) WILLOW/WAS: failed to start WebSocket client: ESP_FAIL\n\nWhen this happens, Willow stops trying to reconnect to WAS, and the user\nhas to reset or power-cycle their device. As this is terrible UX, this\nshould be avoided.\n\nThe root cause is not freeing resources of the WebSocket client before\nwe reinitialize it in init_was. This eventually causes us to run out of\nIRAM, causing the WebSocket client task creation to fail.\n\nTo fix this, enable WebSocket destroy on exit in was_init, rather than\nin was_deinit, so it is always enabled. This is needed to avoid leaking\nresources due to not calling esp_websocket_client_destroy before calling\nesp_websocket_client_init. We don't want to call\nesp_websocket_client_destroy, as that has proven to be very prone to\ncrashes in the past.\n\nSimilarly, we don't want to call esp_websocket_client_start when the WAS\nWebSocket client receives a WEBSOCKET_EVENT_CLOSED event. This would\navoid the resource leak, but testing has shown this is also very prone\nto crashes.\n\nSee the following commits for extra information:\n985375c35f55 (\"was: drop esp_websocket_client_destroy()\")\n1f3d2989dc16 (\"was: drop esp_websocket_client_destroy() completely\")","shortMessageHtmlLink":"was: enable WebSocket destroy on exit in was_init"}},{"before":"0e60389215ced64109d73f7d8008cbf24acafb40","after":"afcd4dabb7c2d692c013db51c036d7e23cedb959","ref":"refs/heads/bump/idf_and_components","pushedAt":"2024-01-10T19:37:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: add support for new wake words\n\nCloses: #207","shortMessageHtmlLink":"audio: add support for new wake words"}},{"before":"a7a146d36e8206d61765dc7bf77591939a45be22","after":null,"ref":"refs/heads/fix/crash_missing_wakeword","pushedAt":"2024-01-10T17:48:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"}},{"before":"74dfff24a1173c5c393400fd93c63e0edc7593bb","after":"e30ab82601a5b305a7c6bdd250f264bc32479b65","ref":"refs/heads/main","pushedAt":"2024-01-10T17:48:27.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"},"commit":{"message":"audio: add NULL check for SR recorder\n\nIf the SR recorder cannot be created for some reason, we currently just\nprint \"Ready!\" on the display. Improve UX by informing the user about\nthe problem.","shortMessageHtmlLink":"audio: add NULL check for SR recorder"}},{"before":"cc7467d7fb23f3d515cc96ebbf3424b07815d1eb","after":"9aa04c9ad451f0260ad156cc4aba174288e69c79","ref":"refs/heads/feature/srmodel_ota","pushedAt":"2024-01-10T10:37:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: support new wake_work_friendly config property","shortMessageHtmlLink":"audio: support new wake_work_friendly config property"}},{"before":"113127f203816a69f7b567d2327f4f2abffccba5","after":"0e60389215ced64109d73f7d8008cbf24acafb40","ref":"refs/heads/bump/idf_and_components","pushedAt":"2024-01-10T10:04:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: add support for new wake words\n\nCloses: #207","shortMessageHtmlLink":"audio: add support for new wake words"}},{"before":"53aab3f86dd52c934dcce88de258c1bab5cba686","after":"cc7467d7fb23f3d515cc96ebbf3424b07815d1eb","ref":"refs/heads/feature/srmodel_ota","pushedAt":"2024-01-10T10:02:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: support new wake_work_friendly config property","shortMessageHtmlLink":"audio: support new wake_work_friendly config property"}},{"before":"6b7857ed047dc4605affdf319299dfabe9052cd2","after":"a7a146d36e8206d61765dc7bf77591939a45be22","ref":"refs/heads/fix/crash_missing_wakeword","pushedAt":"2024-01-09T17:53:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: add NULL check for SR recorder\n\nIf the SR recorder cannot be created for some reason, we currently just\nprint \"Ready!\" on the display. Improve UX by informing the user about\nthe problem.","shortMessageHtmlLink":"audio: add NULL check for SR recorder"}},{"before":null,"after":"6b7857ed047dc4605affdf319299dfabe9052cd2","ref":"refs/heads/fix/crash_missing_wakeword","pushedAt":"2024-01-09T13:04:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: add NULL check for SR recorder\n\nIf the SR recorder cannot be created for some reason, we currently just\nprint \"Ready!\" on the display. Improve UX by informing the user about\nthe problem.","shortMessageHtmlLink":"audio: add NULL check for SR recorder"}},{"before":"17e934172a7d1b75f4cd9ec7ca47b1fca7e5f4c0","after":"113127f203816a69f7b567d2327f4f2abffccba5","ref":"refs/heads/bump/idf_and_components","pushedAt":"2024-01-09T07:51:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: add support for new wake words\n\nCloses: #207","shortMessageHtmlLink":"audio: add support for new wake words"}},{"before":"53d3426f7005adf5d28e0e26e37944217b65d5b6","after":"17e934172a7d1b75f4cd9ec7ca47b1fca7e5f4c0","ref":"refs/heads/bump/idf_and_components","pushedAt":"2024-01-09T07:21:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: add support for new wake words\n\nCloses: #207","shortMessageHtmlLink":"audio: add support for new wake words"}},{"before":"3d374ac1d3d74783e3bc89644d08c0ea967cbceb","after":null,"ref":"refs/heads/fix/i2s_errors","pushedAt":"2024-01-02T23:24:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"}},{"before":"0ac5fb77e84c5b2ebf7d7910c7baa8362e2aab32","after":"74dfff24a1173c5c393400fd93c63e0edc7593bb","ref":"refs/heads/main","pushedAt":"2024-01-02T23:24:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"},"commit":{"message":"audio: only install I2S driver once\n\nThis requires an ESP-ADF bump.\n\nCloses: #125\nCloses: #354","shortMessageHtmlLink":"audio: only install I2S driver once"}},{"before":"915dc2728524470ff798c1971691bed915ec9bc6","after":"3d374ac1d3d74783e3bc89644d08c0ea967cbceb","ref":"refs/heads/fix/i2s_errors","pushedAt":"2024-01-02T23:11:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: only install I2S driver once\n\nThis requires an ESP-ADF bump.\n\nCloses: #125\nCloses: #354","shortMessageHtmlLink":"audio: only install I2S driver once"}},{"before":"190431c40c8624f831f365f05a92165bdbaf88de","after":null,"ref":"refs/heads/fix/ci","pushedAt":"2024-01-02T23:07:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"}},{"before":"917814486c85a1b0ea106d7c81a263b40fc2dcd8","after":"0ac5fb77e84c5b2ebf7d7910c7baa8362e2aab32","ref":"refs/heads/main","pushedAt":"2024-01-02T23:07:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kristiankielhofner","name":"Kristian Kielhofner","path":"/kristiankielhofner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/563162?s=80&v=4"},"commit":{"message":"CI: bump tj-actions/changed-files to v41\n\nFixes CVE-2023-51664 (high).","shortMessageHtmlLink":"CI: bump tj-actions/changed-files to v41"}},{"before":"ce52787a6627783b02c7cc47c950eb000f9f0a82","after":"915dc2728524470ff798c1971691bed915ec9bc6","ref":"refs/heads/fix/i2s_errors","pushedAt":"2024-01-02T22:28:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: only install I2S driver once\n\nThis requires an ESP-ADF bump.\n\nCloses: #125\nCloses: #354","shortMessageHtmlLink":"audio: only install I2S driver once"}},{"before":"0668d2e51b9ae8bd93198741f563e7fe9de922d4","after":"ce52787a6627783b02c7cc47c950eb000f9f0a82","ref":"refs/heads/fix/i2s_errors","pushedAt":"2024-01-02T22:22:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: only install I2S driver once\n\nThis requires an ESP-ADF bump.\n\nCloses: #125\nCloses: #354","shortMessageHtmlLink":"audio: only install I2S driver once"}},{"before":null,"after":"0668d2e51b9ae8bd93198741f563e7fe9de922d4","ref":"refs/heads/fix/i2s_errors","pushedAt":"2024-01-02T22:21:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"audio: only install I2S driver once\n\nThis requires an ESP-ADF bump.\n\nCloses: #125\nCloses: #354","shortMessageHtmlLink":"audio: only install I2S driver once"}},{"before":null,"after":"190431c40c8624f831f365f05a92165bdbaf88de","ref":"refs/heads/fix/ci","pushedAt":"2024-01-02T20:46:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"stintel","name":"Stijn Tintel","path":"/stintel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1258811?s=80&v=4"},"commit":{"message":"CI: bump tj-actions/changed-files to v41\n\nFixes CVE-2023-51664 (high).","shortMessageHtmlLink":"CI: bump tj-actions/changed-files to v41"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEBo787AA","startCursor":null,"endCursor":null}},"title":"Activity ยท toverainc/willow"}