uxcam / cordova-uxcam

Cordova plugin for UXCam
7 stars 4 forks source link

Incompatibility with Facebook login #4

Closed tobeee closed 1 year ago

tobeee commented 8 years ago

Jumping out of the app to handle login, then back in causes a crash

UXCam: Crash handler closing session. Caught exception: Invalid type in JSON write (NSURL). 2016-04-28 00:11:18.840[11802:419433] * Terminating app due to uncaught exception 'NSRangeException', reason: '* -[NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray' *\ First throw call stack: ( 0 CoreFoundation 0x00000001037b9e65 exceptionPreprocess + 165 1 libobjc.A.dylib 0x0000000103209deb objc_exception_throw + 48 2 CoreFoundation 0x0000000103768395 -[NSArray0 objectAtIndex:] + 101 3 0x00000001018d6425 -[UXPlistHandler uploadSession:] + 392 4 0x00000001018d628a -[UXPlistHandler uploadAllSessionData] + 70 5 libdispatch.dylib 0x000000010551b49b _dispatch_client_callout + 8 6 libdispatch.dylib 0x00000001054fffb5 _dispatch_barrier_sync_f_invoke + 393 7 0x00000001018d6cdb -[UXPlistHandler saveDataToTextFile:] + 464 8 0x00000001018ddb72 -[UXJSONDataHandler saveDataToFile] + 1136 9 0x00000001018cb662 +[UXCamHandler stop:saveSessionData:] + 311 10 0x00000001018cb06d onUncaughtException + 122 11 CoreFoundation 0x00000001037ba22b handleUncaughtException + 731 12 libobjc.A.dylib 0x000000010320a03d _ZL15_objc_terminatev + 94 13 libc++abi.dylib 0x00000001058d026e _ZSt11terminatePFvvE + 8 14 libc++abi.dylib 0x00000001058cfef9 cxa_rethrow + 99 15 libobjc.A.dylib 0x0000000103209f5e objc_exception_rethrow + 40 16 CoreFoundation 0x00000001036da8e4 CFRunLoopRunSpecific + 676 17 GraphicsServices 0x000000010628cad2 GSEventRunModal + 161 18 UIKit 0x0000000103f0c610 UIApplicationMain + 171 19 0x000000010180cb01 main + 65 20 libdyld.dylib 0x000000010554f92d start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException

richardgroves commented 8 years ago

The latest release should fix this. Please let us know if it is still an issue.

tobeee commented 8 years ago

Will check it out.

Do you know if it impacts on any other tools which force the user of of the experience? ie deeplinking (we use branch in particular)

On Mon, Sep 5, 2016 at 11:22 AM, Richard Groves notifications@github.com wrote:

The latest release should fix this. Please let us know if it is still an issue.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/uxcam/cordova-uxcam/issues/4#issuecomment-244713129, or mute the thread https://github.com/notifications/unsubscribe-auth/ABxI8IlLJLjoIzamGtIpERQA-uP9qG88ks5qm-1TgaJpZM4IRcem .

Toby Green

richardgroves commented 8 years ago

It shouldn't - the problem was it starting to record a session when it was already in the background (due to switch out of the app to another such as facebook for login check). That has been trapped and it will just start another session when it comes back to the app.

tobeee commented 8 years ago

Ah - so will it be recorded as two separate flows? or will it be within the same session?

On Mon, Sep 5, 2016 at 12:47 PM, Richard Groves notifications@github.com wrote:

It shouldn't - the problem was it starting to record a session when it was already in the background (due to switch out of the app to another such as facebook for login check). That has been trapped and it will just start another session when it comes back to the app.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/uxcam/cordova-uxcam/issues/4#issuecomment-244728073, or mute the thread https://github.com/notifications/unsubscribe-auth/ABxI8Gxyw5OE6OaATa_N5Zn3apJ7O69Bks5qnAFggaJpZM4IRcem .

Toby Green

richardgroves commented 8 years ago

It depends on the timing for something like an initial login, but in general each time the main app goes into the background it closes that session and will start a new one when it comes back to the foreground. The limitation is a safety precaution as UXCam has no way of knowing if it is just a short pause or if that is it and the user has finished. It should be easy enough to piece the flow together on our dashboard, but it depends on the volume of users and the amount of times they pop in and out of your app I guess. Raise an issue on the dashboard at UXCam.com if you have problems.