Closed x0axz closed 3 years ago
@horationunez what I noticed is that, when Issuer sends a credential proposal to mobile or issue credentials to mobile OR verifier asks from mobile to verify the credentials by presenting proof, when Mediator Received the Payload from Issuer/Verifier, mobile stops sending an Agent Message (which mobile sends to mediator after 3 second time interval) to check if mediator has any message for it.
Sometimes after many minutes later, mediator starts receiving messages or sometime after restarting the mediator, it start receiving messages.
I never faced this kind of behavior before, I haven't change anything in the code. Is there any thing maybe I'm doing wrong?
You should have a lot of control when it comes to check for new Messages in the Mediator. In this line we explicitly request to check for new messages.
Are you also using the latest possible Mediator package?
If you keep having problems I'm happy to jump on a call to help you debug the problem later this week.
You can setup a time in this link: https://calendly.com/merthin/ariesmax
Thanks for response, actually we compared the code with older version and didn't found any much differences. Downgrade the packages, still we see the delays.
Thank you for taking the time, could you give us time in tomorrow or the day after tomorrow?
No worries. The day after tomorrow sounds good +1
Thanks. Add a slot in calendar.
Hi @horationunez , I downgrade the Hyperledger.Aries.Routing.Edge
to 1.2.9
in Mobile app, which is same as in Mediator, and the delay isn't too long now.
I didn't understand why downgrading the aries packages in mobile and mediator, take less time to Establish Connection, Issue Credentials and Verify Credentials, compared to latest aries packages.
Solved the Problem!!!
In App.xml.cs
, there is a function OnStart()
, where the mediator timer is set to enabled. What I was doing wrong was, I put the statement (timer.Enabled = true;
) inside the else
statement, which is wrong. It should be outside of curly brackets because It has to be enabled no matter which condition become true.
protected override async void OnStart()
{
if (Preferences.Get(AppConstant.LocalWalletProvisioned, false))
{ }
else
{ }
timer.Enabled = true;
}
2 Months ago, updated the
Hyperledger.Aries.Routing.Edge
to1.6.1
from1.4.0
and last week I noticed that we were getting an error in Presentation Proof, used the older version of agents and were still getting that same error. Noticed, that mediator got stuck and wasn't updating (after every 10 seconds, it route messages to mobile agent from issuer/verifier agent).Now, using
1.4.0
again and Connections are most of time stuck in Negotiating, Credentials in Requested state e.t.c, and all these issues because of the reason that Mediator stuck and isn't routing messages.I only noticed this error in mediator logs few times.