Field Kit 0.5.0 ⚠️ SERVER UPDATE PLUS PATCH REQUIRED

Hi everyone,

I just wanted to give a quick pre-release advisory on the upcoming version 0.5.0 of Field Kit, which I expect to be out on Android Play and farmos.app later this week (more on iOS in a minute).

We’ve faced a few hurdles recently with changing requirements both in browsers and in app stores, which have compelled us to regroup and completely overhaul how we handle logging in and out of Field Kit, and authorizing requests to the server generally. Specifically, we’ve adopted the OAuth2 standard for authentication, which farmOS adopted back in May when version 1.4 rolled out

When adopting OAuth2 we had to make a choice whether to keep supporting older authentication methods, namely cookie authentication. I ultimately decided against it, because I believe the OAuth2 implementation is more secure and more robust. It comes with a lot of great benefits, like not having to login as frequently. It seemed like the right choice, while we’re still in beta, to leave the older implementation behind entirely and no longer support cookie authentication.

However, this means that in order to use Field Kit version 0.5.0 or higher, your server must be running farmOS version 1.4 or higher. If you use Farmier hosting, you will have already been upgraded to 1.4 back in May. If you self-host, please take the time to upgrade now if you have not already.


UPDATE: You will also need to apply the patch, as described in the comment below.


Another reason these upgrades were needed is because Apple’s iOS will no longer support cookie authentication. This forced our hand in a number of ways to speed up the development of OAuth2. It’s also another factor in the decision not to support cookie authentication. At the same time Apple dropped support for cookie authentication, it also dropped support for another dependency we use in Field Kit, which is why we haven’t released on iOS for some time. It’s been a bit of a scramble to get things up and running again in Apple-land, but I’m confident we will have that release, version 0.5.1, out on the App store no later than July 31 (hopefully sooner). I apologize for the delay in updates, and for persistent bugs we’ve not been able to address in iOS, but we’re working hard to get things back in working order.

Thanks everyone for their continued support of the project. If you have concerns, please feel free to post them below.

~ Jamie

4 Likes

We’ve discovered that for the native Android app, you must also apply a patch to the restws module. If you have access to your server, you’ll need to run these commands from the ssh or the terminal:

cd profiles/farm/modules/contrib/restws
wget https://www.drupal.org/files/issues/2020-07-28/3161965-2.patch
patch -p1 < 3161965-2.patch

This patch has been added to farmOS/farmOS@3b20638, and should be a part of the upcoming farmOS v1.5 release, but you will still need to apply the changes manually, with the commands above, even if you git pull.

3 Likes