Challenge Overview
We have an iPad app that crashes on a specific use case (Add Video to TIC) as described below, and we need a fix.
Challenge Requirements
Adding Video Crash Issue
Client reported that the iPad app crashes when adding video to TIC. Note that the client is not able to consistently replicate the crash, so we don’t have clear steps for you to reproduce, but we are providing you with the iPad devices crash logs.
- The copilot - was able to catch a crash issue that sometimes happen when trying to add a video from gallery the app crashes with error being (but this might be one of the reasons the crash happens):
2016-06-22 02:25:07.881 Thunderbird[1278:1545586] *** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and [UIAlertController shouldAutorotate] is returning YES'
*** First throw call stack:
(0x181f6adb0 0x1815cff80 0x181f6acf8 0x187139c08 0x187143268 0x1871431e0 0x187141cc8 0x1870bba10 0x1870bad40 0x18289ccc0 0x1870babc4 0x1870c8678 0x1875200bc 0x187421fb0 0x1874200c8 0x1873730c8 0x187380a80 0x1870b25a4 0x181f20728 0x181f1e4cc 0x181f1e8fc 0x181e48c50 0x183730088 0x18712a088 0x10003e7d0 0x1819e68b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
Notes
- In order to reproduce you need to setup the Java API Backend application following the README in the gitlab repo.
- After launching the app and the backend is running, you need to login or create a user, then set the java api host and port properly in settings screen, then make sure the syncing is set to Automatic not Manual (manual represents syncing via USB Cable)
- Then navigate to sheet list screen and click on Start New TIC, add new tool and answer questions, then add video, then save, then submit. You can keep trying adding video, creating new TICs, then adding videos, syncing with backend .. etc until you manage to get it crashed. This is the only way we can be able to reproduce the issue.
Gitlab Access
We have two repos :
iPad app : https://gitlab.com/tc-thunderbird/frontend
Java Backend : https://gitlab.com/tc-thunderbird/backend (You don't need this, we deployed the backend to 52.23.161.34:8080)
1.You can get access to the Gitlab repo group in this tool https://tc-ragnar.herokuapp.com/ragnar/groups/564783092789620e00fa75d1/629771
If you are having trouble with the auto registration tool, please post here for help.
2. Once added to the team, and you want to store working on any issue, you will need to fork the repo master branch of the iPad repo, you can use the java backend repo for your deployment (no need to fork) and use it as base for your fixes.
3. When you submit, commit your changes to the forked repo, add elkhawajah and jcori to your forked repo.
4. Create merge request for your fixes.
Deliverable
Upload the following in zip file to Online Review :
- Link to the merge request.
- Verification Document - will be great if you can include the cause of issue, how to reproduce, and what was the fix briefly.