Form listing fails in custom server back-end

Hi All:
I've been developing a slightly-customised fork of Collect to work with my own backend servers for several years now, but have not updated my Collect source for a while. To prepare for updating my fork, I've just tested the latest Collect build against my server, and the app shows "Nothing available to display" when I think I should be seeing a sample formList page.


I've built a Collect APK and installed it, from a current Github clone. I've set the Platform to "Other", and the Form List URL/path to

I then press Get Blank Form, and as expected, Collect displays the default ODK forms list. Viewed in Firefox, the source for that server response is:

<form url="">Cascading Select Form</form>
<form url="">Widgets</form>
<form url="">New Widgets</form>
<form url="">sample</form>
<form url="">Miramare</form>
<form url="">Birds</form>
<form url="">Forest Plot Survey</form>
<form url="">Geo Tagger v2</form>
<form url="">Biggest N of Set</form>
<form url="">Hypertension Screening</form>
<form url="">eIMCI by D-Tree</form>
<form url="">Cascading Triple Select Form</form>

I then change the Platform Settings URL/path to my custom server formlist, which is at:

I then click Get Blank Form, and the Collect screen says "Nothing to display".

Viewed in Firefox, the source for that server response is:

<form url="">Test stub</form>

Can anyone think of a reason why the latest version of Collect doesn't parse my server response as a forms list containing one form? The server logs show the correct URL requested by Collect running on my Nexus4 phone, with a 200 response code indicating that the response was output as normal: - - [09/Jun/2017:08:54:31 +0100] "GET /forms/list/ HTTP/1.1" 200 101 "-" "Dalvik/2.1.0 (Linux; U; Android 5.1.1; Nexus 4 Build/LMY48T)"

Also, in case it helps, my formlist is correctly displayed by an older version of Collect (1.4.8)

Grateful for any ideas!

Thanks, Nik

Offhand, I don't know, but if it worked in a previous version and it's not working now, then the best way to test is to try the versions listed at and see where it breaks. Use binary search to quickly narrow down the version. Once we know that, it'll be easier to track down the code that is the cause.

Yaw - thanks for the pointer.
I think the problem must have been something to do with my compiling from a clone of the live code repository rather than an official release - but I'm really not sure, I've just tried cloning the current Github code and it works OK.
Many thanks