private void ShowNewError(string message, IStackFrame[] stack, int errorCookie)
        {
            DispatcherHelpers.RunOnDispatcher(() =>
            {
                if (_redBoxDialog == null)
                {
                    _redBoxDialog = new RedBoxDialog(HandleReloadJavaScript);
                }

                if (_redBoxDialogOpen)
                {
                    return;
                }

                _redBoxDialogOpen         = true;
                _redBoxDialog.ErrorCookie = errorCookie;
                _redBoxDialog.Message     = message;
                _redBoxDialog.StackTrace  = stack;
                _redBoxDialog.Closed     += (_, __) =>
                {
                    _redBoxDialogOpen    = false;
                    _dismissRedBoxDialog = null;
                    _redBoxDialog        = null;
                };

                var asyncInfo        = _redBoxDialog.ShowAsync();
                _dismissRedBoxDialog = asyncInfo.Cancel;
            });
        }
        private void ShowNewError(string message, IStackFrame[] stack, int errorCookie)
        {
            DispatcherHelpers.RunOnDispatcher(() =>
            {
                if (_redBoxDialog == null)
                {
                    _redBoxDialog = new RedBoxDialog(HandleReloadJavaScript);
                }

                if (_redBoxDialogOpen)
                {
                    return;
                }

                _redBoxDialogOpen         = true;
                _redBoxDialog.ErrorCookie = errorCookie;
                _redBoxDialog.Message     = message;
                _redBoxDialog.StackTrace  = stack;
                _redBoxDialog.Closed     += (_, __) =>
                {
                    _redBoxDialogOpen    = false;
                    _dismissRedBoxDialog = null;
                    _redBoxDialog        = null;
                };

#if WINDOWS_UWP
                var asyncInfo        = _redBoxDialog.ShowAsync();
                _dismissRedBoxDialog = asyncInfo.Cancel;
#else
                if (Application.Current != null && Application.Current.MainWindow != null && Application.Current.MainWindow.IsLoaded)
                {
                    _redBoxDialog.Owner = Application.Current.MainWindow;
                }
                else
                {
                    _redBoxDialog.Topmost = true;
                    _redBoxDialog.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                }

                _dismissRedBoxDialog = _redBoxDialog.Close;
                _redBoxDialog.ShowDialog();
#endif
            });
        }
        //TODO:  Use log to instead temporarily
        private void ShowNewError(string message, IStackFrame[] stack, int errorCookie)
        {
            RNTracer.Error(ReactConstants.Tag, "[RN_EXCEPTION] DevSupportManager::ShowNewError:[" + message + "]");

            DispatcherHelpers.RunOnDispatcher(() =>
            {
                if (_redBoxDialog == null)
                {
                    _redBoxDialog = new RedBoxDialog(HandleReloadJavaScript);
                }
                if (_redBoxDialogOpen)
                {
                    return;
                }
                _redBoxDialogOpen         = true;
                _redBoxDialog.ErrorCookie = errorCookie;
                _redBoxDialog.Message     = message;
                _redBoxDialog.StackTrace  = stack;
                _redBoxDialog.Closed     += (_, __) =>
                {
                    _redBoxDialogOpen    = false;
                    _dismissRedBoxDialog = null;
                    _redBoxDialog        = null;
                };


                //if (Application.Current != null && Application.Current.MainWindow != null && Application.Current.MainWindow.IsLoaded)
                //{
                //    _redBoxDialog.Owner = Application.Current.MainWindow;
                //}
                //else
                //{
                //    _redBoxDialog.Topmost = true;
                //    _redBoxDialog.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                //}
                _dismissRedBoxDialog = _redBoxDialog.Close;
                _redBoxDialog.Show();
            });
        }
        private void ShowNewError(string message, IStackFrame[] stack, int errorCookie)
        {
            DispatcherHelpers.RunOnDispatcher(() =>
            {
                if (_redBoxDialog == null)
                {
                    _redBoxDialog = new RedBoxDialog(HandleReloadJavaScript);
                }

                if (_redBoxDialogOpen)
                {
                    return;
                }

                _redBoxDialogOpen = true;
                _redBoxDialog.ErrorCookie = errorCookie;
                _redBoxDialog.Message = message;
                _redBoxDialog.StackTrace = stack;
                _redBoxDialog.Closed += (_, __) =>
                {
                    _redBoxDialogOpen = false;
                    _dismissRedBoxDialog = null;
                    _redBoxDialog = null;
                };

#if WINDOWS_UWP
                var asyncInfo = _redBoxDialog.ShowAsync();
                _dismissRedBoxDialog = asyncInfo.Cancel;
#else
                var asyncInfo = _redBoxDialog.ShowDialog();
                _dismissRedBoxDialog = _redBoxDialog.Hide;
#endif
            });
        }