Skip to content

[dotnet] Fix stopping of network monitoring via DevTools#17352

Merged
nvborisenko merged 2 commits into
SeleniumHQ:trunkfrom
nvborisenko:dotnet-network-fix-stop
Apr 15, 2026
Merged

[dotnet] Fix stopping of network monitoring via DevTools#17352
nvborisenko merged 2 commits into
SeleniumHQ:trunkfrom
nvborisenko:dotnet-network-fix-stop

Conversation

@nvborisenko
Copy link
Copy Markdown
Member

🔗 Related Issues

Fixes #17350

💥 What does this PR do?

This pull request makes improvements to network monitoring cleanup and enhances test coverage for network interception in the WebDriver codebase. The main changes ensure that network and fetch domains are properly disabled when monitoring stops and that tests verify network state resets after interception.

Network monitoring cleanup:

  • NetworkManager.cs: Added calls to explicitly disable the network and fetch domains in StopMonitoring() to ensure all network interception hooks are removed when monitoring ends.

Test improvements:

  • NetworkInterceptionTests.cs: Enhanced the TestCanInterceptNetworkCalls test to refresh the page and verify that network interception no longer affects subsequent requests, ensuring proper cleanup.

🔄 Types of changes

  • Bug fix (backwards compatible)

Copilot AI review requested due to automatic review settings April 15, 2026 17:50
@qodo-code-review
Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Fix network monitoring cleanup in .NET WebDriver

🐞 Bug fix

Grey Divider

Walkthroughs

Description
• Explicitly disable network and fetch domains in StopMonitoring()
• Verify network interception cleanup after monitoring stops
• Ensure proper removal of network interception hooks

Grey Divider

File Changes

1. dotnet/src/webdriver/NetworkManager.cs 🐞 Bug fix +2/-0

Add explicit network domain disabling on stop

• Added explicit calls to DisableNetwork() and DisableFetch() in StopMonitoring() method
• Ensures all network interception hooks are properly removed when monitoring ends
• Complements existing network caching disablement

dotnet/src/webdriver/NetworkManager.cs


2. dotnet/test/webdriver/NetworkInterceptionTests.cs 🧪 Tests +3/-0

Verify network interception cleanup in tests

• Enhanced TestCanInterceptNetworkCalls test with page refresh after monitoring stops
• Added verification that network interception no longer affects subsequent requests
• Validates proper cleanup of network state between test phases

dotnet/test/webdriver/NetworkInterceptionTests.cs


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review Bot commented Apr 15, 2026

Code Review by Qodo

🐞 Bugs (2)   📘 Rule violations (0)   📎 Requirement gaps (0)
🐞\ ≡ Correctness (1) ☼ Reliability (1)

Grey Divider


Action required

1. Misindented text assertion lines📘
Description
The newly added lines in TestCanInterceptNetworkCalls have inconsistent indentation, which can
cause dotnet format/lint checks to fail and introduce formatting churn. This should be formatted
to match surrounding code style.
Code

dotnet/test/webdriver/NetworkInterceptionTests.cs[R60-61]

+             text = driver.FindElement(By.CssSelector("h1")).Text;
+             Assert.That(text, Is.EqualTo("Heading"));
Evidence
The compliance checklist requires changed code to remain format/lint clean. The added lines show
inconsistent leading whitespace compared to adjacent statements in the same block.

AGENTS.md
dotnet/test/webdriver/NetworkInterceptionTests.cs[59-61]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Newly added lines in `TestCanInterceptNetworkCalls` are misindented relative to surrounding code, which may fail the repo's formatting/lint checks.

## Issue Context
The repo includes automated formatting/lint workflows; changed code should match existing indentation/style.

## Fix Focus Areas
- dotnet/test/webdriver/NetworkInterceptionTests.cs[59-61]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. StopMonitoring not idempotent 🐞
Description
StopMonitoring() always forces Lazy<DevToolsSession>.Value creation and now issues
DisableNetwork/DisableFetch, so calling StopMonitoring without a prior StartMonitoring will create a
DevTools session and change CDP domain state instead of being a safe no-op.
This can also surface unexpected exceptions in defensive cleanup code paths.
Code

