Brian Quinlan
Brian Quinlan
As far as I can see `await process.stdin.flush()` doesn't actually do anything.
In my theoretical world, the `flush` is necessary because it keeps the `runZonedGuarded` alive until the `Stream` gets cleaned-up and the exception generated. But I don't know why `Future.delayed` is...
My plan right now is to capture the error from the socket and then surface it in `process.stdin.flush()`.
I traced through this a bit more and the exception is lost in [`_StreamSinkImpl._completeDoneError`](https://github.com/sestegra/sdk/blob/a683a5822fa8bc41b61a8228757158b51c67a11b/sdk_nnbd/lib/io/io_sink.dart#L229), which is called from [`_StreamSinkImpl_controller`](https://github.com/sestegra/sdk/blob/a683a5822fa8bc41b61a8228757158b51c67a11b/sdk_nnbd/lib/io/io_sink.dart#L265). So I can work around the issue with: ```dart process.stdin.done .onError((error,...
```diff if (_modeHasStdio(_mode)) { // stdin going to process. _stdin = new _StdSink(new _Socket._writePipe().._owner = this); + _stdin!.done.ignore(); // stdout coming from process. _stdout = new _StdStream(new _Socket._readPipe().._owner = this);...
@TijnvandenEijnde Thanks for very the detailed bug report! My first impression is that this would be difficult to support because the `HttpClient` API assumes that the complete set of headers...
@TijnvandenEijnde That's so much and let us know if `package:cronet_http` fixes the problem.
My initial thought is that this doesn't belong in `File` unless the API for accessing these URIs is identical to how files are accessed i.e. through `open`, `read`, etc. POSIX...
@devfemibadmus In your example, does converting the `content:` URI to a file path result in `Image.file` working?
> so what do we use? File? I think that using `File` is the wrong solution. This seems like an Android-specific problem that, as @stuartmorgan said, can be solved with...