Offline capabilities
Thursday, November 7, 2019 at 10:22amHi!
We are integrating the eSign SDK for iOs and our application is "offline first". Everything has to be smooth without an internet connexion.
We have two issues right now in offline mode.
1- If we launch the app with an internet connection, then go on airplane mode and start a pdf transaction, we get an Error 500 for the server and cannot start the signing process. But if we kill the app, restart (in offline mode) everything is working great. We seem to have this problem only when the internet connection dropped just before the call to login in eSign SDK. Have you experiment such an issue and do you have a workaround for it?
2. We are trying to force sync pdf transactions made offline, but the call to 'startSyncing' doesn't send the signed PDF to the cloud at the time of call. It seems to be send it randomly in future time (for exemple when signing an other document while online).
Thank you for your help!
Remi Mongeau
Reply to: Offline capabilities
Friday, November 8, 2019 at 10:22am[eSignLiveKit startSyncing];
, the queue status was up and transactions in the queue was marked as "under synchronizing", while I didn't see thedidSynchronizeTransaction
callback get invoked. I've worked with support team to file a Jira ticket on this. I will keep you informed once I got any updates. For the point 1, could you clarify the steps to reproduce the problem? Because if you were seeing 500 error, it's returning from OneSpan Sign server, which means your device was still under internet when receiving this error, while you mentioned that the "start from pdf" was triggered offline. A screenshot of the error message that you were receiving could also help. DuoReply to: Offline capabilities
Sunday, November 10, 2019 at 12:07pmReply to: Offline capabilities
Monday, November 11, 2019 at 04:31amisConnectionReachable
allowing you to detect whether you are on/offline. Given all the facts above, I would suggest below practices: (1) Call isConnectionReachable() function before trying to login() (2) If you rely on the keep-session-alive mechanism, you don't need to login multiple times. (3) For online functions (for example, startSyncing()) , you can choose to internally call login() to make sure your application has an unexpired sessionToken. Duo