dotnet/src/webdriver/NetworkManager.cs[R95-96]

+        await this.session.Value.Domains.Network.DisableNetwork().ConfigureAwait(false);
+        await this.session.Value.Domains.Network.DisableFetch().ConfigureAwait(false);
Evidence
INetwork.StopMonitoring() does not specify a precondition that StartMonitoring must have been called
first. NetworkManager stores the session as Lazy<DevToolsSession> and dereferences session.Value
inside StopMonitoring, which triggers session creation; with this PR, StopMonitoring additionally
disables CDP Network/Fetch domains, introducing observable side effects even when monitoring was
never started.

dotnet/src/webdriver/INetwork.cs[75-90]
dotnet/src/webdriver/NetworkManager.cs[41-54]
dotnet/src/webdriver/NetworkManager.cs[89-97]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`NetworkManager.StopMonitoring()` is not idempotent: it always dereferences `Lazy<DevToolsSession>.Value` and now sends `DisableNetwork()`/`DisableFetch()` commands even if `StartMonitoring()` was never called. This means `StopMonitoring()` can unexpectedly create a DevTools session and mutate CDP state (or throw) when used in defensive cleanup paths.

### Issue Context
`INetwork.StopMonitoring()` does not document a required call order. The session is stored as `Lazy<DevToolsSession>`.

### Fix Focus Areas
- dotnet/src/webdriver/NetworkManager.cs[41-54]
- dotnet/src/webdriver/NetworkManager.cs[73-97]
- dotnet/src/webdriver/INetwork.cs[75-90]

### Suggested change
Make `StopMonitoring()` a safe no-op when monitoring was never started, e.g.:
- Add a private `bool isMonitoring` set to `true` at the end of `StartMonitoring()` and set to `false` at the end of `StopMonitoring()`.
- In `StopMonitoring()`, first check `if (!isMonitoring) return;`.
- Optionally also guard with `if (!this.session.IsValueCreated) return;` to avoid forcing DevTools session creation.

This keeps cleanup safe and prevents unintended CDP commands when the feature was never enabled.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

3. Fetch disabled after unhook 🐞
Description
NetworkManager.StopMonitoring() detaches RequestPaused/AuthRequired/ResponsePaused handlers before
disabling the Fetch domain; during StopMonitoring execution, any request paused by Fetch will not be
continued by NetworkManager and can block navigation until Fetch is disabled.
This is a race between detaching OnRequestPaused and the later DisableFetch() call.
Code

dotnet/src/webdriver/NetworkManager.cs[R92-96]

        this.session.Value.Domains.Network.AuthRequired -= OnAuthRequired;
        this.session.Value.Domains.Network.RequestPaused -= OnRequestPaused;
        await this.session.Value.Domains.Network.EnableNetworkCaching().ConfigureAwait(false);
+        await this.session.Value.Domains.Network.DisableNetwork().ConfigureAwait(false);
+        await this.session.Value.Domains.Network.DisableFetch().ConfigureAwait(false);
Evidence
StartMonitoring enables Fetch interception for all URL patterns (request+response stages) and relies
on OnRequestPaused to always call a ContinueRequest* API to release paused requests. StopMonitoring
currently removes the OnRequestPaused subscription before calling DisableFetch, so in the
interleaving where a request is paused after unsubscription but before DisableFetch takes effect,
there is no continuation path in this component.

dotnet/src/webdriver/NetworkManager.cs[73-81]
dotnet/src/webdriver/NetworkManager.cs[89-97]
dotnet/src/webdriver/NetworkManager.cs[221-244]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`NetworkManager.StopMonitoring()` unsubscribes from `RequestPaused`/`AuthRequired`/`ResponsePaused` before disabling the CDP Fetch domain. While Fetch is still enabled, requests can still be paused, but with handlers detached there is no code path that calls `ContinueRequest*`, which can block in-flight or concurrent navigations during shutdown.

