2.1 KiB
Binary Hub Protocol (wire) — Known Issues
For planned/actionable work see SIGNALR_BINARY_PROTOCOL_TODO.md.
For higher-level SignalR abstractions see SIGNALR_ISSUES.md.
ISSUE-01: AsyncSegment send-path unsupported on WebAssembly
Severity: Major (on WASM) · Status: Workaround-in-place · Area: AsyncPipeWriterOutput / WASM runtime
Description
AsyncPipeWriterOutput.SyncAwaitFlush uses Task.Wait(timeout) — deadlocks the single-threaded WASM UI thread. Therefore, WASM clients cannot SEND with AsyncSegment mode.
Known workaround (multi-layer)
AcBinaryHubProtocolOptions.Validate()throwsPlatformNotSupportedExceptionif WASM + AsyncSegment combination is requested → prevents deadlock- Consumer code-level safety-net downgrades
AsyncSegment → Segmenton WASM (seeFruitBankHybrid.Web.Client/Program.csConfigure lambda) - Receive-path on WASM is fully supported —
SegmentBufferReaderInputwith synchronous fallback atCHUNK_ENDmeans WASM clients CAN receive AsyncSegment-chunked data from a non-WASM sender, they just cannot send AsyncSegment themselves
Related TODO
None — architectural constraint of browser WASM threading model.
ISSUE-02: StaticWebAssets SDK "Illegal characters" noise (consumer build)
Severity: Cosmetic (non-blocking) · Status: Upstream SDK limitation · Area: SDK, not our code
Description
Consumer projects using Microsoft.NET.Sdk.BlazorWebAssembly may see "Illegal characters in path" errors in the VS design-time error list. Originates from the SDK's DefineStaticWebAssets task calling legacy FileIOPermission.EmulateFileIOPermissionChecks, which is stricter than NTFS (e.g., double spaces or certain path patterns in any wwwroot asset trigger it).
Build succeeds, app runs — the "error" is error-list-only.
Known workaround
Ignore the error-list entry. If it becomes truly blocking, inspect wwwroot (including transitive from RCL projects) for problematic filenames (double spaces, control chars, reserved chars).
Related TODO
None — upstream SDK fix required.