youtube_player_flutter icon indicating copy to clipboard operation
youtube_player_flutter copied to clipboard

[BUG] error when disposing the controller

Open errajibadr opened this issue 2 years ago • 10 comments

Describe the bug there is an issue when disposing the youtube controller

Error: UnimplementedError: removeJavaScriptChannel is not implemented on the current platform dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49 throw packages/webview_flutter_platform_interface/src/platform_webview_controller.dart 205:5 removeJavaScriptChannel packages/webview_flutter/src/webview_controller.dart 215:21 removeJavaScriptChannel packages/youtube_player_iframe/src/controller/youtube_player_controller.dart 671:29 close

To Reproduce basic steps

Expected behavior dispose without errors

Technical Details:

  • Chrome

Additional context when scrolling in sliverList. disposing it raises error.

errajibadr avatar Jan 29 '23 10:01 errajibadr

Me too, did try catch temporarily

YouROK avatar Mar 15 '23 21:03 YouROK

Where did you try catch @YouROK ? In your code? where?

sunilguptasg avatar Apr 28 '23 17:04 sunilguptasg

Where did you try catch @YouROK ? In your code? where?

I think they probably mean they're wrapping the .close() / .dispose() method of the controller in a try/catch

e.g.

@override
void dispose() {
  try {
    _controller.close();
  } catch(e) {
    print(e);
  }
}

carman247 avatar May 10 '23 07:05 carman247

nope, still get this error:

Error: UnimplementedError: removeJavaScriptChannel is not implemented on the current platform C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49 throw packages/webview_flutter_platform_interface/src/platform_webview_controller.dart 205:5 removeJavaScriptChannel packages/webview_flutter/src/webview_controller.dart 271:21 removeJavaScriptChannel packages/youtube_player_iframe/src/controller/youtube_player_controller.dart 671:29 close

sunilguptasg avatar Jul 05 '23 07:07 sunilguptasg

Any fix for this yet?

sdkysfzai avatar Aug 22 '23 13:08 sdkysfzai

I have the same issue

GBurg avatar Sep 28 '23 08:09 GBurg

I have the same issue

JgomesAT avatar Feb 21 '24 11:02 JgomesAT

Console log:

The platformViewRegistry getter is deprecated and will be removed in a future release. Please import it from `dart:ui_web` instead.
Error: UnimplementedError: removeJavaScriptChannel is not implemented on the current platform
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 297:3             throw_
packages/webview_flutter_platform_interface/src/platform_webview_controller.dart 206:5  removeJavaScriptChannel
packages/webview_flutter/src/webview_controller.dart 306:21                             removeJavaScriptChannel
packages/youtube_player_iframe/src/controller/youtube_player_controller.dart 674:29     close
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50                      <fn>
dart-sdk/lib/async/zone.dart 1661:54                                                    runUnary
dart-sdk/lib/async/future_impl.dart 162:18                                              handleValue
dart-sdk/lib/async/future_impl.dart 838:44                                              handleValueCallback
dart-sdk/lib/async/future_impl.dart 867:13                                              _propagateToListeners
dart-sdk/lib/async/future_impl.dart 643:5                                               [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 542:11                                              <fn>
packages/flutter/src/foundation/synchronous_future.dart 43:39                           then
dart-sdk/lib/async/future_impl.dart 538:13                                              [_chainForeignFuture]
dart-sdk/lib/async/future_impl.dart 896:19                                              _propagateToListeners
dart-sdk/lib/async/future_impl.dart 464:9                                               callback
dart-sdk/lib/async/schedule_microtask.dart 40:11                                        _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5                                         _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 181:7                      <fn>

As per log the error causing code is at

packages/youtube_player_iframe/src/controller/youtube_player_controller.dart 674:29 close

  /// Disposes the resources created by [YoutubePlayerController].
  Future<void> close() async {
    await stopVideo();
    await webViewController.removeJavaScriptChannel(_youtubeJSChannelName); <--This line
    await _eventHandler.videoStateController.close();
    await _valueController.close();
  }

Shubham-VE avatar Apr 29 '24 09:04 Shubham-VE

same here

c-seeger avatar Jul 30 '24 07:07 c-seeger