### Issue Context
Fetch interception is enabled in `StartMonitoring()` and `OnRequestPaused()` is responsible for releasing paused requests via `ContinueRequest*`.

### Fix Focus Areas
- dotnet/src/webdriver/NetworkManager.cs[89-97]
- dotnet/src/webdriver/NetworkManager.cs[73-81]
- dotnet/src/webdriver/NetworkManager.cs[221-244]

### Suggested change
Reorder `StopMonitoring()` so Fetch/Network domains are disabled **before** removing event handlers (or at least keep `OnRequestPaused` subscribed until after `DisableFetch()` completes), e.g.:
- Call `DisableFetch()` first (while handlers are still attached)
- Optionally call `DisableNetwork()` next
- Restore caching state as needed
- Then detach event handlers (potentially in a `finally` to ensure cleanup)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes cleanup of DevTools-based network monitoring so that interception doesn’t leave subsequent requests stuck pending, and extends a regression test to confirm monitoring teardown restores normal network behavior.

Changes:

  • Explicitly disables the CDP Network and Fetch domains when stopping monitoring.
  • Extends the network interception test to refresh and verify the original page content is restored after monitoring stops.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
dotnet/src/webdriver/NetworkManager.cs Ensures monitoring teardown disables the relevant CDP domains, not just event unsubscription/caching reset.
dotnet/test/webdriver/NetworkInterceptionTests.cs Adds a post-StopMonitoring refresh/assertion to validate interception no longer affects subsequent loads.

Comment thread dotnet/src/webdriver/NetworkManager.cs
Comment thread dotnet/test/webdriver/NetworkInterceptionTests.cs Outdated
Comment thread dotnet/test/webdriver/NetworkInterceptionTests.cs Outdated
Comment thread dotnet/src/webdriver/NetworkManager.cs
@nvborisenko
Copy link
Copy Markdown
Member Author

Finally StopMonitoring behaves by design! Thanks!

