2019-11-06

MantisDroid v.2.9

MantisDroid and MantisDroid Free has been updated to version 2.9.

A user emailed me yesterday about an issue connecting the app to the server. I registered an account in his MantisBT and everything looked good but the app couldn't connect to the server and the error message in the app was that the URL was incorrect. Very odd.
I hooked up Android Studio and an emulator to his MantisBT and saw what the error message really was:
"cleartext http traffic to not permitted"

A quick googling gave me the following answer:
"Starting with Android 9 (API level 28), cleartext support is disabled by default."
https://developer.android.com/training/articles/security-config#CleartextTrafficPermitted

This is caused by the increased default security configuration in Android. In Android 9 all traffic must be encrypted. His server was not using SSL so Android stopped the communication between the app and the server. I advised him to enable SSL in his server, but I still had to fix this issue since there are users running MantisBT without SSL and I don't think this user will activate SSL immediately.

I made a quick fix with this thread as reference:
https://stackoverflow.com/questions/45940861/android-8-cleartext-http-traffic-not-permitted

Add a new resource: xml/network_security_config.xml with:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <!--Set application-wide security config using base-config tag.-->
    <base-config cleartextTrafficPermitted="true"/>
</network-security-config>

And then add it to the application tag in AndroidManifest.xml:
android:networkSecurityConfig="@xml/network_security_config"

My new CI/CD pipelines in Azure Devops made it very smooth to build and release a new version in just a few hours. When I push the code to GitHub it will automatically build debug versions of the apps. When the debug testing is completed I will manually trigger the pipeline that build release versions and publish them to the internal test track in Play Store. When the beta testing is completed I will trigger the last pipeline that promotes the apps from internal to production.

Release notes:
• Successful deletion of issue will no longer display error message.
• Fixed problem opening attachments.
• Bug fixes and general improvements.
Known issues:
• Upload file from Drive, Dropbox etc does not work.

The fix allowing clear text traffic is not listed since I don't see that as a feature and I don't want users to run MantisBT without SSL.

Check my MantisBT for other bugs and change requests: https://mantis.nextsource.se
Change log for MantisDroid: https://nextsource.se/mantisdroid/

Download apps from Play Store:
MantisDroid MantisDroid Free