Skip to content

Conversation

@pavelsavara
Copy link
Member

@pavelsavara pavelsavara commented Nov 28, 2023

HTTP

  • are now using automatic dispatch to correct thread via [browser][MT] JSImport dispatch to target thread via JSSynchronizationContext #96319
  • are modified to be bit more thread safe and also to not deadlock
  • introduced HttpController helper object on the JavaScript side
  • unified http_wasm_transform_stream_abort into regular abort. Abort request will also abort response if any.
  • renamed WasmFetchResponse to BrowserHttpController
    • moved CallFetch and header construction logic to it.
    • simplified logic of awaiting closePromise and fetchPromise and observing the errors
  • renamed WasmHttpWriteStream to BrowserHttpWriteStream
  • added new unit test into WebWorkerTest which test client usage across thread boundaries.
  • added MT HTTP test to MT smoke tests
  • System.Net.Http.Functional.Tests, now also run xunit on thread pool in MT

Other

  • simplified JSWebWorker
  • fixed setup_proxy_console for early disconnect
  • dropped SynchronizationContextExtension
  • dropped JSHost.CurrentOrMainJSSynchronizationContext

Fixes #96173
Fixes #75123

@pavelsavara pavelsavara added arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm labels Nov 28, 2023
@pavelsavara pavelsavara added this to the 9.0.0 milestone Nov 28, 2023
@pavelsavara pavelsavara requested a review from maraf November 28, 2023 23:40
@pavelsavara pavelsavara self-assigned this Nov 28, 2023
@ghost
Copy link

ghost commented Nov 28, 2023

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

null

Author: pavelsavara
Assignees: pavelsavara
Labels:

arch-wasm, area-System.Runtime.InteropServices.JavaScript, os-browser

Milestone: 9.0.0

@pavelsavara

This comment was marked as outdated.

@pavelsavara pavelsavara force-pushed the browser_jsimport_sc_dispatch branch 2 times, most recently from ec2fc61 to 730b5ec Compare December 12, 2023 13:32
@pavelsavara pavelsavara force-pushed the browser_jsimport_sc_dispatch branch 2 times, most recently from 8b6ae1e to b22f15c Compare December 16, 2023 21:17
@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara

This comment was marked as outdated.

@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara
Copy link
Member Author

There is [11:24:42] fail: Application has finished with exit code TIMED_OUT but 0 was expected in System.Runtime.InteropServices.JavaScript.Tests
Log

I will work on it as part of #96628

@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara
Copy link
Member Author

CI failures are
#97217
thread join issue from #96628
and some random infra issue with System.Net.Mail.Unit.Tests Log

@pavelsavara pavelsavara merged commit 756a138 into dotnet:main Jan 21, 2024
@pavelsavara pavelsavara deleted the browser_jsimport_sc_dispatch branch January 21, 2024 10:39
tmds pushed a commit to tmds/runtime that referenced this pull request Jan 23, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Feb 21, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[browser][MT] deadlock in BrowserWebSocket when used from multiple threads [browser][MT] System.Xml.Tests.TC_SchemaSet_Add_URL.v4

4 participants