@nvborisenko nvborisenko merged commit 8d25558 into SeleniumHQ:trunk Apr 15, 2026
19 checks passed
@nvborisenko nvborisenko deleted the dotnet-network-fix-stop branch April 15, 2026 19:56
This was referenced May 13, 2026
PhilipWoulfe pushed a commit to PhilipWoulfe/F1Competition that referenced this pull request May 19, 2026
Updated
[Microsoft.AspNetCore.Components.Authorization](https://github.com/dotnet/aspnetcore)
from 8.0.26 to 8.0.27.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.Components.Authorization's
releases](https://github.com/dotnet/aspnetcore/releases)._

## 8.0.27

[Release](https://github.com/dotnet/core/releases/tag/v8.0.27)

## What's Changed
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/aspnetcore#66205
* [release/8.0] Update NPM dependencies by @​wtgodbe in
dotnet/aspnetcore#66052
* [release/8.0] Move off of dead-lettered Windows preview helix queue by
@​wtgodbe in dotnet/aspnetcore#66220
* [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to
`d72f9c8` by @​dependabot[bot] in
dotnet/aspnetcore#66087
* [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF
service connection in mirror-within-azdo by @​missymessa in
dotnet/aspnetcore#66115
* [release/8.0] Update dependencies from dotnet/source-build-externals
by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66216
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#66081
* [release/8.0] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66131
* [release/8.0] Update @​azure/msal-browser from 2.x to 4.x by @​wtgodbe
in dotnet/aspnetcore#66236
* [release/8.0] Use source-build-assets repo by @​NikolaMilosavljevic in
dotnet/aspnetcore#66276
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/aspnetcore#66317


**Full Changelog**:
dotnet/aspnetcore@v8.0.26...v8.0.27

Commits viewable in [compare
view](dotnet/aspnetcore@v8.0.26...v8.0.27).
</details>

Updated
[Microsoft.AspNetCore.Components.WebAssembly](https://github.com/dotnet/aspnetcore)
from 8.0.26 to 8.0.27.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.Components.WebAssembly's
releases](https://github.com/dotnet/aspnetcore/releases)._

## 8.0.27

[Release](https://github.com/dotnet/core/releases/tag/v8.0.27)

## What's Changed
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/aspnetcore#66205
* [release/8.0] Update NPM dependencies by @​wtgodbe in
dotnet/aspnetcore#66052
* [release/8.0] Move off of dead-lettered Windows preview helix queue by
@​wtgodbe in dotnet/aspnetcore#66220
* [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to
`d72f9c8` by @​dependabot[bot] in
dotnet/aspnetcore#66087
* [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF
service connection in mirror-within-azdo by @​missymessa in
dotnet/aspnetcore#66115
* [release/8.0] Update dependencies from dotnet/source-build-externals
by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66216
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#66081
* [release/8.0] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66131
* [release/8.0] Update @​azure/msal-browser from 2.x to 4.x by @​wtgodbe
in dotnet/aspnetcore#66236
* [release/8.0] Use source-build-assets repo by @​NikolaMilosavljevic in
dotnet/aspnetcore#66276
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/aspnetcore#66317


**Full Changelog**:
dotnet/aspnetcore@v8.0.26...v8.0.27

Commits viewable in [compare
view](dotnet/aspnetcore@v8.0.26...v8.0.27).
</details>

Updated
[Microsoft.AspNetCore.Components.WebAssembly.DevServer](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.Components.WebAssembly.DevServer's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.AspNetCore.Http.Abstractions](https://github.com/dotnet/aspnetcore)
from 2.3.9 to 2.3.10.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.Http.Abstractions's
releases](https://github.com/dotnet/aspnetcore/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/aspnetcore/commits).
</details>

Updated
[Microsoft.AspNetCore.Mvc.Testing](https://github.com/dotnet/aspnetcore)
from 8.0.26 to 8.0.27.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.Mvc.Testing's
releases](https://github.com/dotnet/aspnetcore/releases)._

## 8.0.27

[Release](https://github.com/dotnet/core/releases/tag/v8.0.27)

## What's Changed
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/aspnetcore#66205
* [release/8.0] Update NPM dependencies by @​wtgodbe in
dotnet/aspnetcore#66052
* [release/8.0] Move off of dead-lettered Windows preview helix queue by
@​wtgodbe in dotnet/aspnetcore#66220
* [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to
`d72f9c8` by @​dependabot[bot] in
dotnet/aspnetcore#66087
* [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF
service connection in mirror-within-azdo by @​missymessa in
dotnet/aspnetcore#66115
* [release/8.0] Update dependencies from dotnet/source-build-externals
by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66216
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#66081
* [release/8.0] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66131
* [release/8.0] Update @​azure/msal-browser from 2.x to 4.x by @​wtgodbe
in dotnet/aspnetcore#66236
* [release/8.0] Use source-build-assets repo by @​NikolaMilosavljevic in
dotnet/aspnetcore#66276
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/aspnetcore#66317


**Full Changelog**:
dotnet/aspnetcore@v8.0.26...v8.0.27

Commits viewable in [compare
view](dotnet/aspnetcore@v8.0.26...v8.0.27).
</details>

Updated
[Microsoft.AspNetCore.OpenApi](https://github.com/dotnet/aspnetcore)
from 8.0.26 to 8.0.27.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.AspNetCore.OpenApi's
releases](https://github.com/dotnet/aspnetcore/releases)._

## 8.0.27

[Release](https://github.com/dotnet/core/releases/tag/v8.0.27)

## What's Changed
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/aspnetcore#66205
* [release/8.0] Update NPM dependencies by @​wtgodbe in
dotnet/aspnetcore#66052
* [release/8.0] Move off of dead-lettered Windows preview helix queue by
@​wtgodbe in dotnet/aspnetcore#66220
* [release/8.0] (deps): Bump src/submodules/googletest from `73a63ea` to
`d72f9c8` by @​dependabot[bot] in
dotnet/aspnetcore#66087
* [release/8.0] Replace dn-bot-dnceng-build-rw-code-rw PAT with WIF
service connection in mirror-within-azdo by @​missymessa in
dotnet/aspnetcore#66115
* [release/8.0] Update dependencies from dotnet/source-build-externals
by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66216
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/aspnetcore#66081
* [release/8.0] Update dependencies from
dotnet/source-build-reference-packages by @​dotnet-maestro[bot] in
dotnet/aspnetcore#66131
* [release/8.0] Update @​azure/msal-browser from 2.x to 4.x by @​wtgodbe
in dotnet/aspnetcore#66236
* [release/8.0] Use source-build-assets repo by @​NikolaMilosavljevic in
dotnet/aspnetcore#66276
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/aspnetcore#66317


**Full Changelog**:
dotnet/aspnetcore@v8.0.26...v8.0.27

Commits viewable in [compare
view](dotnet/aspnetcore@v8.0.26...v8.0.27).
</details>

Updated
[Microsoft.EntityFrameworkCore](https://github.com/dotnet/efcore) from
9.0.15 to 9.0.16.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.EntityFrameworkCore's
releases](https://github.com/dotnet/efcore/releases)._

## 9.0.16

[Release](https://github.com/dotnet/core/releases/tag/v9.0.16)

## What's Changed
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#37900
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#37969
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38034
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/efcore#38062
* [release/9.0] Update branding to 9.0.16 by @​vseanreesermsft in
dotnet/efcore#38063
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38053
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#37908
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#38099
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#38101
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/efcore#38098
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38170


**Full Changelog**:
dotnet/efcore@v9.0.15...v9.0.16

Commits viewable in [compare
view](dotnet/efcore@v9.0.15...v9.0.16).
</details>

Updated
[Microsoft.EntityFrameworkCore.Design](https://github.com/dotnet/efcore)
from 9.0.15 to 9.0.16.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.EntityFrameworkCore.Design's
releases](https://github.com/dotnet/efcore/releases)._

## 9.0.16

[Release](https://github.com/dotnet/core/releases/tag/v9.0.16)

## What's Changed
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#37900
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#37969
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38034
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/efcore#38062
* [release/9.0] Update branding to 9.0.16 by @​vseanreesermsft in
dotnet/efcore#38063
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38053
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#37908
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#38099
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#38101
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/efcore#38098
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38170


**Full Changelog**:
dotnet/efcore@v9.0.15...v9.0.16

Commits viewable in [compare
view](dotnet/efcore@v9.0.15...v9.0.16).
</details>

Updated
[Microsoft.EntityFrameworkCore.InMemory](https://github.com/dotnet/efcore)
from 9.0.15 to 9.0.16.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.EntityFrameworkCore.InMemory's
releases](https://github.com/dotnet/efcore/releases)._

## 9.0.16

[Release](https://github.com/dotnet/core/releases/tag/v9.0.16)

## What's Changed
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#37900
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#37969
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38034
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/efcore#38062
* [release/9.0] Update branding to 9.0.16 by @​vseanreesermsft in
dotnet/efcore#38063
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38053
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#37908
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#38099
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#38101
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/efcore#38098
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38170


**Full Changelog**:
dotnet/efcore@v9.0.15...v9.0.16

Commits viewable in [compare
view](dotnet/efcore@v9.0.15...v9.0.16).
</details>

Updated
[Microsoft.EntityFrameworkCore.Relational](https://github.com/dotnet/efcore)
from 9.0.15 to 9.0.16.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.EntityFrameworkCore.Relational's
releases](https://github.com/dotnet/efcore/releases)._

## 9.0.16

[Release](https://github.com/dotnet/core/releases/tag/v9.0.16)

## What's Changed
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#37900
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#37969
* [release/8.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38034
* [release/8.0] Update branding to 8.0.27 by @​vseanreesermsft in
dotnet/efcore#38062
* [release/9.0] Update branding to 9.0.16 by @​vseanreesermsft in
dotnet/efcore#38063
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38053
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#37908
* Merging internal commits for release/8.0 by @​vseanreesermsft in
dotnet/efcore#38099
* [automated] Merge branch 'release/8.0' => 'release/9.0' by
@​github-actions[bot] in dotnet/efcore#38101
* Merging internal commits for release/9.0 by @​vseanreesermsft in
dotnet/efcore#38098
* [release/9.0] Update dependencies from dotnet/arcade by
@​dotnet-maestro[bot] in dotnet/efcore#38170


**Full Changelog**:
dotnet/efcore@v9.0.15...v9.0.16

Commits viewable in [compare
view](dotnet/efcore@v9.0.15...v9.0.16).
</details>

Updated
[Microsoft.Extensions.Caching.Abstractions](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Caching.Abstractions's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.Extensions.Configuration](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Configuration's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.Extensions.Configuration.Binder](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Configuration.Binder's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated [Microsoft.Extensions.Hosting](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Hosting's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated [Microsoft.Extensions.Http](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Http's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated
[Microsoft.Extensions.Options.DataAnnotations](https://github.com/dotnet/dotnet)
from 10.0.7 to 10.0.8.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Extensions.Options.DataAnnotations's
releases](https://github.com/dotnet/dotnet/releases)._

No release notes found for this version range.

Commits viewable in [compare
view](https://github.com/dotnet/dotnet/commits).
</details>

Updated [Selenium.Support](https://github.com/SeleniumHQ/selenium) from
4.43.0 to 4.44.0.

<details>
<summary>Release notes</summary>

_Sourced from [Selenium.Support's
releases](https://github.com/SeleniumHQ/selenium/releases)._

## 4.44.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at da2039bd1456a161d0c284de16f9f4f179f1e8ca -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* fix(documentation): update artifact naming for generated docs by
@​diemol in SeleniumHQ/selenium#17332
* fix(ruby): retrieve devtools version dynamically for package
verification by @​diemol in
SeleniumHQ/selenium#17335
* [dotnet] Don't truncate internal log messages at error/warn levels by
@​nvborisenko in SeleniumHQ/selenium#17333
* [dotnet] Safe modifications of internal log handlers by @​nvborisenko
in SeleniumHQ/selenium#17334
* [dotnet] Remove planned obsoleted members for 4.44 by @​nvborisenko in
SeleniumHQ/selenium#17328
* [dotnet] [bidi] Statically declare commands by @​nvborisenko in
SeleniumHQ/selenium#17330
* [dotnet] [bidi] Statically declared events by @​nvborisenko in
SeleniumHQ/selenium#17331
* [dotnet] Add C# 14 extension to polyfill
`ArgumentNullException.ThrowIfNull` by @​RenderMichael in
SeleniumHQ/selenium#16697
* [dotnet] [bidi] Align SetDownloadBehavior command by @​nvborisenko in
SeleniumHQ/selenium#17336
* [dotnet] [bidi] Align ContinueWithAuth command by @​nvborisenko in
SeleniumHQ/selenium#17337
* [dotnet] [bidi] Align SetGeolocation polymorphic command by
@​nvborisenko in SeleniumHQ/selenium#17338
* [dotnet] [test] In-process test webserver by @​nvborisenko in
SeleniumHQ/selenium#17339
* [java] deprecate the 'native' methods inside the HttpClient interface
by @​joerg1985 in SeleniumHQ/selenium#17340
* CDDL 2 Python generator by @​AutomatedTester in
SeleniumHQ/selenium#16914
* Fix py:local_dev rake task by @​cgoldberg in
SeleniumHQ/selenium#17342
* [grid] Accept legacy session-closed event payloads by @​VietND96 in
SeleniumHQ/selenium#17343
* [java] specify nullability in package `org.openqa.selenium.remote` by
@​asolntsev in SeleniumHQ/selenium#17325
* fix NPE when response status is null by @​asolntsev in
SeleniumHQ/selenium#17348
* [java] fix NoSuchElementException for custom By locators by
@​Chandan25sharma in SeleniumHQ/selenium#17287
* [py] Update docs with pytest example and minor formatting fixes by
@​cgoldberg in SeleniumHQ/selenium#17351
* [dotnet] Fix stopping of network monitoring via DevTools by
@​nvborisenko in SeleniumHQ/selenium#17352
* [dotnet] [test] Update tests to target .NET 10 by @​nvborisenko in
SeleniumHQ/selenium#17353
* [build] Clean extra tools from GHA runner to free disk space by
@​cgoldberg in SeleniumHQ/selenium#17360
* Initial Creation of the Selenium CLI Tool by @​AutomatedTester in
SeleniumHQ/selenium#17327
* [java] fix some nullability warnings by @​asolntsev in
SeleniumHQ/selenium#17362
* [py] Use generated Bidi files instead of hand curated ones by
@​AutomatedTester in SeleniumHQ/selenium#17266
* [docs] Add AI-assisted contribution policy by @​titusfortner in
SeleniumHQ/selenium#17043
* [Agents] Update agents to make sure do linting. by @​AutomatedTester
in SeleniumHQ/selenium#17366
* [py] Bump dependencies by @​cgoldberg in
SeleniumHQ/selenium#17368
* [git] update gitignore to exclude mempalace by @​AutomatedTester in
SeleniumHQ/selenium#17369
* [java] remove field `ChromiumDriver.capabilities` by @​asolntsev in
SeleniumHQ/selenium#17363
* [spec] Use http_file for the cddl files by @​AutomatedTester in
SeleniumHQ/selenium#17372
* [dotnet] [bidi] Obsolete Type(string) method in Input module by
@​nvborisenko in SeleniumHQ/selenium#17377
* Fix Network failures by @​AutomatedTester in
SeleniumHQ/selenium#17381
* [java] [test] Unignore bidi network conditions tests for Firefox by
@​nvborisenko in SeleniumHQ/selenium#17385
* [dotnet] [test] Unignore network conditions tests for Firefox by
@​nvborisenko in SeleniumHQ/selenium#17386
* [dotnet] [test] Migrate to MTP by @​nvborisenko in
SeleniumHQ/selenium#17384
* [dotnet] Support `UnhandledPromptBehavior` option as string and map
(breaking change) by @​nvborisenko in
SeleniumHQ/selenium#16557
 ... (truncated)

Commits viewable in [compare
view](SeleniumHQ/selenium@selenium-4.43.0...selenium-4.44.0).
</details>

Updated [Selenium.WebDriver](https://github.com/SeleniumHQ/selenium)
from 4.43.0 to 4.44.0.

<details>
<summary>Release notes</summary>

_Sourced from [Selenium.WebDriver's
releases](https://github.com/SeleniumHQ/selenium/releases)._

## 4.44.0

## Detailed Changelogs by Component

<img src="https://www.selenium.dev/images/programming/java.svg"
width="20" height="20">
**[Java](https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/python.svg" width="20"
height="20">
**[Python](https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/dotnet.svg" width="20"
height="20">
**[DotNet](https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/ruby.svg" width="20"
height="20">
**[Ruby](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES)**
&nbsp;&nbsp;&nbsp; | &nbsp;&nbsp;&nbsp;<img
src="https://www.selenium.dev/images/programming/javascript.svg"
width="20" height="20">
**[JavaScript](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md)**
<br>


<!-- Release notes generated using configuration in .github/release.yml
at da2039bd1456a161d0c284de16f9f4f179f1e8ca -->

## What's Changed
<details>
<summary>Click to see all the changes included in this release</summary>

* fix(documentation): update artifact naming for generated docs by
@​diemol in SeleniumHQ/selenium#17332
* fix(ruby): retrieve devtools version dynamically for package
verification by @​diemol in
SeleniumHQ/selenium#17335
* [dotnet] Don't truncate internal log messages at error/warn levels by
@​nvborisenko in SeleniumHQ/selenium#17333
* [dotnet] Safe modifications of internal log handlers by @​nvborisenko
in SeleniumHQ/selenium#17334
* [dotnet] Remove planned obsoleted members for 4.44 by @​nvborisenko in
SeleniumHQ/selenium#17328
* [dotnet] [bidi] Statically declare commands by @​nvborisenko in
SeleniumHQ/selenium#17330
* [dotnet] [bidi] Statically declared events by @​nvborisenko in
SeleniumHQ/selenium#17331
* [dotnet] Add C# 14 extension to polyfill
`ArgumentNullException.ThrowIfNull` by @​RenderMichael in
SeleniumHQ/selenium#16697
* [dotnet] [bidi] Align SetDownloadBehavior command by @​nvborisenko in
SeleniumHQ/selenium#17336
* [dotnet] [bidi] Align ContinueWithAuth command by @​nvborisenko in
SeleniumHQ/selenium#17337
* [dotnet] [bidi] Align SetGeolocation polymorphic command by
@​nvborisenko in SeleniumHQ/selenium#17338
* [dotnet] [test] In-process test webserver by @​nvborisenko in
SeleniumHQ/selenium#17339
* [java] deprecate the 'native' methods inside the HttpClient interface
by @​joerg1985 in SeleniumHQ/selenium#17340
* CDDL 2 Python generator by @​AutomatedTester in
SeleniumHQ/selenium#16914
* Fix py:local_dev rake task by @​cgoldberg in
SeleniumHQ/selenium#17342
* [grid] Accept legacy session-closed event payloads by @​VietND96 in
SeleniumHQ/selenium#17343
* [java] specify nullability in package `org.openqa.selenium.remote` by
@​asolntsev in SeleniumHQ/selenium#17325
* fix NPE when response status is null by @​asolntsev in
SeleniumHQ/selenium#17348
* [java] fix NoSuchElementException for custom By locators by
@​Chandan25sharma in SeleniumHQ/selenium#17287
* [py] Update docs with pytest example and minor formatting fixes by
@​cgoldberg in SeleniumHQ/selenium#17351
* [dotnet] Fix stopping of network monitoring via DevTools by
@​nvborisenko in SeleniumHQ/selenium#17352
* [dotnet] [test] Update tests to target .NET 10 by @​nvborisenko in
SeleniumHQ/selenium#17353
* [build] Clean extra tools from GHA runner to free disk space by
@​cgoldberg in SeleniumHQ/selenium#17360
* Initial Creation of the Selenium CLI Tool by @​AutomatedTester in
SeleniumHQ/selenium#17327
* [java] fix some nullability warnings by @​asolntsev in
SeleniumHQ/selenium#17362
* [py] Use generated Bidi files instead of hand curated ones by
@​AutomatedTester in SeleniumHQ/selenium#17266
* [docs] Add AI-assisted contribution policy by @​titusfortner in
SeleniumHQ/selenium#17043
* [Agents] Update agents to make sure do linting. by @​AutomatedTester
in SeleniumHQ/selenium#17366
* [py] Bump dependencies by @​cgoldberg in
SeleniumHQ/selenium#17368
* [git] update gitignore to exclude mempalace by @​AutomatedTester in
SeleniumHQ/selenium#17369
* [java] remove field `ChromiumDriver.capabilities` by @​asolntsev in
SeleniumHQ/selenium#17363
* [spec] Use http_file for the cddl files by @​AutomatedTester in
SeleniumHQ/selenium#17372
* [dotnet] [bidi] Obsolete Type(string) method in Input module by
@​nvborisenko in SeleniumHQ/selenium#17377
* Fix Network failures by @​AutomatedTester in
SeleniumHQ/selenium#17381
* [java] [test] Unignore bidi network conditions tests for Firefox by
@​nvborisenko in SeleniumHQ/selenium#17385
* [dotnet] [test] Unignore network conditions tests for Firefox by
@​nvborisenko in SeleniumHQ/selenium#17386
* [dotnet] [test] Migrate to MTP by @​nvborisenko in
SeleniumHQ/selenium#17384
* [dotnet] Support `UnhandledPromptBehavior` option as string and map
(breaking change) by @​nvborisenko in
SeleniumHQ/selenium#16557
 ... (truncated)

Commits viewable in [compare
view](SeleniumHQ/selenium@selenium-4.43.0...selenium-4.44.0).
</details>

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 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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-dotnet .NET Bindings

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[🐛 Bug]: C# - v4.42.0 - After calling StopMonitoring() all further requests stay in state pending

3 participants