WalletConnectUnity icon indicating copy to clipboard operation
WalletConnectUnity copied to clipboard

Connecting to Metamask doesn't work for most of the people

Open ammarvohra opened this issue 5 months ago • 24 comments

@skibitsky Describe the bug WalletConnect model view open up, click on MetaMask and sometimes the popup is blank and sometime user doesn't get connect popup on MetaMask and when they get, sometimes they are not redirected back to the game. This happens with lot of phone models and that is serious issue we got right now on our plate. Please help me resolve this issue

Expected behavior Expected to connect with the wallet

Screenshots Skype_Picture_2024_08_30T10_55_03_145Z

Environment

  • OS: Windows
  • Unity version 2022.3.20
  • WalletConnectUnity Modal v1.1.11

Is this happening in Unity Editor or on a player like Android, iOS, Windows? We just have Android version right now and it's happening in that

Wallets used for testing MetaMask

Additional context Bug report from Crashlytics:

       Fatal Exception: java.lang.Exception: AggregateException : One or more errors occurred. (Unable to connect to the remote server)
       at System.Threading.Tasks.Task.ThrowIfExceptional(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task`1[TResult].GetResultCore(System.Threading.Tasks.Task`1[TResult])
       at WalletConnectSharp.Common.Utils.Extensions.WithTimeout[T](WalletConnectSharp.Common.Utils.Extensions)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task`1[TResult].TrySetResult(System.Threading.Tasks.Task`1[TResult])
       at System.Threading.Tasks.TaskFactory+CompleteOnInvokePromise.Invoke(System.Threading.Tasks.TaskFactory+CompleteOnInvokePromise)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Core.Controllers.Relayer.Request[T,TR](WalletConnectSharp.Core.Controllers.Relayer)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Network.JsonRpcProvider.Request[T,TR](WalletConnectSharp.Network.JsonRpcProvider)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Network.JsonRpcProvider.Connect(WalletConnectSharp.Network.JsonRpcProvider)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.ThreadPoolWorkQueue.Dispatch(System.Threading.ThreadPoolWorkQueue)
       at WalletConnectSharp.Core.Controllers.Subscriber.RpcBatchSubscribe(WalletConnectSharp.Core.Controllers.Subscriber)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Common.Utils.Extensions.WithTimeout[T](WalletConnectSharp.Common.Utils.Extensions)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task`1[TResult].TrySetResult(System.Threading.Tasks.Task`1[TResult])
       at System.Threading.Tasks.TaskFactory+CompleteOnInvokePromise.Invoke(System.Threading.Tasks.TaskFactory+CompleteOnInvokePromise)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Core.Controllers.Relayer.Request[T,TR](WalletConnectSharp.Core.Controllers.Relayer)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Network.JsonRpcProvider.Request[T,TR](WalletConnectSharp.Network.JsonRpcProvider)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Network.JsonRpcProvider.Connect(WalletConnectSharp.Network.JsonRpcProvider)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.ThreadPoolWorkQueue.Dispatch(System.Threading.ThreadPoolWorkQueue)
       at WalletConnectSharp.Core.Controllers.Subscriber.BatchSubscribe(WalletConnectSharp.Core.Controllers.Subscriber)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Core.Controllers.Subscriber.RpcBatchSubscribe(WalletConnectSharp.Core.Controllers.Subscriber)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Common.Utils.Extensions.WithTimeout[T](WalletConnectSharp.Common.Utils.Extensions)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task`1[TResult].TrySetResult(System.Threading.Tasks.Task`1[TResult])
       at System.Threading.Tasks.TaskFactory+CompleteOnInvokePromise.Invoke(System.Threading.Tasks.TaskFactory+CompleteOnInvokePromise)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Core.Controllers.Relayer.Request[T,TR](WalletConnectSharp.Core.Controllers.Relayer)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Network.JsonRpcProvider.Request[T,TR](WalletConnectSharp.Network.JsonRpcProvider)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Network.JsonRpcProvider.Connect(WalletConnectSharp.Network.JsonRpcProvider)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.ThreadPoolWorkQueue.Dispatch(System.Threading.ThreadPoolWorkQueue)
       at WalletConnectSharp.Core.Controllers.Subscriber.CheckPending(WalletConnectSharp.Core.Controllers.Subscriber)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Core.Controllers.Subscriber.BatchSubscribe(WalletConnectSharp.Core.Controllers.Subscriber)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Core.Controllers.Subscriber.RpcBatchSubscribe(WalletConnectSharp.Core.Controllers.Subscriber)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Common.Utils.Extensions.WithTimeout[T](WalletConnectSharp.Common.Utils.Extensions)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task`1[TResult].TrySetResult(System.Threading.Tasks.Task`1[TResult])
       at System.Threading.Tasks.TaskFactory+CompleteOnInvokePromise.Invoke(System.Threading.Tasks.TaskFactory+CompleteOnInvokePromise)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Core.Controllers.Relayer.Request[T,TR](WalletConnectSharp.Core.Controllers.Relayer)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Network.JsonRpcProvider.Request[T,TR](WalletConnectSharp.Network.JsonRpcProvider)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Threading.Tasks.AwaitTaskContinuation)
       at System.Threading.Tasks.Task.FinishContinuations(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.Finish(System.Threading.Tasks.Task)
       at System.Threading.Tasks.Task.TrySetException(System.Threading.Tasks.Task)
       at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult].SetException(System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[TResult])
       at WalletConnectSharp.Network.JsonRpcProvider.Connect(WalletConnectSharp.Network.JsonRpcProvider)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run(System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner)
       at System.Threading.ThreadPoolWorkQueue.Dispatch(System.Threading.ThreadPoolWorkQueue)
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_1(System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c)
       at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext)
       at System.Threading.ThreadPoolWorkQueue.Dispatch(System.Threading.ThreadPoolWorkQueue)

ammarvohra avatar Aug 30 '24 10:08 ammarvohra