Skip to content

Fix MultiChannel inner channel type constraint documentation - #2491

Merged
natebosch merged 7 commits into
dart-lang:mainfrom
amanmaurya92:fix-multichannel-example
Aug 6, 2026
Merged

natebosch merged 7 commits into
dart-lang:mainfrom
amanmaurya92:fix-multichannel-example

Conversation

@amanmaurya92

Copy link
Copy Markdown
Contributor

Fixes #2401

This PR addresses a runtime type mismatch issue when using MultiChannel with strictly typed channels.

What this PR changes:

  • example.dart: Changes the underlying StreamChannelController type to <dynamic>, as MultiChannel requires a transport channel capable of receiving List envelopes.
  • multi_channel.dart: Clarifies the MultiChannel documentation and updates the code snippet to correctly transmit the channel ID without causing type conflicts.

  • I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:

Many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

Note: The Dart team is trialing Gemini Code Assist. Don't take its comments as final Dart team feedback. Use the suggestions if they're helpful; otherwise, wait for a human reviewer.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the MultiChannel documentation and examples to clarify that the underlying channel must be typed to accept dynamic or List to avoid runtime TypeErrors, and simplifies the channel ID transmission in the example. Feedback suggests adding an explicit cast (as int) to the channel ID in the example code to ensure compatibility with strict static analysis configurations.

@amanmaurya92 amanmaurya92 changed the title Fix MultiChannel inner channel type constraint documentation and exam… Fix MultiChannel inner channel type constraint documentation Aug 5, 2026
@amanmaurya92
amanmaurya92 requested a review from natebosch August 6, 2026 01:37
@natebosch
natebosch merged commit 7760774 into dart-lang:main Aug 6, 2026
7 checks passed
amanmaurya92 added a commit to amanmaurya92/dart-tools that referenced this pull request Aug 8, 2026
…ng#2491)

Closes dart-lang#2401

Addresses a runtime type mismatch issue when using `MultiChannel` with
strictly typed channels. 

- **`example.dart`**: Change the underlying `StreamChannelController`
  type to `<Object>`, as `MultiChannel` requires a transport channel
  capable of receiving `List` envelopes.
- **`multi_channel.dart`**: Clarifies the `MultiChannel` documentation
  and updates the code snippet to correctly transmit the channel ID
  without causing type conflicts.
copybara-service Bot pushed a commit to dart-lang/sdk that referenced this pull request Aug 11, 2026
Revisions updated by `dart tools/rev_sdk_deps.dart`.

dartdoc (https://github.com/dart-lang/dartdoc/compare/1fd02f7..8be851e):
  8be851e2  Mon Aug 10 13:51:08 2026 +0200  Sarah Zakarias  Bump to 9.0.9 (dart-lang/dartdoc#4278)

http (https://github.com/dart-lang/http/compare/9cb80c7..a9176ac):
  a9176ac  Mon Aug 10 13:27:26 2026 +0200  dart-ecosystem-bot[bot]  Tidy: package:http2 (dart-lang/http#1967)
  9bd9ccb  Sat Aug 8 06:31:37 2026 +0300  Ellet  chore(ok_http): migrate to jni 1.0.0 (dart-lang/http#1943)
  107e4c7  Sat Aug 8 04:54:46 2026 +0300  Yauhen Sampir  [cronet_http] Add DNS configuration options to CronetEngine.build (dart-lang/http#1945)
  55c39c9  Sat Aug 8 07:57:20 2026 +0800  Seven Du  Fix RFC 850 two-digit year parsing (dart-lang/http#1951)
  c71cb6d  Sat Aug 8 01:47:35 2026 +0200  Moritz  Add ecosystem groundskeeper workflow (dart-lang/http#1959)

test (https://github.com/dart-lang/test/compare/dd426d4..55b186d):
  55b186dd  Mon Aug 10 22:18:01 2026 +0200  Sigurd Meldgaard  Fix race conditions in Chrome coverage collection (dart-lang/test#2715)
  51463b0e  Mon Aug 10 21:59:15 2026 +0300  Yusuf İhsan Görgel  Keep the browser executable env override through a settings merge (dart-lang/test#2722)
  b87a2492  Fri Aug 7 12:07:52 2026 -0700  Jacob MacDonald  Enable asserts (dart-lang/test#2719)

tools (https://github.com/dart-lang/tools/compare/f3ec9ed..d644cda):
  d644cdab  Mon Aug 10 11:24:43 2026 +0200  Sigurd Meldgaard  [pub_semver] Parse only pure-digit prerelease/build identifiers as integers (dart-lang/tools#2489)
  df06fed9  Fri Aug 7 15:37:45 2026 -0700  Nate Bosch  Update to Dart 3.10.0 and reformat (dart-lang/tools#2502)
  aec21dae  Fri Aug 7 14:23:11 2026 -0700  Nate Bosch  [code_builder] Minor style fixes (dart-lang/tools#2501)
  1bbcc309  Fri Aug 7 13:56:38 2026 -0700  Nate Bosch  Revert "[code_builder] Add control-flow support (`#2135`)" (dart-lang/tools#2499)
  77607740  Fri Aug 7 01:59:58 2026 +0530  Aman Maurya  Fix MultiChannel inner channel type constraint documentation (dart-lang/tools#2491)
  889787a8  Thu Aug 6 12:56:22 2026 -0700  Nate Bosch  Roll to the latest package:csv (dart-lang/tools#2497)

[email protected]

Change-Id: I4cb9a8839c9ae21c57eca7750c81fdbd1a58a09c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/534341
Auto-Submit: Nate Bosch <[email protected]>
Reviewed-by: Kevin Moore <[email protected]>
Commit-Queue: Kevin Moore <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

sink.add() throws when using typed message

2 participants