Repository: kopia/kopia
Pull request #4087 (2024-09-01 23:25:29)

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-updater](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater) | `6.3.2` | `6.3.4` |
| [@electron/notarize](https://github.com/electron/notarize) | `2.3.2` | `2.4.0` |
| [@playwright/test](https://github.com/microsoft/playwright) | `1.45.3` | `1.46.1` |
| [electron](https://github.com/electron/electron) | `31.3.1` | `32.0.1` |
| [playwright](https://github.com/microsoft/playwright) | `1.45.3` | `1.46.1` |
| [playwright-core](https://github.com/microsoft/playwright) | `1.45.3` | `1.46.1` |

Updates `electron-updater` from 6.3.2 to 6.3.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/electron-userland/electron-builder/releases">electron-updater's releases</a>.</em></p>
<blockquote>
<h2>electron-updater@6.3.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8417">#8417</a> <a href="https://github.com/electron-userland/electron-builder/commit/e77de9f66184b0cfdab6f1aa9a9c95b041d99c84"><code>e77de9f6</code></a> Thanks <a href="https://github.com/beyondkmp"><code>@​beyondkmp</code></a>! - update semver to latest</p>
</li>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8409">#8409</a> <a href="https://github.com/electron-userland/electron-builder/commit/5fae1cf3be0388c2bd95a341a0340faa839d2aa7"><code>5fae1cf3</code></a> Thanks <a href="https://github.com/ckarich"><code>@​ckarich</code></a>! - fix: windows signature verification special chars</p>
</li>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8282">#8282</a> <a href="https://github.com/electron-userland/electron-builder/commit/15ce5b4164378f7398ff84cabe8ee97eef5cfd1b"><code>15ce5b41</code></a> Thanks <a href="https://github.com/beyondkmp"><code>@​beyondkmp</code></a>! - fix aborted event</p>
</li>
</ul>
<h2>electron-updater@6.3.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8400">#8400</a> <a href="https://github.com/electron-userland/electron-builder/commit/9dc0b49aea1d3bb56b42c3b1bdb6001708a34439"><code>9dc0b49a</code></a> Thanks <a href="https://github.com/Ryan432"><code>@​Ryan432</code></a>! - fix: Handle Linux deb auto update installation on applications having spaces in <code>artifactName</code>.</p>
</li>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8393">#8393</a> <a href="https://github.com/electron-userland/electron-builder/commit/8dabf64b8f84975cf4eb016dcd23411ab0d4bf64"><code>8dabf64b</code></a> Thanks <a href="https://github.com/beyondkmp"><code>@​beyondkmp</code></a>! - fix: allow custom channel in github provider</p>
</li>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8403">#8403</a> <a href="https://github.com/electron-userland/electron-builder/commit/1c14820b97fad802b300dd93ccd4d6a10a72360f"><code>1c14820b</code></a> Thanks <a href="https://github.com/xyloflake"><code>@​xyloflake</code></a>! - fix: handle spaces for all linux package managers</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/electron-userland/electron-builder/blob/master/packages/electron-updater/CHANGELOG.md">electron-updater's changelog</a>.</em></p>
<blockquote>
<h2>6.3.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8417">#8417</a> <a href="https://github.com/electron-userland/electron-builder/commit/e77de9f66184b0cfdab6f1aa9a9c95b041d99c84"><code>e77de9f6</code></a> Thanks <a href="https://github.com/beyondkmp"><code>@​beyondkmp</code></a>! - update semver to latest</p>
</li>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8409">#8409</a> <a href="https://github.com/electron-userland/electron-builder/commit/5fae1cf3be0388c2bd95a341a0340faa839d2aa7"><code>5fae1cf3</code></a> Thanks <a href="https://github.com/ckarich"><code>@​ckarich</code></a>! - fix: windows signature verification special chars</p>
</li>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8282">#8282</a> <a href="https://github.com/electron-userland/electron-builder/commit/15ce5b4164378f7398ff84cabe8ee97eef5cfd1b"><code>15ce5b41</code></a> Thanks <a href="https://github.com/beyondkmp"><code>@​beyondkmp</code></a>! - fix aborted event</p>
</li>
</ul>
<h2>6.3.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8400">#8400</a> <a href="https://github.com/electron-userland/electron-builder/commit/9dc0b49aea1d3bb56b42c3b1bdb6001708a34439"><code>9dc0b49a</code></a> Thanks <a href="https://github.com/Ryan432"><code>@​Ryan432</code></a>! - fix: Handle Linux deb auto update installation on applications having spaces in <code>artifactName</code>.</p>
</li>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8393">#8393</a> <a href="https://github.com/electron-userland/electron-builder/commit/8dabf64b8f84975cf4eb016dcd23411ab0d4bf64"><code>8dabf64b</code></a> Thanks <a href="https://github.com/beyondkmp"><code>@​beyondkmp</code></a>! - fix: allow custom channel in github provider</p>
</li>
<li>
<p><a href="https://redirect.github.com/electron-userland/electron-builder/pull/8403">#8403</a> <a href="https://github.com/electron-userland/electron-builder/commit/1c14820b97fad802b300dd93ccd4d6a10a72360f"><code>1c14820b</code></a> Thanks <a href="https://github.com/xyloflake"><code>@​xyloflake</code></a>! - fix: handle spaces for all linux package managers</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/electron-userland/electron-builder/commit/d5d9f3f9aaac0385cc943e30a0841669133afde8"><code>d5d9f3f</code></a> chore(deploy): Release v25.0.5 (electron-updater@6.3.4) (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater/issues/8411">#8411</a>)</li>
<li><a href="https://github.com/electron-userland/electron-builder/commit/e77de9f66184b0cfdab6f1aa9a9c95b041d99c84"><code>e77de9f</code></a> chore(deps): upgrade semver to latest to resolve CVE (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater/issues/8417">#8417</a>)</li>
<li><a href="https://github.com/electron-userland/electron-builder/commit/15ce5b4164378f7398ff84cabe8ee97eef5cfd1b"><code>15ce5b4</code></a> fix: change <code>abort</code> listener to <code>aborted</code> event (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater/issues/8282">#8282</a>)</li>
<li><a href="https://github.com/electron-userland/electron-builder/commit/5fae1cf3be0388c2bd95a341a0340faa839d2aa7"><code>5fae1cf</code></a> fix: windows signature verification special chars (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater/issues/8409">#8409</a>)</li>
<li><a href="https://github.com/electron-userland/electron-builder/commit/1dcf6bced4ea59a0df8f92e6219618fa7a39c768"><code>1dcf6bc</code></a> chore(deploy): Release v25.0.4 (electron-updater@6.3.3) (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater/issues/8402">#8402</a>)</li>
<li><a href="https://github.com/electron-userland/electron-builder/commit/1c14820b97fad802b300dd93ccd4d6a10a72360f"><code>1c14820</code></a> fix: handle spaces in artifact name for all linux platforms instead of only ....</li>
<li><a href="https://github.com/electron-userland/electron-builder/commit/8dabf64b8f84975cf4eb016dcd23411ab0d4bf64"><code>8dabf64</code></a> fix: add custom <code>channel</code> in github provider (<a href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-updater/issues/8393">#8393</a>)</li>
<li><a href="https://github.com/electron-userland/electron-builder/commit/9dc0b49aea1d3bb56b42c3b1bdb6001708a34439"><code>9dc0b49</code></a> fix(electron-updater,deb): Handle spaces in application artifact name for deb...</li>
<li>See full diff in <a href="https://github.com/electron-userland/electron-builder/commits/electron-updater@6.3.4/packages/electron-updater">compare view</a></li>
</ul>
</details>
<br />

Updates `@electron/notarize` from 2.3.2 to 2.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/electron/notarize/releases"><code>@​electron/notarize</code>'s releases</a>.</em></p>
<blockquote>
<h2>v2.4.0</h2>
<h1><a href="https://github.com/electron/notarize/compare/v2.3.2...v2.4.0">2.4.0</a> (2024-08-13)</h1>
<h3>Features</h3>
<ul>
<li>add notarization logs to debug logging for success (<a href="https://redirect.github.com/electron/notarize/issues/202">#202</a>) (<a href="https://github.com/electron/notarize/commit/dfbdcd88b2ded003799a38980166d8189fea983a">dfbdcd8</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/electron/notarize/commit/dfbdcd88b2ded003799a38980166d8189fea983a"><code>dfbdcd8</code></a> feat: add notarization logs to debug logging for success (<a href="https://redirect.github.com/electron/notarize/issues/202">#202</a>)</li>
<li><a href="https://github.com/electron/notarize/commit/a38ba021b47385542cb2b1fadbf6484552761754"><code>a38ba02</code></a> docs: clean up types and add API docs site (<a href="https://redirect.github.com/electron/notarize/issues/199">#199</a>)</li>
<li><a href="https://github.com/electron/notarize/commit/69f17aabdf26c8a87294748b97d029508d25faf6"><code>69f17aa</code></a> build(deps): bump amannn/action-semantic-pull-request (<a href="https://redirect.github.com/electron/notarize/issues/207">#207</a>)</li>
<li><a href="https://github.com/electron/notarize/commit/20a4942df8811906095bf4d80f17963da486aa36"><code>20a4942</code></a> build(deps): bump braces from 3.0.2 to 3.0.3 (<a href="https://redirect.github.com/electron/notarize/issues/204">#204</a>)</li>
<li><a href="https://github.com/electron/notarize/commit/1f64e1a0f6a358c1fe4966b0a421c01be00e6cca"><code>1f64e1a</code></a> chore: bump electronjs/node in .circleci/config.yml to 2.3.0 (<a href="https://redirect.github.com/electron/notarize/issues/203">#203</a>)</li>
<li><a href="https://github.com/electron/notarize/commit/a0509e0c2c47f374b8d9de340155e30e28d8959c"><code>a0509e0</code></a> chore: bump electronjs/node in .circleci/config.yml to 2.2.3 (<a href="https://redirect.github.com/electron/notarize/issues/196">#196</a>)</li>
<li>See full diff in <a href="https://github.com/electron/notarize/compare/v2.3.2...v2.4.0">compare view</a></li>
</ul>
</details>
<br />

Updates `@playwright/test` from 1.45.3 to 1.46.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.46.1</h2>
<h3>Highlights</h3>
<p><a href="https://redirect.github.com/microsoft/playwright/issues/32004">microsoft/playwright#32004</a> - [REGRESSION]: Client Certificates don't work with Microsoft IIS
<a href="https://redirect.github.com/microsoft/playwright/issues/32004">microsoft/playwright#32004</a> - [REGRESSION]: Websites stall on TLS handshake errors when using Client Certificates
<a href="https://redirect.github.com/microsoft/playwright/issues/32146">microsoft/playwright#32146</a> - [BUG]: Credential scanners warn about internal socks-proxy TLS certificates
<a href="https://redirect.github.com/microsoft/playwright/issues/32056">microsoft/playwright#32056</a> - [REGRESSION]: 1.46.0 (TypeScript) - custom fixtures extend no longer chainable
<a href="https://redirect.github.com/microsoft/playwright/issues/32070">microsoft/playwright#32070</a> - [Bug]: --only-changed flag and project dependencies
<a href="https://redirect.github.com/microsoft/playwright/issues/32188">microsoft/playwright#32188</a> - [Bug]: --only-changed with shallow clone throws &quot;unknown revision&quot; error</p>
<h2>Browser Versions</h2>
<ul>
<li>Chromium 128.0.6613.18</li>
<li>Mozilla Firefox 128.0</li>
<li>WebKit 18.0</li>
</ul>
<p>This version was also tested against the following stable channels:</p>
<ul>
<li>Google Chrome 127</li>
<li>Microsoft Edge 127</li>
</ul>
<h2>v1.46.0</h2>
<h2>TLS Client Certificates</h2>
<p>Playwright now allows to supply client-side certificates, so that server can verify them, as specified by TLS Client Authentication.</p>
<p>When client certificates are specified, all browser traffic is routed through a proxy that establishes the secure TLS connection, provides client certificates to the server and validates server certificates.</p>
<p>The following snippet sets up a client certificate for <code>https://example.com</code>:</p>
<pre lang="ts"><code>import { defineConfig } from '@playwright/test';
<p>export default defineConfig({
// ...
use: {
clientCertificates: [{
origin: 'https://example.com',
certPath: './cert.pem',
keyPath: './key.pem',
passphrase: 'mysecretpassword',
}],
},
// ...
});
</code></pre></p>
<p>You can also provide client certificates to a particular <a href="https://playwright.dev/docs/api/class-testproject#test-project-use">test project</a> or as a parameter of <a href="https://playwright.dev/docs/api/class-browser#browser-new-context">browser.newContext()</a> and <a href="https://playwright.dev/docs/api/class-apirequest#api-request-new-context">apiRequest.newContext()</a>.</p>
<h2><code>--only-changed</code> cli option</h2>
<p>New CLI option <code>--only-changed</code> allows to only run test files that have been changed since the last git commit or from a specific git &quot;ref&quot;.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/microsoft/playwright/commit/e1c861cfa7a6caf3c5b798786b1e6298c4f3cf31"><code>e1c861c</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32021">#32021</a>): test: fix failing client-certificate tests</li>
<li><a href="https://github.com/microsoft/playwright/commit/20b0788101c3ea52cf3de77242340eaa71f5689e"><code>20b0788</code></a> chore: mark v1.46.1 (<a href="https://redirect.github.com/microsoft/playwright/issues/32194">#32194</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/57c324002a7a56d0762162e6ae300e3acb363611"><code>57c3240</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32192">#32192</a>): chore: generate self-signed certificates for socks proxy</li>
<li><a href="https://github.com/microsoft/playwright/commit/301f1797357a45c3c4819f43a3f7b356c1d1d3bc"><code>301f179</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32189">#32189</a>): fix(only-changed): show nice error message about shallow...</li>
<li><a href="https://github.com/microsoft/playwright/commit/b2d6a0916eeea2e6b3c43220e654186b8e352758"><code>b2d6a09</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32164">#32164</a>): docs: release video and trace viewer video (<a href="https://redirect.github.com/microsoft/playwright/issues/32173">#32173</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/7cf7aec97fb49fcabd47d4aebde197de457aacbc"><code>7cf7aec</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32094">#32094</a>): fix(test runner): run project dependencies of `--only-ch...</li>
<li><a href="https://github.com/microsoft/playwright/commit/d78ae0179db50d26ecf2c09c12e21d4d3421f1c1"><code>d78ae01</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32163">#32163</a>): fix(client-certificates): stall on tls handshake errors</li>
<li><a href="https://github.com/microsoft/playwright/commit/bd13da413299d06ad8bfb72b9dbcc89bda5e7713"><code>bd13da4</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32155">#32155</a>): fix(client-certificates): when server does tls renegotia...</li>
<li><a href="https://github.com/microsoft/playwright/commit/30684a77e764c49aa76ece4af628ef0aaf1f38e5"><code>30684a7</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32066">#32066</a>): fix(types): revert type changes made to support TS 5.5 (...</li>
<li><a href="https://github.com/microsoft/playwright/commit/5e68061d4993cc9e2ee632082d28a3b4a9d71092"><code>5e68061</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32015">#32015</a>): docs(release-notes): fix typo in .NET release notes</li>
<li>Additional commits viewable in <a href="https://github.com/microsoft/playwright/compare/v1.45.3...v1.46.1">compare view</a></li>
</ul>
</details>
<br />

Updates `electron` from 31.3.1 to 32.0.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/electron/electron/releases">electron's releases</a>.</em></p>
<blockquote>
<h2>electron v32.0.1</h2>
<h1>Release Notes for v32.0.1</h1>
<h2>Other Changes</h2>
<ul>
<li>Security: cherry-pick 9797576 from v8 <a href="https://redirect.github.com/electron/electron/pull/43384">#43384</a></li>
</ul>
<h2>electron v32.0.0</h2>
<h1>Release Notes for v32.0.0</h1>
<h2>Stack Upgrades</h2>
<ul>
<li>Chromium<code>128.0.6613.36</code>
<ul>
<li><a href="https://developer.chrome.com/blog/new-in-chrome-128/">New in 128</a></li>
<li><a href="https://developer.chrome.com/blog/new-in-chrome-127/">New in 127</a></li>
</ul>
</li>
<li>Node <code>20.16.0</code>
<ul>
<li><a href="https://nodejs.org/en/blog/release/v20.16.0/">Node 20.16.0 blog post</a></li>
</ul>
</li>
<li>V8 <code>12.8</code></li>
</ul>
<h2>Breaking Changes</h2>
<ul>
<li>Removed nonstandard <code>File.path</code> extension from the Web <code>File</code> API. <a href="https://redirect.github.com/electron/electron/pull/42053">#42053</a></li>
<li>Added the following existing navigation related APIs to <code>webcontents.navigationHistory</code>: <code>canGoBack</code>, <code>goBack</code>, <code>canGoForward</code>, <code>goForward</code>,  <code>canGoToOffset</code>, <code>goToOffset</code>, <code>clear</code>. <a href="https://redirect.github.com/electron/electron/pull/41752">#41752</a></li>
</ul>
<h2>Features</h2>
<h3>Additions</h3>
<ul>
<li>Added <code>DownloadItem.getCurrentBytesPerSecond()</code>, <code>DownloadItem.getPercentComplete()</code>, <code>DownloadItem.getEndTime()</code>. <a href="https://redirect.github.com/electron/electron/pull/42913">#42913</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/42914">30</a>, <a href="https://redirect.github.com/electron/electron/pull/42915">31</a>)<!-- raw HTML omitted --></li>
<li>Added <code>cumulativeCPUUsage</code> to AppMetrics and CPUUsage. <a href="https://redirect.github.com/electron/electron/pull/41819">#41819</a></li>
<li>Added a new property <code>prefersReducedTransparency</code> to <code>nativeTheme</code>, which indicates whether the user has chosen to reduce OS-level transparency via system accessibility settings. <a href="https://redirect.github.com/electron/electron/pull/43024">#43024</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/43138">30</a>, <a href="https://redirect.github.com/electron/electron/pull/43137">31</a>)<!-- raw HTML omitted --></li>
<li>Enabled the Windows Control Overlay API on Linux. <a href="https://redirect.github.com/electron/electron/pull/42681">#42681</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/42683">30</a>, <a href="https://redirect.github.com/electron/electron/pull/42682">31</a>)<!-- raw HTML omitted --></li>
<li>Expose <code>systemPreferences</code> to <code>utilityProcess</code>. <a href="https://redirect.github.com/electron/electron/pull/42599">#42599</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/42600">30</a>, <a href="https://redirect.github.com/electron/electron/pull/42598">31</a>)<!-- raw HTML omitted --></li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Aligned failure pathway in File System Access API with upstream when attempting to open a file or directory in a blocked path. <a href="https://redirect.github.com/electron/electron/pull/42993">#42993</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/43162">30</a>, <a href="https://redirect.github.com/electron/electron/pull/42994">31</a>)<!-- raw HTML omitted --></li>
<li>Extended <code>WebContentsView</code> to accept pre-existing <code>webContents</code> object. <a href="https://redirect.github.com/electron/electron/pull/42086">#42086</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/42319">31</a>)<!-- raw HTML omitted --></li>
<li>Improved error messages when <code>ses.cookies.set</code> fails. <a href="https://redirect.github.com/electron/electron/pull/42362">#42362</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/42399">29</a>, <a href="https://redirect.github.com/electron/electron/pull/42398">30</a>, <a href="https://redirect.github.com/electron/electron/pull/42400">31</a>)<!-- raw HTML omitted --></li>
</ul>
<h2>Fixes</h2>
<ul>
<li>Don't check for Desktop Environment in setProgressBar and setBadgeCount. <a href="https://redirect.github.com/electron/electron/pull/41211">#41211</a></li>
<li>Fixed an error where a minimized or hidden window would thrown an unresponsive error in the main process. <a href="https://redirect.github.com/electron/electron/pull/43053">#43053</a></li>
</ul>
<h3>Also in earlier versions...</h3>
<ul>
<li>BrowserWindow.show() now correctly restores focus to inactive apps on macOS. <a href="https://redirect.github.com/electron/electron/pull/42300">#42300</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/42306">30</a>, <a href="https://redirect.github.com/electron/electron/pull/42305">31</a>)<!-- raw HTML omitted --></li>
<li>Electron doesn't paint on offscreen-render mode after gpu process crashed. <a href="https://redirect.github.com/electron/electron/pull/41904">#41904</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/41923">29</a>, <a href="https://redirect.github.com/electron/electron/pull/41925">30</a>, <a href="https://redirect.github.com/electron/electron/pull/41924">31</a>)<!-- raw HTML omitted --></li>
<li>Fix: fixed the <code>npm run lint</code> not working on Windows. <a href="https://redirect.github.com/electron/electron/pull/42905">#42905</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/42906">31</a>)<!-- raw HTML omitted --></li>
<li>Fixed a crash in <code>addChildView</code> if a view is added as its own child. <a href="https://redirect.github.com/electron/electron/pull/42067">#42067</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/42107">30</a>, <a href="https://redirect.github.com/electron/electron/pull/42108">31</a>)<!-- raw HTML omitted --></li>
<li>Fixed a crash that could occur in some DevTools extensions containing draggable regions. <a href="https://redirect.github.com/electron/electron/pull/43199">#43199</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/43200">31</a>)<!-- raw HTML omitted --></li>
<li>Fixed a crash when the same <code>WebContentsView</code> is added via <code>addChildView</code> multiple times. <a href="https://redirect.github.com/electron/electron/pull/42085">#42085</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/42115">30</a>, <a href="https://redirect.github.com/electron/electron/pull/42116">31</a>)<!-- raw HTML omitted --></li>
<li>Fixed a focus issue when calling <code>BrowserWindow.setTopBrowserView</code>. <a href="https://redirect.github.com/electron/electron/pull/42733">#42733</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/42735">30</a>, <a href="https://redirect.github.com/electron/electron/pull/42734">31</a>)<!-- raw HTML omitted --></li>
<li>Fixed a potential crash when removing notifications on Windows. <a href="https://redirect.github.com/electron/electron/pull/43060">#43060</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/43059">30</a>, <a href="https://redirect.github.com/electron/electron/pull/43061">31</a>)<!-- raw HTML omitted --></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/electron/electron/blob/main/docs/breaking-changes.md">electron's changelog</a>.</em></p>
<blockquote>
<h1>Breaking Changes</h1>
<p>Breaking changes will be documented here, and deprecation warnings added to JS code where possible, at least <a href="https://github.com/electron/electron/blob/main/docs/tutorial/electron-versioning.md#semver">one major version</a> before the change is made.</p>
<h3>Types of Breaking Changes</h3>
<p>This document uses the following convention to categorize breaking changes:</p>
<ul>
<li><strong>API Changed:</strong> An API was changed in such a way that code that has not been updated is guaranteed to throw an exception.</li>
<li><strong>Behavior Changed:</strong> The behavior of Electron has changed, but not in such a way that an exception will necessarily be thrown.</li>
<li><strong>Default Changed:</strong> Code depending on the old default may break, not necessarily throwing an exception. The old behavior can be restored by explicitly specifying the value.</li>
<li><strong>Deprecated:</strong> An API was marked as deprecated. The API will continue to function, but will emit a deprecation warning, and will be removed in a future release.</li>
<li><strong>Removed:</strong> An API or feature was removed, and is no longer supported by Electron.</li>
</ul>
<h2>Planned Breaking API Changes (33.0)</h2>
<h3>Behavior Changed: <code>webContents</code> property on <code>login</code> on <code>app</code></h3>
<p>The <code>webContents</code> property in the <code>login</code> event from <code>app</code> will be <code>null</code>
when the event is triggered for requests from the <a href="https://github.com/electron/electron/blob/main/docs/api/utility-process.md">utility process</a>
created with <code>respondToAuthRequestsFromMainProcess</code> option.</p>
<h3>Deprecated: <code>textured</code> option in <code>BrowserWindowConstructorOption.type</code></h3>
<p>The <code>textured</code> option of <code>type</code> in <code>BrowserWindowConstructorOptions</code> has been deprecated with no replacement. This option relied on the <a href="https://developer.apple.com/documentation/appkit/nswindowstylemask/nswindowstylemasktexturedbackground"><code>NSWindowStyleMaskTexturedBackground</code></a> style mask on macOS, which has been deprecated with no alternative.</p>
<h3>Removed: macOS 10.15 support</h3>
<p>macOS 10.15 (Catalina) is no longer supported by <a href="https://chromium-review.googlesource.com/c/chromium/src/+/5734361">Chromium</a>.</p>
<p>Older versions of Electron will continue to run on Catalina, but macOS 11 (Big Sur)
or later will be required to run Electron v33.0.0 and higher.</p>
<h3>Deprecated: <code>systemPreferences.accessibilityDisplayShouldReduceTransparency</code></h3>
<p>The <code>systemPreferences.accessibilityDisplayShouldReduceTransparency</code> property is now deprecated in favor of the new <code>nativeTheme.prefersReducedTransparency</code>, which provides identical information and works cross-platform.</p>
<pre lang="js"><code>// Deprecated
const shouldReduceTransparency = systemPreferences.accessibilityDisplayShouldReduceTransparency
<p>// Replace with:<br />
const prefersReducedTransparency = nativeTheme.prefersReducedTransparency<br />
</code></pre></p>
<h2>Planned Breaking API Changes (32.0)</h2>
<h3>Removed: <code>File.path</code></h3>
<p>The nonstandard <code>path</code> property of the Web <code>File</code> object was added in an early version of Electron as a convenience method for working with native files when doing everything in the renderer was more common. However, it represents a deviation from the standard and poses a minor security risk as well, so beginning in Electron 32.0 it has been removed in favor of the <a href="https://github.com/electron/electron/blob/main/docs/api/web-utils.md#webutilsgetpathforfilefile"><code>webUtils.getPathForFile</code></a> method.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/electron/electron/commit/a577d569ecddb3e4d374072f7bed62725d21c6ef"><code>a577d56</code></a> chore: cherry-pick 9797576 from v8 (<a href="https://redirect.github.com/electron/electron/issues/43384">#43384</a>)</li>
<li><a href="https://github.com/electron/electron/commit/915c7bd9fc4271a51969a2be4d9596ab92e5a942"><code>915c7bd</code></a> refactor: remove unused SetWMSpecState (<a href="https://redirect.github.com/electron/electron/issues/43364">#43364</a>)</li>
<li><a href="https://github.com/electron/electron/commit/3f16924182a356e4b609fd8c2947487615c26820"><code>3f16924</code></a> chore: remove unused method Erase() (<a href="https://redirect.github.com/electron/electron/issues/43363">#43363</a>)</li>
<li><a href="https://github.com/electron/electron/commit/9e421e8f437a02a131ffe0ae3b6691302f8e1108"><code>9e421e8</code></a> docs: add docs API history (<a href="https://redirect.github.com/electron/electron/issues/43362">#43362</a>)</li>
<li><a href="https://github.com/electron/electron/commit/2471ebf39c7035cd5b32c4b8807ddbea1f19ab44"><code>2471ebf</code></a> build: use smaller instances for gn-check (<a href="https://redirect.github.com/electron/electron/issues/43358">#43358</a>)</li>
<li><a href="https://github.com/electron/electron/commit/417348130c07beba9a549aa00f313090ee8aa948"><code>4173481</code></a> docs: expand dialog window to <code>BaseWindow</code> (<a href="https://redirect.github.com/electron/electron/issues/43338">#43338</a>)</li>
<li><a href="https://github.com/electron/electron/commit/8c1be5ade24252d17113c9aa0cef816e6ae82a4b"><code>8c1be5a</code></a> feat: support app#login event for utility process net requests (<a href="https://redirect.github.com/electron/electron/issues/43317">#43317</a>)</li>
<li><a href="https://github.com/electron/electron/commit/7123b313cf7d44cd829a6958266aa115164e0b3b"><code>7123b31</code></a> feat: accept-encoding zstd (<a href="https://redirect.github.com/electron/electron/issues/43300">#43300</a>)</li>
<li><a href="https://github.com/electron/electron/commit/588856ed27dd734fa6045ba7a8ac3daf1931b48c"><code>588856e</code></a> chore: bump chromium to 128.0.6613.36 (32-x-y) (<a href="https://redirect.github.com/electron/electron/issues/43328">#43328</a>)</li>
<li><a href="https://github.com/electron/electron/commit/0c72474bd452d88b49c6103c4a9851fe7d1afc1c"><code>0c72474</code></a> fix: blank page when printing pdf (<a href="https://redirect.github.com/electron/electron/issues/43326">#43326</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/electron/electron/compare/v31.3.1...v32.0.1">compare view</a></li>
</ul>
</details>
<br />

Updates `playwright` from 1.45.3 to 1.46.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.46.1</h2>
<h3>Highlights</h3>
<p><a href="https://redirect.github.com/microsoft/playwright/issues/32004">microsoft/playwright#32004</a> - [REGRESSION]: Client Certificates don't work with Microsoft IIS
<a href="https://redirect.github.com/microsoft/playwright/issues/32004">microsoft/playwright#32004</a> - [REGRESSION]: Websites stall on TLS handshake errors when using Client Certificates
<a href="https://redirect.github.com/microsoft/playwright/issues/32146">microsoft/playwright#32146</a> - [BUG]: Credential scanners warn about internal socks-proxy TLS certificates
<a href="https://redirect.github.com/microsoft/playwright/issues/32056">microsoft/playwright#32056</a> - [REGRESSION]: 1.46.0 (TypeScript) - custom fixtures extend no longer chainable
<a href="https://redirect.github.com/microsoft/playwright/issues/32070">microsoft/playwright#32070</a> - [Bug]: --only-changed flag and project dependencies
<a href="https://redirect.github.com/microsoft/playwright/issues/32188">microsoft/playwright#32188</a> - [Bug]: --only-changed with shallow clone throws &quot;unknown revision&quot; error</p>
<h2>Browser Versions</h2>
<ul>
<li>Chromium 128.0.6613.18</li>
<li>Mozilla Firefox 128.0</li>
<li>WebKit 18.0</li>
</ul>
<p>This version was also tested against the following stable channels:</p>
<ul>
<li>Google Chrome 127</li>
<li>Microsoft Edge 127</li>
</ul>
<h2>v1.46.0</h2>
<h2>TLS Client Certificates</h2>
<p>Playwright now allows to supply client-side certificates, so that server can verify them, as specified by TLS Client Authentication.</p>
<p>When client certificates are specified, all browser traffic is routed through a proxy that establishes the secure TLS connection, provides client certificates to the server and validates server certificates.</p>
<p>The following snippet sets up a client certificate for <code>https://example.com</code>:</p>
<pre lang="ts"><code>import { defineConfig } from '@playwright/test';
<p>export default defineConfig({
// ...
use: {
clientCertificates: [{
origin: 'https://example.com',
certPath: './cert.pem',
keyPath: './key.pem',
passphrase: 'mysecretpassword',
}],
},
// ...
});
</code></pre></p>
<p>You can also provide client certificates to a particular <a href="https://playwright.dev/docs/api/class-testproject#test-project-use">test project</a> or as a parameter of <a href="https://playwright.dev/docs/api/class-browser#browser-new-context">browser.newContext()</a> and <a href="https://playwright.dev/docs/api/class-apirequest#api-request-new-context">apiRequest.newContext()</a>.</p>
<h2><code>--only-changed</code> cli option</h2>
<p>New CLI option <code>--only-changed</code> allows to only run test files that have been changed since the last git commit or from a specific git &quot;ref&quot;.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/microsoft/playwright/commit/e1c861cfa7a6caf3c5b798786b1e6298c4f3cf31"><code>e1c861c</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32021">#32021</a>): test: fix failing client-certificate tests</li>
<li><a href="https://github.com/microsoft/playwright/commit/20b0788101c3ea52cf3de77242340eaa71f5689e"><code>20b0788</code></a> chore: mark v1.46.1 (<a href="https://redirect.github.com/microsoft/playwright/issues/32194">#32194</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/57c324002a7a56d0762162e6ae300e3acb363611"><code>57c3240</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32192">#32192</a>): chore: generate self-signed certificates for socks proxy</li>
<li><a href="https://github.com/microsoft/playwright/commit/301f1797357a45c3c4819f43a3f7b356c1d1d3bc"><code>301f179</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32189">#32189</a>): fix(only-changed): show nice error message about shallow...</li>
<li><a href="https://github.com/microsoft/playwright/commit/b2d6a0916eeea2e6b3c43220e654186b8e352758"><code>b2d6a09</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32164">#32164</a>): docs: release video and trace viewer video (<a href="https://redirect.github.com/microsoft/playwright/issues/32173">#32173</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/7cf7aec97fb49fcabd47d4aebde197de457aacbc"><code>7cf7aec</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32094">#32094</a>): fix(test runner): run project dependencies of `--only-ch...</li>
<li><a href="https://github.com/microsoft/playwright/commit/d78ae0179db50d26ecf2c09c12e21d4d3421f1c1"><code>d78ae01</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32163">#32163</a>): fix(client-certificates): stall on tls handshake errors</li>
<li><a href="https://github.com/microsoft/playwright/commit/bd13da413299d06ad8bfb72b9dbcc89bda5e7713"><code>bd13da4</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32155">#32155</a>): fix(client-certificates): when server does tls renegotia...</li>
<li><a href="https://github.com/microsoft/playwright/commit/30684a77e764c49aa76ece4af628ef0aaf1f38e5"><code>30684a7</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32066">#32066</a>): fix(types): revert type changes made to support TS 5.5 (...</li>
<li><a href="https://github.com/microsoft/playwright/commit/5e68061d4993cc9e2ee632082d28a3b4a9d71092"><code>5e68061</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32015">#32015</a>): docs(release-notes): fix typo in .NET release notes</li>
<li>Additional commits viewable in <a href="https://github.com/microsoft/playwright/compare/v1.45.3...v1.46.1">compare view</a></li>
</ul>
</details>
<br />

Updates `playwright-core` from 1.45.3 to 1.46.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.46.1</h2>
<h3>Highlights</h3>
<p><a href="https://redirect.github.com/microsoft/playwright/issues/32004">microsoft/playwright#32004</a> - [REGRESSION]: Client Certificates don't work with Microsoft IIS
<a href="https://redirect.github.com/microsoft/playwright/issues/32004">microsoft/playwright#32004</a> - [REGRESSION]: Websites stall on TLS handshake errors when using Client Certificates
<a href="https://redirect.github.com/microsoft/playwright/issues/32146">microsoft/playwright#32146</a> - [BUG]: Credential scanners warn about internal socks-proxy TLS certificates
<a href="https://redirect.github.com/microsoft/playwright/issues/32056">microsoft/playwright#32056</a> - [REGRESSION]: 1.46.0 (TypeScript) - custom fixtures extend no longer chainable
<a href="https://redirect.github.com/microsoft/playwright/issues/32070">microsoft/playwright#32070</a> - [Bug]: --only-changed flag and project dependencies
<a href="https://redirect.github.com/microsoft/playwright/issues/32188">microsoft/playwright#32188</a> - [Bug]: --only-changed with shallow clone throws &quot;unknown revision&quot; error</p>
<h2>Browser Versions</h2>
<ul>
<li>Chromium 128.0.6613.18</li>
<li>Mozilla Firefox 128.0</li>
<li>WebKit 18.0</li>
</ul>
<p>This version was also tested against the following stable channels:</p>
<ul>
<li>Google Chrome 127</li>
<li>Microsoft Edge 127</li>
</ul>
<h2>v1.46.0</h2>
<h2>TLS Client Certificates</h2>
<p>Playwright now allows to supply client-side certificates, so that server can verify them, as specified by TLS Client Authentication.</p>
<p>When client certificates are specified, all browser traffic is routed through a proxy that establishes the secure TLS connection, provides client certificates to the server and validates server certificates.</p>
<p>The following snippet sets up a client certificate for <code>https://example.com</code>:</p>
<pre lang="ts"><code>import { defineConfig } from '@playwright/test';
<p>export default defineConfig({
// ...
use: {
clientCertificates: [{
origin: 'https://example.com',
certPath: './cert.pem',
keyPath: './key.pem',
passphrase: 'mysecretpassword',
}],
},
// ...
});
</code></pre></p>
<p>You can also provide client certificates to a particular <a href="https://playwright.dev/docs/api/class-testproject#test-project-use">test project</a> or as a parameter of <a href="https://playwright.dev/docs/api/class-browser#browser-new-context">browser.newContext()</a> and <a href="https://playwright.dev/docs/api/class-apirequest#api-request-new-context">apiRequest.newContext()</a>.</p>
<h2><code>--only-changed</code> cli option</h2>
<p>New CLI option <code>--only-changed</code> allows to only run test files that have been changed since the last git commit or from a specific git &quot;ref&quot;.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/microsoft/playwright/commit/e1c861cfa7a6caf3c5b798786b1e6298c4f3cf31"><code>e1c861c</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32021">#32021</a>): test: fix failing client-certificate tests</li>
<li><a href="https://github.com/microsoft/playwright/commit/20b0788101c3ea52cf3de77242340eaa71f5689e"><code>20b0788</code></a> chore: mark v1.46.1 (<a href="https://redirect.github.com/microsoft/playwright/issues/32194">#32194</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/57c324002a7a56d0762162e6ae300e3acb363611"><code>57c3240</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32192">#32192</a>): chore: generate self-signed certificates for socks proxy</li>
<li><a href="https://github.com/microsoft/playwright/commit/301f1797357a45c3c4819f43a3f7b356c1d1d3bc"><code>301f179</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32189">#32189</a>): fix(only-changed): show nice error message about shallow...</li>
<li><a href="https://github.com/microsoft/playwright/commit/b2d6a0916eeea2e6b3c43220e654186b8e352758"><code>b2d6a09</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32164">#32164</a>): docs: release video and trace viewer video (<a href="https://redirect.github.com/microsoft/playwright/issues/32173">#32173</a>)</li>
<li><a href="https://github.com/microsoft/playwright/commit/7cf7aec97fb49fcabd47d4aebde197de457aacbc"><code>7cf7aec</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32094">#32094</a>): fix(test runner): run project dependencies of `--only-ch...</li>
<li><a href="https://github.com/microsoft/playwright/commit/d78ae0179db50d26ecf2c09c12e21d4d3421f1c1"><code>d78ae01</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32163">#32163</a>): fix(client-certificates): stall on tls handshake errors</li>
<li><a href="https://github.com/microsoft/playwright/commit/bd13da413299d06ad8bfb72b9dbcc89bda5e7713"><code>bd13da4</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32155">#32155</a>): fix(client-certificates): when server does tls renegotia...</li>
<li><a href="https://github.com/microsoft/playwright/commit/30684a77e764c49aa76ece4af628ef0aaf1f38e5"><code>30684a7</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32066">#32066</a>): fix(types): revert type changes made to support TS 5.5 (...</li>
<li><a href="https://github.com/microsoft/playwright/commit/5e68061d4993cc9e2ee632082d28a3b4a9d71092"><code>5e68061</code></a> cherry-pick(<a href="https://redirect.github.com/microsoft/playwright/issues/32015">#32015</a>): docs(release-notes): fix typo in .NET release notes</li>
<li>Additional commits viewable in <a href="https://github.com/microsoft/playwright/compare/v1.45.3...v1.46.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 1d076df1..9a08db97 100644
--- a/.github/workflows/code-coverage.yml
+++ b/.github/workflows/code-coverage.yml
@@ -28,7 +28,7 @@ jobs:
       with:
         files: coverage.txt
     - name: Upload Logs
-      uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+      uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
       with:
         name: logs
         path: .logs/**/*.log
diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml
index b4312a6d..730cf1df 100644
--- a/.github/workflows/make.yml
+++ b/.github/workflows/make.yml
@@ -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@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+      uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.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@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+      uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
       with:
         name: kopia_binaries-${{ matrix.os }}
         path: |
diff --git a/.github/workflows/ossf-scorecard.yml b/.github/workflows/ossf-scorecard.yml
index e1a1d8e8..8af51f17 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@2c779ab0d087cd7fe7b826087247c2c81f27bfa6 # v3.26.5
+        uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
         with:
           sarif_file: results.sarif
       -
         name: "Upload analysis results as 'Job Artifact'"
-        uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+        uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
         with:
           name: SARIF file
           path: results.sarif
diff --git a/app/package-lock.json b/app/package-lock.json
index 4efe7e34..d5bdb493 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -12,18 +12,18 @@
         "auto-launch": "^5.0.6",
         "electron-log": "^5.1.7",
         "electron-store": "^10.0.0",
-        "electron-updater": "^6.3.2",
+        "electron-updater": "^6.3.4",
         "minimist": "^1.2.8",
         "semver": "^7.6.3",
         "uuid": "^10.0.0"
       },
       "devDependencies": {
-        "@electron/notarize": "^2.3.2",
-        "@playwright/test": "^1.45.3",
+        "@electron/notarize": "^2.4.0",
+        "@playwright/test": "^1.46.1",
         "asar": "^3.2.0",
         "concurrently": "^8.2.2",
         "dotenv": "^16.4.5",
-        "electron": "^31.3.1",
+        "electron": "^32.0.1",
         "electron-builder": "^24.13.3",
         "electron-store": "^10.0.0",
         "playwright": "^1.37.1",
@@ -107,9 +107,9 @@
       }
     },
     "node_modules/@electron/notarize": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.3.2.tgz",
-      "integrity": "sha512-zfayxCe19euNwRycCty1C7lF7snk9YwfRpB5M8GLr1a4ICH63znxaPNAubrMvj0yDvVozqfgsdYpXVUnpWBDpg==",
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.4.0.tgz",
+      "integrity": "sha512-ArHnRPIJJGrmV+uWNQSINAht+cM4gAo3uA3WFI54bYF93mzmD15gzhPQ0Dd+v/fkMhnRiiIO8NNkGdn87Vsy0g==",
       "dev": true,
       "dependencies": {
         "debug": "^4.1.1",
@@ -458,12 +458,12 @@
       }
     },
     "node_modules/@playwright/test": {
-      "version": "1.45.3",
-      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.45.3.tgz",
-      "integrity": "sha512-UKF4XsBfy+u3MFWEH44hva1Q8Da28G6RFtR2+5saw+jgAFQV5yYnB1fu68Mz7fO+5GJF3wgwAIs0UelU8TxFrA==",
+      "version": "1.46.1",
+      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.46.1.tgz",
+      "integrity": "sha512-Fq6SwLujA/DOIvNC2EL/SojJnkKf/rAwJ//APpJJHRyMi1PdKrY3Az+4XNQ51N4RTbItbIByQ0jgd1tayq1aeA==",
       "dev": true,
       "dependencies": {
-        "playwright": "1.45.3"
+        "playwright": "1.46.1"
       },
       "bin": {
         "playwright": "cli.js"
@@ -1965,9 +1965,9 @@
       }
     },
     "node_modules/electron": {
-      "version": "31.3.1",
-      "resolved": "https://registry.npmjs.org/electron/-/electron-31.3.1.tgz",
-      "integrity": "sha512-9fiuWlRhBfygtcT+auRd/WdBK/f8LZZcrpx0RjpXhH2DPTP/PfnkC4JB1PW55qCbGbh4wAgkYbf4ExIag8oGCA==",
+      "version": "32.0.1",
+      "resolved": "https://registry.npmjs.org/electron/-/electron-32.0.1.tgz",
+      "integrity": "sha512-5Hd5Jaf9niYVR2hZxoRd3gOrcxPOxQV1XPV5WaoSfT9jLJHFadhlKtuSDIk3U6rQZke+aC7GqPPAv55nWFCMsA==",
       "dev": true,
       "hasInstallScript": true,
       "dependencies": {
@@ -2207,9 +2207,9 @@
       }
     },
     "node_modules/electron-updater": {
-      "version": "6.3.2",
-      "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.3.2.tgz",
-      "integrity": "sha512-bEpuZ1IRnMtvZZaWeYi9ocX90Cnk+/impZ/08r6GQkfOMqECtKC2IjvxHcDk2VpWO8QZzK0+MUNaBiO81CGvQQ==",
+      "version": "6.3.4",
+      "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.3.4.tgz",
+      "integrity": "sha512-uZUo7p1Y53G4tl6Cgw07X1yF8Jlz6zhaL7CQJDZ1fVVkOaBfE2cWtx80avwDVi8jHp+I/FWawrMgTAeCCNIfAg==",
       "dependencies": {
         "builder-util-runtime": "9.2.5",
         "fs-extra": "^10.1.0",
@@ -2217,7 +2217,7 @@
         "lazy-val": "^1.0.5",
         "lodash.escaperegexp": "^4.1.2",
         "lodash.isequal": "^4.5.0",
-        "semver": "^7.3.8",
+        "semver": "^7.6.3",
         "tiny-typed-emitter": "^2.1.0"
       }
     },
@@ -3294,12 +3294,12 @@
       "dev": true
     },
     "node_modules/playwright": {
-      "version": "1.45.3",
-      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.3.tgz",
-      "integrity": "sha512-QhVaS+lpluxCaioejDZ95l4Y4jSFCsBvl2UZkpeXlzxmqS+aABr5c82YmfMHrL6x27nvrvykJAFpkzT2eWdJww==",
+      "version": "1.46.1",
+      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.46.1.tgz",
+      "integrity": "sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng==",
       "dev": true,
       "dependencies": {
-        "playwright-core": "1.45.3"
+        "playwright-core": "1.46.1"
       },
       "bin": {
         "playwright": "cli.js"
@@ -3312,9 +3312,9 @@
       }
     },
     "node_modules/playwright-core": {
-      "version": "1.45.3",
-      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.3.tgz",
-      "integrity": "sha512-+ym0jNbcjikaOwwSZycFbwkWgfruWvYlJfThKYAlImbxUgdWFO2oW70ojPm4OpE4t6TAo2FY/smM+hpVTtkhDA==",
+      "version": "1.46.1",
+      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.46.1.tgz",
+      "integrity": "sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==",
       "dev": true,
       "bin": {
         "playwright-core": "cli.js"
@@ -4318,9 +4318,9 @@
       }
     },
     "@electron/notarize": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.3.2.tgz",
-      "integrity": "sha512-zfayxCe19euNwRycCty1C7lF7snk9YwfRpB5M8GLr1a4ICH63znxaPNAubrMvj0yDvVozqfgsdYpXVUnpWBDpg==",
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.4.0.tgz",
+      "integrity": "sha512-ArHnRPIJJGrmV+uWNQSINAht+cM4gAo3uA3WFI54bYF93mzmD15gzhPQ0Dd+v/fkMhnRiiIO8NNkGdn87Vsy0g==",
       "dev": true,
       "requires": {
         "debug": "^4.1.1",
@@ -4576,12 +4576,12 @@
       "optional": true
     },
     "@playwright/test": {
-      "version": "1.45.3",
-      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.45.3.tgz",
-      "integrity": "sha512-UKF4XsBfy+u3MFWEH44hva1Q8Da28G6RFtR2+5saw+jgAFQV5yYnB1fu68Mz7fO+5GJF3wgwAIs0UelU8TxFrA==",
+      "version": "1.46.1",
+      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.46.1.tgz",
+      "integrity": "sha512-Fq6SwLujA/DOIvNC2EL/SojJnkKf/rAwJ//APpJJHRyMi1PdKrY3Az+4XNQ51N4RTbItbIByQ0jgd1tayq1aeA==",
       "dev": true,
       "requires": {
-        "playwright": "1.45.3"
+        "playwright": "1.46.1"
       }
     },
     "@sindresorhus/is": {
@@ -5743,9 +5743,9 @@
       }
     },
     "electron": {
-      "version": "31.3.1",
-      "resolved": "https://registry.npmjs.org/electron/-/electron-31.3.1.tgz",
-      "integrity": "sha512-9fiuWlRhBfygtcT+auRd/WdBK/f8LZZcrpx0RjpXhH2DPTP/PfnkC4JB1PW55qCbGbh4wAgkYbf4ExIag8oGCA==",
+      "version": "32.0.1",
+      "resolved": "https://registry.npmjs.org/electron/-/electron-32.0.1.tgz",
+      "integrity": "sha512-5Hd5Jaf9niYVR2hZxoRd3gOrcxPOxQV1XPV5WaoSfT9jLJHFadhlKtuSDIk3U6rQZke+aC7GqPPAv55nWFCMsA==",
       "dev": true,
       "requires": {
         "@electron/get": "^2.0.0",
@@ -5934,9 +5934,9 @@
       }
     },
     "electron-updater": {
-      "version": "6.3.2",
-      "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.3.2.tgz",
-      "integrity": "sha512-bEpuZ1IRnMtvZZaWeYi9ocX90Cnk+/impZ/08r6GQkfOMqECtKC2IjvxHcDk2VpWO8QZzK0+MUNaBiO81CGvQQ==",
+      "version": "6.3.4",
+      "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.3.4.tgz",
+      "integrity": "sha512-uZUo7p1Y53G4tl6Cgw07X1yF8Jlz6zhaL7CQJDZ1fVVkOaBfE2cWtx80avwDVi8jHp+I/FWawrMgTAeCCNIfAg==",
       "requires": {
         "builder-util-runtime": "9.2.5",
         "fs-extra": "^10.1.0",
@@ -5944,7 +5944,7 @@
         "lazy-val": "^1.0.5",
         "lodash.escaperegexp": "^4.1.2",
         "lodash.isequal": "^4.5.0",
-        "semver": "^7.3.8",
+        "semver": "^7.6.3",
         "tiny-typed-emitter": "^2.1.0"
       },
       "dependencies": {
@@ -6778,19 +6778,19 @@
       "dev": true
     },
     "playwright": {
-      "version": "1.45.3",
-      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.3.tgz",
-      "integrity": "sha512-QhVaS+lpluxCaioejDZ95l4Y4jSFCsBvl2UZkpeXlzxmqS+aABr5c82YmfMHrL6x27nvrvykJAFpkzT2eWdJww==",
+      "version": "1.46.1",
+      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.46.1.tgz",
+      "integrity": "sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng==",
       "dev": true,
       "requires": {
         "fsevents": "2.3.2",
-        "playwright-core": "1.45.3"
+        "playwright-core": "1.46.1"
       }
     },
     "playwright-core": {
-      "version": "1.45.3",
-      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.3.tgz",
-      "integrity": "sha512-+ym0jNbcjikaOwwSZycFbwkWgfruWvYlJfThKYAlImbxUgdWFO2oW70ojPm4OpE4t6TAo2FY/smM+hpVTtkhDA==",
+      "version": "1.46.1",
+      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.46.1.tgz",
+      "integrity": "sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==",
       "dev": true
     },
     "plist": {
diff --git a/app/package.json b/app/package.json
index 8653950a..36340e1b 100644
--- a/app/package.json
+++ b/app/package.json
@@ -6,7 +6,7 @@
     "auto-launch": "^5.0.6",
     "electron-log": "^5.1.7",
     "electron-store": "^10.0.0",
-    "electron-updater": "^6.3.2",
+    "electron-updater": "^6.3.4",
     "minimist": "^1.2.8",
     "semver": "^7.6.3",
     "uuid": "^10.0.0"
@@ -111,12 +111,12 @@
     "afterSign": "notarize.cjs"
   },
   "devDependencies": {
-    "@electron/notarize": "^2.3.2",
-    "@playwright/test": "^1.45.3",
+    "@electron/notarize": "^2.4.0",
+    "@playwright/test": "^1.46.1",
     "asar": "^3.2.0",
     "concurrently": "^8.2.2",
     "dotenv": "^16.4.5",
-    "electron": "^31.3.1",
+    "electron": "^32.0.1",
     "electron-builder": "^24.13.3",
     "electron-store": "^10.0.0",
     "playwright": "^1.37.1",
diff --git a/go.mod b/go.mod
index 094786ec..15c5388d 100644
--- a/go.mod
+++ b/go.mod
@@ -30,7 +30,7 @@ require (
 	github.com/klauspost/compress v1.17.9
 	github.com/klauspost/pgzip v1.2.6
 	github.com/klauspost/reedsolomon v1.12.3
-	github.com/kopia/htmluibuild v0.0.1-0.20240821004433-fc47a3948dbf
+	github.com/kopia/htmluibuild v0.0.1-0.20240904032638-52c5c0611ec3
 	github.com/kylelemons/godebug v1.1.0
 	github.com/mattn/go-colorable v0.1.13
 	github.com/minio/minio-go/v7 v7.0.76
@@ -42,7 +42,7 @@ require (
 	github.com/pkg/sftp v1.13.6
 	github.com/prometheus/client_golang v1.20.2
 	github.com/prometheus/client_model v0.6.1
-	github.com/prometheus/common v0.55.0
+	github.com/prometheus/common v0.57.0
 	github.com/sanity-io/litter v1.5.5
 	github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
 	github.com/stretchr/testify v1.9.0
@@ -64,8 +64,8 @@ require (
 	golang.org/x/sys v0.24.0
 	golang.org/x/term v0.23.0
 	golang.org/x/text v0.17.0
-	google.golang.org/api v0.194.0
-	google.golang.org/grpc v1.65.0
+	google.golang.org/api v0.195.0
+	google.golang.org/grpc v1.66.0
 	google.golang.org/protobuf v1.34.2
 	gopkg.in/kothar/go-backblaze.v0 v0.0.0-20210124194846-35409b867216
 )
@@ -75,7 +75,7 @@ require (
 	cloud.google.com/go/auth v0.9.1 // indirect
 	cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect
 	cloud.google.com/go/compute/metadata v0.5.0 // indirect
-	cloud.google.com/go/iam v1.1.12 // indirect
+	cloud.google.com/go/iam v1.1.13 // indirect
 	github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect
 	github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect
 	github.com/GehirnInc/crypt v0.0.0-20230320061759-8cc1b52080c5 // indirect
@@ -129,8 +129,8 @@ require (
 	go.opentelemetry.io/proto/otlp v1.3.1 // indirect
 	go.uber.org/multierr v1.11.0 // indirect
 	golang.org/x/time v0.6.0 // indirect
-	google.golang.org/genproto v0.0.0-20240814211410-ddb44dafa142 // indirect
+	google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c // indirect
 	google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd // indirect
-	google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff --git a/go.sum b/go.sum
index 08b0852e..e20f27f3 100644
--- a/go.sum
+++ b/go.sum
@@ -7,10 +7,10 @@ cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy
 cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc=
 cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY=
 cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY=
-cloud.google.com/go/iam v1.1.12 h1:JixGLimRrNGcxvJEQ8+clfLxPlbeZA6MuRJ+qJNQ5Xw=
-cloud.google.com/go/iam v1.1.12/go.mod h1:9LDX8J7dN5YRyzVHxwQzrQs9opFFqn0Mxs9nAeB+Hhg=
-cloud.google.com/go/longrunning v0.5.11 h1:Havn1kGjz3whCfoD8dxMLP73Ph5w+ODyZB9RUsDxtGk=
-cloud.google.com/go/longrunning v0.5.11/go.mod h1:rDn7//lmlfWV1Dx6IB4RatCPenTwwmqXuiP0/RgoEO4=
+cloud.google.com/go/iam v1.1.13 h1:7zWBXG9ERbMLrzQBRhFliAV+kjcRToDTgQT3CTwYyv4=
+cloud.google.com/go/iam v1.1.13/go.mod h1:K8mY0uSXwEXS30KrnVb+j54LB/ntfZu1dr+4zFMNbus=
+cloud.google.com/go/longrunning v0.5.12 h1:5LqSIdERr71CqfUsFlJdBpOkBH8FBCFD7P1nTWy3TYE=
+cloud.google.com/go/longrunning v0.5.12/go.mod h1:S5hMV8CDJ6r50t2ubVJSKQVv5u0rmik5//KgLO3k4lU=
 cloud.google.com/go/storage v1.43.0 h1:CcxnSohZwizt4LCzQHWvBf1/kvtHUn7gk9QERXPyXFs=
 cloud.google.com/go/storage v1.43.0/go.mod h1:ajvxEa7WmZS1PxvKRq4bq0tFT3vMd502JwstCcYv0Q0=
 github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 h1:nyQWyZvwGTvunIMxi1Y9uXkcyr+I7TeNrr/foo4Kpk8=
@@ -175,8 +175,8 @@ github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU
 github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
 github.com/klauspost/reedsolomon v1.12.3 h1:tzUznbfc3OFwJaTebv/QdhnFf2Xvb7gZ24XaHLBPmdc=
 github.com/klauspost/reedsolomon v1.12.3/go.mod h1:3K5rXwABAvzGeR01r6pWZieUALXO/Tq7bFKGIb4m4WI=
-github.com/kopia/htmluibuild v0.0.1-0.20240821004433-fc47a3948dbf h1:AWRWwCmpK/8HtARlcdMNCbHpg/Cx8KFwGR7984EHqZM=
-github.com/kopia/htmluibuild v0.0.1-0.20240821004433-fc47a3948dbf/go.mod h1:h53A5JM3t2qiwxqxusBe+PFgGcgZdS+DWCQvG5PTlto=
+github.com/kopia/htmluibuild v0.0.1-0.20240904032638-52c5c0611ec3 h1:cpPFSdFCOMZdX3cohuSyJ3RmOI6JQo+0cHr1Oja2BOI=
+github.com/kopia/htmluibuild v0.0.1-0.20240904032638-52c5c0611ec3/go.mod h1:h53A5JM3t2qiwxqxusBe+PFgGcgZdS+DWCQvG5PTlto=
 github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
 github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -233,8 +233,8 @@ github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/j
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
 github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
 github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
-github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc=
-github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8=
+github.com/prometheus/common v0.57.0 h1:Ro/rKjwdq9mZn1K5QPctzh+MA4Lp0BuYk5ZZEVhoNcY=
+github.com/prometheus/common v0.57.0/go.mod h1:7uRPFSUTbfZWsJ7MHY56sqt7hLQu3bxXHDnNhl8E9qI=
 github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
 github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
 github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
@@ -375,26 +375,26 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn
 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 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.194.0 h1:dztZKG9HgtIpbI35FhfuSNR/zmaMVdxNlntHj1sIS4s=
-google.golang.org/api v0.194.0/go.mod h1:AgvUFdojGANh3vI+P7EVnxj3AISHllxGCJSFmggmnd0=
+google.golang.org/api v0.195.0 h1:Ude4N8FvTKnnQJHU48RFI40jOBgIrL8Zqr3/QeST6yU=
+google.golang.org/api v0.195.0/go.mod h1:DOGRWuv3P8TU8Lnz7uQc4hyNqrBpMtD9ppW3wBJurgc=
 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=
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20240814211410-ddb44dafa142 h1:oLiyxGgE+rt22duwci1+TG7bg2/L1LQsXwfjPlmuJA0=
-google.golang.org/genproto v0.0.0-20240814211410-ddb44dafa142/go.mod h1:G11eXq53iI5Q+kyNOmCvnzBaxEA2Q/Ik5Tj7nqBE8j4=
+google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c h1:TYOEhrQMrNDTAd2rX9m+WgGr8Ku6YNuj1D7OX6rWSok=
+google.golang.org/genproto v0.0.0-20240823204242-4ba0660f739c/go.mod h1:2rC5OendXvZ8wGEo/cSLheztrZDZaSoHanUcd1xtZnw=
 google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd h1:BBOTEWLuuEGQy9n1y9MhVJ9Qt0BDu21X8qZs71/uPZo=
 google.golang.org/genproto/googleapis/api v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:fO8wJzT2zbQbAjbIoos1285VfEIYKDDY+Dt+WpTkh6g=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd h1:6TEm2ZxXoQmFWFlt1vNxvVOa1Q0dXFQD1m/rYjXmS0E=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240822170219-fc7c04adadcd/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c h1:Kqjm4WpoWvwhMPcrAczoTyMySQmYa9Wy2iL6Con4zn8=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240823204242-4ba0660f739c/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
 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=
 google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
 google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc=
-google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ=
+google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c=
+google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
 google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=


Test patch:
diff --git a/.github/workflows/compat-test.yml b/.github/workflows/compat-test.yml
index 6a368960..a6a3878a 100644
--- a/.github/workflows/compat-test.yml
+++ b/.github/workflows/compat-test.yml
@@ -26,7 +26,7 @@ jobs:
     - name: Compat Test
       run: make compat-tests
     - name: Upload Logs
-      uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+      uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
       with:
         name: logs
         path: .logs/**/*.log
diff --git a/.github/workflows/endurance-test.yml b/.github/workflows/endurance-test.yml
index 43198cb7..f47c3adf 100644
--- a/.github/workflows/endurance-test.yml
+++ b/.github/workflows/endurance-test.yml
@@ -31,7 +31,7 @@ jobs:
     - name: Endurance Tests
       run: make endurance-tests
     - name: Upload Logs
-      uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+      uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
       with:
         name: logs
         path: .logs/**/*.log
diff --git a/.github/workflows/htmlui-tests.yml b/.github/workflows/htmlui-tests.yml
index ad2eb3c5..456be23b 100644
--- a/.github/workflows/htmlui-tests.yml
+++ b/.github/workflows/htmlui-tests.yml
@@ -39,7 +39,7 @@ jobs:
     - name: Run Tests
       run: make htmlui-e2e-test
     - name: Upload Screenshots
-      uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+      uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.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 d1527fdb..3405433c 100644
--- a/.github/workflows/stress-test.yml
+++ b/.github/workflows/stress-test.yml
@@ -30,7 +30,7 @@ jobs:
     - name: Stress Test
       run: make stress-test
     - name: Upload Logs
-      uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+      uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
       with:
         name: logs
         path: .logs/**/*.log
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 25674aae..7ffc0735 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -66,7 +66,7 @@ jobs:
     - name: Integration Tests
       run: make -j2 ci-integration-tests
     - name: Upload Logs
-      uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+      uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.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 b86e86dc..17a46784 100644
--- a/.github/workflows/volume-shadow-copy-test.yml
+++ b/.github/workflows/volume-shadow-copy-test.yml
@@ -34,7 +34,7 @@ jobs:
     - name: Non-Admin Test
       run: gsudo -i Medium make os-snapshot-tests
     - name: Upload Logs
-      uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+      uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
       with:
         name: logs
         path: .logs/**/*.log