Repository: kopia/kopia
Pull request #4327 (2025-01-01 23:08:54)

build(deps): bump the kopia-ui-npm-dependencies group in /app with 6 updates
Bumps the kopia-ui-npm-dependencies group in /app with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [electron-log](https://github.com/megahertz/electron-log) | `5.2.3` | `5.2.4` |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.49.0` | `1.49.1` |
| [concurrently](https://github.com/open-cli-tools/concurrently) | `9.1.0` | `9.1.2` |
| [dotenv](https://github.com/motdotla/dotenv) | `16.4.5` | `16.4.7` |
| [playwright](https://github.com/microsoft/playwright) | `1.49.0` | `1.49.1` |
| [playwright-core](https://github.com/microsoft/playwright) | `1.49.0` | `1.49.1` |

Updates `electron-log` from 5.2.3 to 5.2.4
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/megahertz/electron-log/blob/master/CHANGELOG.md">electron-log's changelog</a>.</em></p>
<blockquote>
<h2>5.2.4</h2>
<ul>
<li>Add Buffering feature.</li>
</ul>
<h2>5.2.0</h2>
<ul>
<li><a href="https://github.com/megahertz/electron-log/commit/a52f3e5863ba5caf6cb19b2cdb32c43d28545b9d">fix</a>:
<a href="https://redirect.github.com/megahertz/electron-log/issues/436">#436</a> <code>log.log</code>
isn't bound to <code>log.info</code>. Previously, it was processed with non-existent
<code>log</code> level.</li>
</ul>
<h2>5.1.0</h2>
<ul>
<li>New entry point for NW.js / Node.js apps: <code>'electron-log/node'</code></li>
</ul>
<h2>5.0.0</h2>
<h3>Core</h3>
<ul>
<li>Now it's a time to use modern ES instead of ES5. It was a joy to use
old-fashioned ES5, but since the library grows it becomes
harder to follow its restrictions. Starting from v5 the library
requires Node.js 14+ or Electron 13 at least.</li>
<li>Now a renderer process just sends log data to the main through IPC,
so only the main logger can be configured. See
<a href="https://github.com/megahertz/electron-log/blob/master/docs/initialize.md">initialize</a> for more information</li>
<li>A new <code>tranforms</code> property is added for each transport. It allows to
configure transformations preformed on message data. See
<a href="https://github.com/megahertz/electron-log/blob/master/docs/extend.md#transforms">transforms</a> for more information.</li>
<li><code>log.create(logId)</code> is replaced by <code>log.create({ logId })</code></li>
</ul>
<h3>File transport</h3>
<ul>
<li><code>archiveLog</code> options is renamed to <code>archiveLogFn</code></li>
<li><code>resolvePath</code> options is renamed to <code>resolvePathFn</code></li>
<li>All logs are written to main.log file. If you want to write renderer
logs to a separated file, you can do that by overriding <code>resolvePathFn</code></li>
</ul>
<h3>Console transport</h3>
<ul>
<li><code>writeFn</code> callback is added. By default, it just passes <code>message.data</code> to
<code>console.log</code> function</li>
</ul>
<h3>Remote transport</h3>
<ul>
<li><code>onError</code> is renamed to <code>processErrorFn({ error, message, request })</code></li>
<li><code>transformBody</code> is renamed to <code>makeBodyFn({ logger, message, transport })</code></li>
</ul>
<h3>Electron event logger</h3>
<p>To simplify app debugging the</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/megahertz/electron-log/commit/843de37f0451e69b3b99de5296d81b18ed693fd3"><code>843de37</code></a> 5.2.4</li>
<li><a href="https://github.com/megahertz/electron-log/commit/cebb269de2c408ad08dbd0382cd82e0630c567ff"><code>cebb269</code></a> feat: Add buffering feature</li>
<li>See full diff in <a href="https://github.com/megahertz/electron-log/compare/v5.2.3...v5.2.4">compare view</a></li>
</ul>
</details>
<br />

Updates `@playwright/test` from 1.49.0 to 1.49.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/playwright/releases"><code>@​playwright/test</code>'s releases</a>.</em></p>
<blockquote>
<h2>v1.49.1</h2>
<h3>Highlights</h3>
<p><a href="https://redirect.github.com/microsoft/playwright/issues/33802">microsoft/playwright#33802</a> - [Bug]: Codegen's Clear button doesn't work if not recording
<a href="https://redirect.github.com/microsoft/playwright/issues/33806">microsoft/playwright#33806</a> - [Bug]: playwright hangs while waiting for pending navigations
<a href="https://redirect.github.com/microsoft/playwright/issues/33787">microsoft/playwright#33787</a> - [Bug]: VSC extension isn't capturing all entered text
<a href="https://redirect.github.com/microsoft/playwright/issues/33788">microsoft/playwright#33788</a> - [Regression]: Double clicking the steps in trace viewer doesn't filter actions
<a href="https://redirect.github.com/microsoft/playwright/issues/33772">microsoft/playwright#33772</a> - [Bug]: aria_snapshot generates invalid yaml when combined with an aria-label attribut
<a href="https://redirect.github.com/microsoft/playwright/issues/33791">microsoft/playwright#33791</a> - [Bug]: text input with number value raises &quot;container is not iterable&quot; with to_match_aria_snapshot
<a href="https://redirect.github.com/microsoft/playwright/issues/33644">microsoft/playwright#33644</a> - [Bug]: getByRole can't find element with the accessible name from label element when aria-labelledby is not valid
<a href="https://redirect.github.com/microsoft/playwright/issues/33660">microsoft/playwright#33660</a> - [Regression]: Unable to open Playwright UI in Dark Mode</p>
<h2>Browser Versions</h2>
<ul>
<li>Chromium 131.0.6778.33</li>
<li>Mozilla Firefox 132.0</li>
<li>WebKit 18.2</li>
</ul>
<p>This version was also tested against the following stable channels:</p>
<ul>
<li>Google Chrome 130</li>
<li>Microsoft Edge 130</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/microsoft/playwright/commit/88bc8afc78ea6ff13d2bbb312b99eb924962766c"><code>88bc8af</code></a> chore: mark v1.49.1 (<a href="https://redirect.github.com/microsoft/playwright/issues/33921">#33921</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/9e855d5b9a65bcc23713f50dd0f0727ddded45c8"><code>9e855d5</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33821">#33821</a>): fix(recorder): allow clearing when recording is disabled...</li>
<li><a href="https://github.com/microsoft/playwright/commit/9365eb5dacc661f002b567418d216d2172ae3f21"><code>9365eb5</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33834">#33834</a>): fix: do not stall waiting for pending navigations after ...</li>
<li><a href="https://github.com/microsoft/playwright/commit/f92b2339fed395501e499f359ba7a9811f1dd561"><code>f92b233</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33822">#33822</a>): fix(codegen): do not reset current tool upon clearing hi...</li>
<li><a href="https://github.com/microsoft/playwright/commit/008722b2d92f12060ed5bf830c7a06e27f4c69c3"><code>008722b</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33797">#33797</a>): fix(trace): in <code>indexTree</code> check <code>isVisible</code> before addi...</li>
<li><a href="https://github.com/microsoft/playwright/commit/1dc8b3cbdc89c205fcca678e50d23ad5fd6189aa"><code>1dc8b3c</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33746">#33746</a>): chore: pin typescript while vue-tsc is broken</li>
<li><a href="https://github.com/microsoft/playwright/commit/fbc770c804261e271d63b72f311fdd064d1ce3d8"><code>fbc770c</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33793">#33793</a>): fix(aria): escape even more yaml (<a href="https://redirect.github.com/microsoft/playwright/issues/33795">#33795</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/1046fe045555915c7100c55cc73dad0c096624e3"><code>1046fe0</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33753">#33753</a>): docs: update extensions doc for new headless</li>
<li><a href="https://github.com/microsoft/playwright/commit/1781bf35b3867855e8aeb922e8083e85aa0c11f3"><code>1781bf3</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33706">#33706</a>): docs: release notes for languages v1.49</li>
<li><a href="https://github.com/microsoft/playwright/commit/b52a21030f0a020107a1d04404d0ab23051e7699"><code>b52a210</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33712">#33712</a>): docs(python): add LocatorAssertions.NotToMatchAriaSnapshot</li>
<li>Additional commits viewable in <a href="https://github.com/microsoft/playwright/compare/v1.49.0...v1.49.1">compare view</a></li>
</ul>
</details>
<br />

Updates `concurrently` from 9.1.0 to 9.1.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/open-cli-tools/concurrently/releases">concurrently's releases</a>.</em></p>
<blockquote>
<h2>v9.1.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Add ability to have custom logger by <a href="https://github.com/mwood23"><code>@​mwood23</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/522">open-cli-tools/concurrently#522</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mwood23"><code>@​mwood23</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/522">open-cli-tools/concurrently#522</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v9.1.1...v9.1.2">https://github.com/open-cli-tools/concurrently/compare/v9.1.1...v9.1.2</a></p>
<h2>v9.1.1</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: support Deno's JSON with comments configuration by <a href="https://github.com/mahtaran"><code>@​mahtaran</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/523">open-cli-tools/concurrently#523</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v9.1.0...v9.1.1">https://github.com/open-cli-tools/concurrently/compare/v9.1.0...v9.1.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/open-cli-tools/concurrently/commit/7f3efb201bf39d04da81c2ba43144799748342b6"><code>7f3efb2</code></a> 9.1.2</li>
<li><a href="https://github.com/open-cli-tools/concurrently/commit/36eccae46c1ffad8a5739c0c45d7f0199a101c4c"><code>36eccae</code></a> Add ability to have custom logger (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/522">#522</a>)</li>
<li><a href="https://github.com/open-cli-tools/concurrently/commit/6cafc606a3aec81e73e3754b961dafeb49ed6f90"><code>6cafc60</code></a> 9.1.1</li>
<li><a href="https://github.com/open-cli-tools/concurrently/commit/80fceda02e57bc5fc7bb76d51d56c3577c8ea51b"><code>80fceda</code></a> fix: support Deno's JSON with comments (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/523">#523</a>)</li>
<li><a href="https://github.com/open-cli-tools/concurrently/commit/8d3f9761bf6269ae9abdd5dbb661314b9980d62d"><code>8d3f976</code></a> docs: fix inconsistencies in passthrough args page</li>
<li>See full diff in <a href="https://github.com/open-cli-tools/concurrently/compare/v9.1.0...v9.1.2">compare view</a></li>
</ul>
</details>
<br />

Updates `dotenv` from 16.4.5 to 16.4.7
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md">dotenv's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/motdotla/dotenv/compare/v16.4.6...v16.4.7">16.4.7</a> (2024-12-03)</h2>
<h3>Changed</h3>
<ul>
<li>Ignore <code>.tap</code> folder when publishing. (oops, sorry about that everyone. - <a href="https://github.com/motdotla"><code>@​motdotla</code></a>) <a href="https://redirect.github.com/motdotla/dotenv/pull/848">#848</a></li>
</ul>
<h2><a href="https://github.com/motdotla/dotenv/compare/v16.4.5...v16.4.6">16.4.6</a> (2024-12-02)</h2>
<h3>Changed</h3>
<ul>
<li>Clean up stale dev dependencies <a href="https://redirect.github.com/motdotla/dotenv/pull/847">#847</a></li>
<li>Various README updates clarifying usage and alternative solutions using <a href="https://github.com/dotenvx/dotenvx">dotenvx</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/motdotla/dotenv/commit/a338d68264b00fafd1730233ff04127228908e9c"><code>a338d68</code></a> 16.4.7</li>
<li><a href="https://github.com/motdotla/dotenv/commit/daf3e3d5cc3bc220c4dd14a540d4382c5fd5e750"><code>daf3e3d</code></a> changelog 🪵</li>
<li><a href="https://github.com/motdotla/dotenv/commit/fb74f6809fd4f7a5a0e45dac2e6e2d664de3b812"><code>fb74f68</code></a> Merge pull request <a href="https://redirect.github.com/motdotla/dotenv/issues/848">#848</a> from Spice-King/patch-1</li>
<li><a href="https://github.com/motdotla/dotenv/commit/fe87ba23b5098eb6ea86d3fdbdb773e83cf5662f"><code>fe87ba2</code></a> Add .tap to .npmignore</li>
<li><a href="https://github.com/motdotla/dotenv/commit/0c9f764c66f291a418185068eef2b13e2ec840b0"><code>0c9f764</code></a> 16.4.6</li>
<li><a href="https://github.com/motdotla/dotenv/commit/fd5f26b6c726142d7c3365ab3ce628765db74bd6"><code>fd5f26b</code></a> changelog 🪵</li>
<li><a href="https://github.com/motdotla/dotenv/commit/bb19b6bb55abb3dbed3e183557f4198bad3a6a3f"><code>bb19b6b</code></a> Merge pull request <a href="https://redirect.github.com/motdotla/dotenv/issues/847">#847</a> from motdotla/deps-updates</li>
<li><a href="https://github.com/motdotla/dotenv/commit/2f4e36bbe2a0ad42f9b3736bbd19f6cda146b381"><code>2f4e36b</code></a> further dev dependency cleanup</li>
<li><a href="https://github.com/motdotla/dotenv/commit/c2fdd0169d1d833d1d3dba7752f3f0a52b5ec4b0"><code>c2fdd01</code></a> send to codecov</li>
<li><a href="https://github.com/motdotla/dotenv/commit/6707487b9e4070e7769048c75e769ba504bb84e1"><code>6707487</code></a> add test coverage</li>
<li>Additional commits viewable in <a href="https://github.com/motdotla/dotenv/compare/v16.4.5...v16.4.7">compare view</a></li>
</ul>
</details>
<br />

Updates `playwright` from 1.49.0 to 1.49.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/playwright/releases">playwright's releases</a>.</em></p>
<blockquote>
<h2>v1.49.1</h2>
<h3>Highlights</h3>
<p><a href="https://redirect.github.com/microsoft/playwright/issues/33802">microsoft/playwright#33802</a> - [Bug]: Codegen's Clear button doesn't work if not recording
<a href="https://redirect.github.com/microsoft/playwright/issues/33806">microsoft/playwright#33806</a> - [Bug]: playwright hangs while waiting for pending navigations
<a href="https://redirect.github.com/microsoft/playwright/issues/33787">microsoft/playwright#33787</a> - [Bug]: VSC extension isn't capturing all entered text
<a href="https://redirect.github.com/microsoft/playwright/issues/33788">microsoft/playwright#33788</a> - [Regression]: Double clicking the steps in trace viewer doesn't filter actions
<a href="https://redirect.github.com/microsoft/playwright/issues/33772">microsoft/playwright#33772</a> - [Bug]: aria_snapshot generates invalid yaml when combined with an aria-label attribut
<a href="https://redirect.github.com/microsoft/playwright/issues/33791">microsoft/playwright#33791</a> - [Bug]: text input with number value raises &quot;container is not iterable&quot; with to_match_aria_snapshot
<a href="https://redirect.github.com/microsoft/playwright/issues/33644">microsoft/playwright#33644</a> - [Bug]: getByRole can't find element with the accessible name from label element when aria-labelledby is not valid
<a href="https://redirect.github.com/microsoft/playwright/issues/33660">microsoft/playwright#33660</a> - [Regression]: Unable to open Playwright UI in Dark Mode</p>
<h2>Browser Versions</h2>
<ul>
<li>Chromium 131.0.6778.33</li>
<li>Mozilla Firefox 132.0</li>
<li>WebKit 18.2</li>
</ul>
<p>This version was also tested against the following stable channels:</p>
<ul>
<li>Google Chrome 130</li>
<li>Microsoft Edge 130</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/microsoft/playwright/commit/88bc8afc78ea6ff13d2bbb312b99eb924962766c"><code>88bc8af</code></a> chore: mark v1.49.1 (<a href="https://redirect.github.com/microsoft/playwright/issues/33921">#33921</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/9e855d5b9a65bcc23713f50dd0f0727ddded45c8"><code>9e855d5</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33821">#33821</a>): fix(recorder): allow clearing when recording is disabled...</li>
<li><a href="https://github.com/microsoft/playwright/commit/9365eb5dacc661f002b567418d216d2172ae3f21"><code>9365eb5</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33834">#33834</a>): fix: do not stall waiting for pending navigations after ...</li>
<li><a href="https://github.com/microsoft/playwright/commit/f92b2339fed395501e499f359ba7a9811f1dd561"><code>f92b233</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33822">#33822</a>): fix(codegen): do not reset current tool upon clearing hi...</li>
<li><a href="https://github.com/microsoft/playwright/commit/008722b2d92f12060ed5bf830c7a06e27f4c69c3"><code>008722b</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33797">#33797</a>): fix(trace): in <code>indexTree</code> check <code>isVisible</code> before addi...</li>
<li><a href="https://github.com/microsoft/playwright/commit/1dc8b3cbdc89c205fcca678e50d23ad5fd6189aa"><code>1dc8b3c</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33746">#33746</a>): chore: pin typescript while vue-tsc is broken</li>
<li><a href="https://github.com/microsoft/playwright/commit/fbc770c804261e271d63b72f311fdd064d1ce3d8"><code>fbc770c</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33793">#33793</a>): fix(aria): escape even more yaml (<a href="https://redirect.github.com/microsoft/playwright/issues/33795">#33795</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/1046fe045555915c7100c55cc73dad0c096624e3"><code>1046fe0</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33753">#33753</a>): docs: update extensions doc for new headless</li>
<li><a href="https://github.com/microsoft/playwright/commit/1781bf35b3867855e8aeb922e8083e85aa0c11f3"><code>1781bf3</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33706">#33706</a>): docs: release notes for languages v1.49</li>
<li><a href="https://github.com/microsoft/playwright/commit/b52a21030f0a020107a1d04404d0ab23051e7699"><code>b52a210</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33712">#33712</a>): docs(python): add LocatorAssertions.NotToMatchAriaSnapshot</li>
<li>Additional commits viewable in <a href="https://github.com/microsoft/playwright/compare/v1.49.0...v1.49.1">compare view</a></li>
</ul>
</details>
<br />

Updates `playwright-core` from 1.49.0 to 1.49.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/microsoft/playwright/releases">playwright-core's releases</a>.</em></p>
<blockquote>
<h2>v1.49.1</h2>
<h3>Highlights</h3>
<p><a href="https://redirect.github.com/microsoft/playwright/issues/33802">microsoft/playwright#33802</a> - [Bug]: Codegen's Clear button doesn't work if not recording
<a href="https://redirect.github.com/microsoft/playwright/issues/33806">microsoft/playwright#33806</a> - [Bug]: playwright hangs while waiting for pending navigations
<a href="https://redirect.github.com/microsoft/playwright/issues/33787">microsoft/playwright#33787</a> - [Bug]: VSC extension isn't capturing all entered text
<a href="https://redirect.github.com/microsoft/playwright/issues/33788">microsoft/playwright#33788</a> - [Regression]: Double clicking the steps in trace viewer doesn't filter actions
<a href="https://redirect.github.com/microsoft/playwright/issues/33772">microsoft/playwright#33772</a> - [Bug]: aria_snapshot generates invalid yaml when combined with an aria-label attribut
<a href="https://redirect.github.com/microsoft/playwright/issues/33791">microsoft/playwright#33791</a> - [Bug]: text input with number value raises &quot;container is not iterable&quot; with to_match_aria_snapshot
<a href="https://redirect.github.com/microsoft/playwright/issues/33644">microsoft/playwright#33644</a> - [Bug]: getByRole can't find element with the accessible name from label element when aria-labelledby is not valid
<a href="https://redirect.github.com/microsoft/playwright/issues/33660">microsoft/playwright#33660</a> - [Regression]: Unable to open Playwright UI in Dark Mode</p>
<h2>Browser Versions</h2>
<ul>
<li>Chromium 131.0.6778.33</li>
<li>Mozilla Firefox 132.0</li>
<li>WebKit 18.2</li>
</ul>
<p>This version was also tested against the following stable channels:</p>
<ul>
<li>Google Chrome 130</li>
<li>Microsoft Edge 130</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/microsoft/playwright/commit/88bc8afc78ea6ff13d2bbb312b99eb924962766c"><code>88bc8af</code></a> chore: mark v1.49.1 (<a href="https://redirect.github.com/microsoft/playwright/issues/33921">#33921</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/9e855d5b9a65bcc23713f50dd0f0727ddded45c8"><code>9e855d5</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33821">#33821</a>): fix(recorder): allow clearing when recording is disabled...</li>
<li><a href="https://github.com/microsoft/playwright/commit/9365eb5dacc661f002b567418d216d2172ae3f21"><code>9365eb5</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33834">#33834</a>): fix: do not stall waiting for pending navigations after ...</li>
<li><a href="https://github.com/microsoft/playwright/commit/f92b2339fed395501e499f359ba7a9811f1dd561"><code>f92b233</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33822">#33822</a>): fix(codegen): do not reset current tool upon clearing hi...</li>
<li><a href="https://github.com/microsoft/playwright/commit/008722b2d92f12060ed5bf830c7a06e27f4c69c3"><code>008722b</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33797">#33797</a>): fix(trace): in <code>indexTree</code> check <code>isVisible</code> before addi...</li>
<li><a href="https://github.com/microsoft/playwright/commit/1dc8b3cbdc89c205fcca678e50d23ad5fd6189aa"><code>1dc8b3c</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33746">#33746</a>): chore: pin typescript while vue-tsc is broken</li>
<li><a href="https://github.com/microsoft/playwright/commit/fbc770c804261e271d63b72f311fdd064d1ce3d8"><code>fbc770c</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33793">#33793</a>): fix(aria): escape even more yaml (<a href="https://redirect.github.com/microsoft/playwright/issues/33795">#33795</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/1046fe045555915c7100c55cc73dad0c096624e3"><code>1046fe0</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33753">#33753</a>): docs: update extensions doc for new headless</li>
<li><a href="https://github.com/microsoft/playwright/commit/1781bf35b3867855e8aeb922e8083e85aa0c11f3"><code>1781bf3</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33706">#33706</a>): docs: release notes for languages v1.49</li>
<li><a href="https://github.com/microsoft/playwright/commit/b52a21030f0a020107a1d04404d0ab23051e7699"><code>b52a210</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/33712">#33712</a>): docs(python): add LocatorAssertions.NotToMatchAriaSnapshot</li>
<li>Additional commits viewable in <a href="https://github.com/microsoft/playwright/compare/v1.49.0...v1.49.1">compare view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions


</details>


Patch:
diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml
index f42f4749..c88cbd4c 100644
--- a/.github/workflows/code-coverage.yml
+++ b/.github/workflows/code-coverage.yml
@@ -16,7 +16,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
@@ -24,11 +24,11 @@ jobs:
     - name: Run Tests
       run: make test-with-coverage
     - name: Upload Coverage
-      uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v5.0.7
+      uses: codecov/codecov-action@1e68e06f1dbfde0e4cefc87efeba9e4643565303 # v5.1.2
       with:
         files: coverage.txt
     - name: Upload Logs
-      uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+      uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
       with:
         name: logs
         path: .logs/**/*.log
diff --git a/.github/workflows/license-check.yml b/.github/workflows/license-check.yml
index 6f857411..bef3cafd 100644
--- a/.github/workflows/license-check.yml
+++ b/.github/workflows/license-check.yml
@@ -16,7 +16,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 9f9bf0f7..d13b6a1e 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -30,7 +30,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml
index 12c525db..cef35301 100644
--- a/.github/workflows/make.yml
+++ b/.github/workflows/make.yml
@@ -44,7 +44,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
@@ -101,7 +101,7 @@ jobs:
         # macOS signing certificate (base64-encoded), used by Electron Builder
         MACOS_SIGNING_IDENTITY: ${{ secrets.MACOS_SIGNING_IDENTITY }}
     - name: Upload Kopia Artifacts
-      uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+      uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
       with:
         name: kopia-${{ matrix.os }}
         path: |
@@ -123,7 +123,7 @@ jobs:
         if-no-files-found: ignore
       if: ${{ !contains(matrix.os, 'self-hosted') }}
     - name: Upload Kopia Binary
-      uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+      uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
       with:
         name: kopia_binaries-${{ matrix.os }}
         path: |
@@ -143,7 +143,7 @@ jobs:
     - name: Set up QEMU
       uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
     - name: Set up Docker Buildx
-      uses: docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349 # v3.7.1
+      uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0
     - name: Install Linux-specific packages
       run: "sudo apt-get install -y createrepo-c"
     - name: Download Artifacts
diff --git a/.github/workflows/ossf-scorecard.yml b/.github/workflows/ossf-scorecard.yml
index d801a02d..dafb545b 100644
--- a/.github/workflows/ossf-scorecard.yml
+++ b/.github/workflows/ossf-scorecard.yml
@@ -39,12 +39,12 @@ jobs:
       -
         # Upload the results to GitHub's code scanning dashboard.
         name: "Upload to results to dashboard"
-        uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5
+        uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
         with:
           sarif_file: results.sarif
       -
         name: "Upload analysis results as 'Job Artifact'"
-        uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+        uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
         with:
           name: SARIF file
           path: results.sarif
diff --git a/.github/workflows/providers-core.yml b/.github/workflows/providers-core.yml
index a96299ee..e81e3140 100644
--- a/.github/workflows/providers-core.yml
+++ b/.github/workflows/providers-core.yml
@@ -29,7 +29,7 @@ jobs:
         fetch-depth: 0
         ref: ${{ github.event.inputs.ref_name || github.ref }}
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
diff --git a/.github/workflows/providers-extra.yml b/.github/workflows/providers-extra.yml
index 79d09917..5f3890d0 100644
--- a/.github/workflows/providers-extra.yml
+++ b/.github/workflows/providers-extra.yml
@@ -29,7 +29,7 @@ jobs:
         fetch-depth: 0
         ref: ${{ github.event.inputs.ref_name || github.ref }}
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
diff --git a/.github/workflows/race-detector.yml b/.github/workflows/race-detector.yml
index 658c4ee1..15abc258 100644
--- a/.github/workflows/race-detector.yml
+++ b/.github/workflows/race-detector.yml
@@ -16,7 +16,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
diff --git a/app/package-lock.json b/app/package-lock.json
index ac65fa77..42290098 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -10,7 +10,7 @@
       "license": "Apache-2.0",
       "dependencies": {
         "auto-launch": "^5.0.6",
-        "electron-log": "^5.2.3",
+        "electron-log": "^5.2.4",
         "electron-store": "^10.0.0",
         "electron-updater": "^6.3.9",
         "minimist": "^1.2.8",
@@ -19,10 +19,10 @@
       },
       "devDependencies": {
         "@electron/notarize": "^2.5.0",
-        "@playwright/test": "^1.49.0",
+        "@playwright/test": "^1.49.1",
         "asar": "^3.2.0",
-        "concurrently": "^9.1.0",
-        "dotenv": "^16.4.5",
+        "concurrently": "^9.1.2",
+        "dotenv": "^16.4.7",
         "electron": "^33.2.1",
         "electron-builder": "^v26.0.0-alpha.8",
         "electron-store": "^10.0.0",
@@ -692,12 +692,12 @@
       }
     },
     "node_modules/@playwright/test": {
-      "version": "1.49.0",
-      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.0.tgz",
-      "integrity": "sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw==",
+      "version": "1.49.1",
+      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.1.tgz",
+      "integrity": "sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==",
       "dev": true,
       "dependencies": {
-        "playwright": "1.49.0"
+        "playwright": "1.49.1"
       },
       "bin": {
         "playwright": "cli.js"
@@ -1823,9 +1823,9 @@
       "dev": true
     },
     "node_modules/concurrently": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.1.0.tgz",
-      "integrity": "sha512-VxkzwMAn4LP7WyMnJNbHN5mKV9L2IbyDjpzemKr99sXNR3GqRNMMHdm7prV1ws9wg7ETj6WUkNOigZVsptwbgg==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.1.2.tgz",
+      "integrity": "sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==",
       "dev": true,
       "dependencies": {
         "chalk": "^4.1.2",
@@ -2298,9 +2298,9 @@
       }
     },
     "node_modules/dotenv": {
-      "version": "16.4.5",
-      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
-      "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
+      "version": "16.4.7",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
+      "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
       "dev": true,
       "engines": {
         "node": ">=12"
@@ -2488,9 +2488,9 @@
       }
     },
     "node_modules/electron-log": {
-      "version": "5.2.3",
-      "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-5.2.3.tgz",
-      "integrity": "sha512-BabCiEV+p362LzY0EFE8hyzeGknzKDWSbhS0VFfRYQGA4FHWXWSfaKJlvTR9LFepNoORXxc/BWvqBXIPgsVFgA==",
+      "version": "5.2.4",
+      "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-5.2.4.tgz",
+      "integrity": "sha512-iX12WXc5XAaKeHg2QpiFjVwL+S1NVHPFd3V5RXtCmKhpAzXsVQnR3UEc0LovM6p6NkUQxDWnkdkaam9FNUVmCA==",
       "engines": {
         "node": ">= 14"
       }
@@ -4061,12 +4061,12 @@
       "dev": true
     },
     "node_modules/playwright": {
-      "version": "1.49.0",
-      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.0.tgz",
-      "integrity": "sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==",
+      "version": "1.49.1",
+      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.1.tgz",
+      "integrity": "sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==",
       "dev": true,
       "dependencies": {
-        "playwright-core": "1.49.0"
+        "playwright-core": "1.49.1"
       },
       "bin": {
         "playwright": "cli.js"
@@ -4079,9 +4079,9 @@
       }
     },
     "node_modules/playwright-core": {
-      "version": "1.49.0",
-      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.0.tgz",
-      "integrity": "sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==",
+      "version": "1.49.1",
+      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.1.tgz",
+      "integrity": "sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==",
       "dev": true,
       "bin": {
         "playwright-core": "cli.js"
@@ -5657,12 +5657,12 @@
       "optional": true
     },
     "@playwright/test": {
-      "version": "1.49.0",
-      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.0.tgz",
-      "integrity": "sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw==",
+      "version": "1.49.1",
+      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.1.tgz",
+      "integrity": "sha512-Ky+BVzPz8pL6PQxHqNRW1k3mIyv933LML7HktS8uik0bUXNCdPhoS/kLihiO1tMf/egaJb4IutXd7UywvXEW+g==",
       "dev": true,
       "requires": {
-        "playwright": "1.49.0"
+        "playwright": "1.49.1"
       }
     },
     "@sindresorhus/is": {
@@ -6555,9 +6555,9 @@
       "dev": true
     },
     "concurrently": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.1.0.tgz",
-      "integrity": "sha512-VxkzwMAn4LP7WyMnJNbHN5mKV9L2IbyDjpzemKr99sXNR3GqRNMMHdm7prV1ws9wg7ETj6WUkNOigZVsptwbgg==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.1.2.tgz",
+      "integrity": "sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==",
       "dev": true,
       "requires": {
         "chalk": "^4.1.2",
@@ -6902,9 +6902,9 @@
       }
     },
     "dotenv": {
-      "version": "16.4.5",
-      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
-      "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
+      "version": "16.4.7",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
+      "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
       "dev": true
     },
     "dotenv-expand": {
@@ -7045,9 +7045,9 @@
       }
     },
     "electron-log": {
-      "version": "5.2.3",
-      "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-5.2.3.tgz",
-      "integrity": "sha512-BabCiEV+p362LzY0EFE8hyzeGknzKDWSbhS0VFfRYQGA4FHWXWSfaKJlvTR9LFepNoORXxc/BWvqBXIPgsVFgA=="
+      "version": "5.2.4",
+      "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-5.2.4.tgz",
+      "integrity": "sha512-iX12WXc5XAaKeHg2QpiFjVwL+S1NVHPFd3V5RXtCmKhpAzXsVQnR3UEc0LovM6p6NkUQxDWnkdkaam9FNUVmCA=="
     },
     "electron-publish": {
       "version": "26.0.0-alpha.8",
@@ -8253,19 +8253,19 @@
       "dev": true
     },
     "playwright": {
-      "version": "1.49.0",
-      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.0.tgz",
-      "integrity": "sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==",
+      "version": "1.49.1",
+      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.1.tgz",
+      "integrity": "sha512-VYL8zLoNTBxVOrJBbDuRgDWa3i+mfQgDTrL8Ah9QXZ7ax4Dsj0MSq5bYgytRnDVVe+njoKnfsYkH3HzqVj5UZA==",
       "dev": true,
       "requires": {
         "fsevents": "2.3.2",
-        "playwright-core": "1.49.0"
+        "playwright-core": "1.49.1"
       }
     },
     "playwright-core": {
-      "version": "1.49.0",
-      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.0.tgz",
-      "integrity": "sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==",
+      "version": "1.49.1",
+      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.1.tgz",
+      "integrity": "sha512-BzmpVcs4kE2CH15rWfzpjzVGhWERJfmnXmniSyKeRZUs9Ws65m+RGIi7mjJK/euCegfn3i7jvqWeWyHe9y3Vgg==",
       "dev": true
     },
     "plist": {
diff --git a/app/package.json b/app/package.json
index 2b47824e..a057d5b6 100644
--- a/app/package.json
+++ b/app/package.json
@@ -4,7 +4,7 @@
   "repository": "github:kopia/kopia",
   "dependencies": {
     "auto-launch": "^5.0.6",
-    "electron-log": "^5.2.3",
+    "electron-log": "^5.2.4",
     "electron-store": "^10.0.0",
     "electron-updater": "^6.3.9",
     "minimist": "^1.2.8",
@@ -121,10 +121,10 @@
   },
   "devDependencies": {
     "@electron/notarize": "^2.5.0",
-    "@playwright/test": "^1.49.0",
+    "@playwright/test": "^1.49.1",
     "asar": "^3.2.0",
-    "concurrently": "^9.1.0",
-    "dotenv": "^16.4.5",
+    "concurrently": "^9.1.2",
+    "dotenv": "^16.4.7",
     "electron": "^33.2.1",
     "electron-builder": "^v26.0.0-alpha.8",
     "electron-store": "^10.0.0",
diff --git a/go.mod b/go.mod
index d300f40a..60a07172 100644
--- a/go.mod
+++ b/go.mod
@@ -4,7 +4,7 @@ go 1.22.7
 
 require (
 	cloud.google.com/go/storage v1.49.0
-	github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0
+	github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0
 	github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0
 	github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.5.0
 	github.com/alecthomas/kingpin/v2 v2.4.0
@@ -47,7 +47,7 @@ require (
 	github.com/sanity-io/litter v1.5.5
 	github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
 	github.com/stretchr/testify v1.10.0
-	github.com/studio-b12/gowebdav v0.9.0
+	github.com/studio-b12/gowebdav v0.10.0
 	github.com/tg123/go-htpasswd v1.2.3
 	github.com/zalando/go-keyring v0.2.6
 	github.com/zeebo/blake3 v0.2.4
@@ -57,18 +57,18 @@ require (
 	go.opentelemetry.io/otel/trace v1.33.0
 	go.uber.org/multierr v1.11.0
 	go.uber.org/zap v1.27.0
-	golang.org/x/crypto v0.31.0
+	golang.org/x/crypto v0.32.0
 	golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1
 	golang.org/x/mod v0.22.0
-	golang.org/x/net v0.33.0
-	golang.org/x/oauth2 v0.24.0
+	golang.org/x/net v0.34.0
+	golang.org/x/oauth2 v0.25.0
 	golang.org/x/sync v0.10.0
-	golang.org/x/sys v0.28.0
-	golang.org/x/term v0.27.0
+	golang.org/x/sys v0.29.0
+	golang.org/x/term v0.28.0
 	golang.org/x/text v0.21.0
-	google.golang.org/api v0.214.0
+	google.golang.org/api v0.215.0
 	google.golang.org/grpc v1.68.1
-	google.golang.org/protobuf v1.36.1
+	google.golang.org/protobuf v1.36.2
 	gopkg.in/kothar/go-backblaze.v0 v0.0.0-20210124194846-35409b867216
 )
 
@@ -117,7 +117,7 @@ require (
 	github.com/google/readahead v0.0.0-20161222183148-eaceba169032 // indirect
 	github.com/google/s2a-go v0.1.8 // indirect
 	github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
-	github.com/googleapis/gax-go/v2 v2.14.0 // indirect
+	github.com/googleapis/gax-go/v2 v2.14.1 // indirect
 	github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect
 	github.com/josharian/intern v1.0.0 // indirect
 	github.com/klauspost/cpuid/v2 v2.2.8 // indirect
@@ -144,7 +144,7 @@ require (
 	golang.org/x/time v0.8.0 // indirect
 	google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 // indirect
 	google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect
-	google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8 // indirect
 	google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff --git a/go.sum b/go.sum
index f0fe8359..67a2acdf 100644
--- a/go.sum
+++ b/go.sum
@@ -23,8 +23,8 @@ cloud.google.com/go/storage v1.49.0 h1:zenOPBOWHCnojRd9aJZAyQXBYqkJkdQS42dxL55CI
 cloud.google.com/go/storage v1.49.0/go.mod h1:k1eHhhpLvrPjVGfo0mOUPEJ4Y2+a/Hv5PiwehZI9qGU=
 cloud.google.com/go/trace v1.11.2 h1:4ZmaBdL8Ng/ajrgKqY5jfvzqMXbrDcBsUGXOT9aqTtI=
 cloud.google.com/go/trace v1.11.2/go.mod h1:bn7OwXd4pd5rFuAnTrzBuoZ4ax2XQeG3qNgYmfCy0Io=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0 h1:JZg6HRh6W6U4OLl6lk7BZ7BLisIzM9dG1R50zUk9C/M=
-github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0/go.mod h1:YL1xnZ6QejvQHWJrX/AvhFl4WW4rqHVoKspWNVwFk0M=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0 h1:g0EZJwz7xkXQiZAI5xi9f3WWFYBlX1CPTrR+NDToRkQ=
+github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0/go.mod h1:XCW7KnZet0Opnr7HccfUw1PLc4CjHqpcaxW8DHklNkQ=
 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0 h1:B/dfvscEQtew9dVuoxqxrUKKv8Ih2f55PydknDamU+g=
 github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0/go.mod h1:fiPSssYvltE08HJchL04dOy+RD4hgrjph0cwGGMntdI=
 github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.0 h1:+m0M/LFxN43KvULkDNfdXOgrjtg6UYJPFBJyuEcRCAw=
@@ -185,8 +185,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
 github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw=
 github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA=
-github.com/googleapis/gax-go/v2 v2.14.0 h1:f+jMrjBPl+DL9nI4IQzLUxMq7XrAqFYB7hBPqMNIe8o=
-github.com/googleapis/gax-go/v2 v2.14.0/go.mod h1:lhBCnjdLrWRaPvLWhmc8IS24m9mr07qSYnHncrgo+zk=
+github.com/googleapis/gax-go/v2 v2.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q=
+github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA=
 github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
 github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 h1:TmHmbvxPmaegwhDubVz0lICL0J5Ka2vwTzhoePEXsGE=
@@ -301,8 +301,8 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl
 github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
 github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
-github.com/studio-b12/gowebdav v0.9.0 h1:1j1sc9gQnNxbXXM4M/CebPOX4aXYtr7MojAVcN4dHjU=
-github.com/studio-b12/gowebdav v0.9.0/go.mod h1:bHA7t77X/QFExdeAnDzK6vKM34kEZAcE1OX4MfiwjkE=
+github.com/studio-b12/gowebdav v0.10.0 h1:Yewz8FFiadcGEu4hxS/AAJQlHelndqln1bns3hcJIYc=
+github.com/studio-b12/gowebdav v0.10.0/go.mod h1:bHA7t77X/QFExdeAnDzK6vKM34kEZAcE1OX4MfiwjkE=
 github.com/tg123/go-htpasswd v1.2.3 h1:ALR6ZBIc2m9u70m+eAWUFt5p43ISbIvAvRFYzZPTOY8=
 github.com/tg123/go-htpasswd v1.2.3/go.mod h1:FcIrK0J+6zptgVwK1JDlqyajW/1B4PtuJ/FLWl7nx8A=
 github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc=
@@ -355,8 +355,8 @@ golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPh
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
-golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
-golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
+golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
+golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc=
 golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w=
@@ -378,11 +378,11 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
 golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
-golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
-golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
+golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
+golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
-golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
+golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
+golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -406,15 +406,15 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
-golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
+golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
 golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
 golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
-golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q=
-golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
+golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
+golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
@@ -435,8 +435,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
 golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/api v0.214.0 h1:h2Gkq07OYi6kusGOaT/9rnNljuXmqPnaig7WGPmKbwA=
-google.golang.org/api v0.214.0/go.mod h1:bYPpLG8AyeMWwDU6NXoB00xC0DFkikVvd5MfwoxjLqE=
+google.golang.org/api v0.215.0 h1:jdYF4qnyczlEz2ReWIsosNLDuzXyvFHJtI5gcr0J7t0=
+google.golang.org/api v0.215.0/go.mod h1:fta3CVtuJYOEdugLNWm6WodzOS8KdFckABwN4I40hzY=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
@@ -446,8 +446,8 @@ google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD
 google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc=
 google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 h1:CkkIfIt50+lT6NHAVoRYEyAvQGFM7xEwXUUywFvEb3Q=
 google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576/go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 h1:8ZmaLZE4XWrtU3MyClkYqqtl6Oegr3235h7jxsDyqCY=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8 h1:TqExAhdPaB60Ux47Cn0oLV07rGnxZzIsaRhQaqS666A=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8/go.mod h1:lcTa1sDdWEIHMWlITnIczmw5w60CF9ffkb8Z+DVmmjA=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
@@ -466,8 +466,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
 google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
 google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
-google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
-google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU=
+google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=


Test patch:
diff --git a/.github/workflows/compat-test.yml b/.github/workflows/compat-test.yml
index cf77d52b..ae7f13a5 100644
--- a/.github/workflows/compat-test.yml
+++ b/.github/workflows/compat-test.yml
@@ -18,7 +18,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
@@ -26,7 +26,7 @@ jobs:
     - name: Compat Test
       run: make compat-tests
     - name: Upload Logs
-      uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+      uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
       with:
         name: logs
         path: .logs/**/*.log
diff --git a/.github/workflows/endurance-test.yml b/.github/workflows/endurance-test.yml
index ad22bf22..6280079f 100644
--- a/.github/workflows/endurance-test.yml
+++ b/.github/workflows/endurance-test.yml
@@ -23,7 +23,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
@@ -31,7 +31,7 @@ jobs:
     - name: Endurance Tests
       run: make endurance-tests
     - name: Upload Logs
-      uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+      uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
       with:
         name: logs
         path: .logs/**/*.log
diff --git a/.github/workflows/htmlui-tests.yml b/.github/workflows/htmlui-tests.yml
index 37f5fdb5..8e46bc91 100644
--- a/.github/workflows/htmlui-tests.yml
+++ b/.github/workflows/htmlui-tests.yml
@@ -31,7 +31,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
@@ -39,7 +39,7 @@ jobs:
     - name: Run Tests
       run: make htmlui-e2e-test
     - name: Upload Screenshots
-      uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+      uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
       with:
         path: .screenshots/**/*.png
         if-no-files-found: ignore
diff --git a/.github/workflows/stress-test.yml b/.github/workflows/stress-test.yml
index ec710e5a..100d190e 100644
--- a/.github/workflows/stress-test.yml
+++ b/.github/workflows/stress-test.yml
@@ -22,7 +22,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
@@ -30,7 +30,7 @@ jobs:
     - name: Stress Test
       run: make stress-test
     - name: Upload Logs
-      uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+      uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
       with:
         name: logs
         path: .logs/**/*.log
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index d4fffae2..d80b4d52 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -42,7 +42,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
@@ -66,7 +66,7 @@ jobs:
     - name: Integration Tests
       run: make -j2 ci-integration-tests
     - name: Upload Logs
-      uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+      uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
       with:
         name: logs-${{ matrix.os }}
         path: .logs/**/*.log
diff --git a/.github/workflows/volume-shadow-copy-test.yml b/.github/workflows/volume-shadow-copy-test.yml
index ddbafc71..eaea4db5 100644
--- a/.github/workflows/volume-shadow-copy-test.yml
+++ b/.github/workflows/volume-shadow-copy-test.yml
@@ -19,7 +19,7 @@ jobs:
       with:
         fetch-depth: 0
     - name: Set up Go
-      uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
+      uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
       with:
         go-version-file: 'go.mod'
         check-latest: true
@@ -34,7 +34,7 @@ jobs:
     - name: Non-Admin Test
       run: gsudo -i Medium make os-snapshot-tests
     - name: Upload Logs
-      uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
+      uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
       with:
         name: logs
         path: .logs/**/*.log