Constraint not working well on re-edit of saved filled form (KoBoCollect 1.28.0)

Description

If you save a text variable with a (regex) constraint, and then re-edit it, the constraint is not working well (delayed and blocking the flow, even after correction).

Steps to Reproduce

  1. Upload & deploy attached Form
  2. Enter “a” in 2nd Field (Remark …) & move (NEXT) to last field > constraint will fire
  3. Correct to “abc”
  4. SAVE
  5. Re-edit
  6. Cut 2nd field (Remark) to “a” & move forward (NEXT) to last field > Constraint will NOT fire
  7. Move BACK from last field to this 2nd field
  8. Correct to “abc” & Move (NEXT) > Constraint fires & blocks flow with same Constraint-Msg (invalid)
    9 Now move BACK to first field and then Move forward to 2nd field, do not change (“abc”)
    10 Move forward (NEXT), only now all goes well.

Moving is done with Buttons (NEXT / BACK) only (NO swipe).
TestSaveChk01.xlsx (32.1 KB)

Expected behavior

Constraint should fire and show Constraint-Msg whenever field is left with invalid value (on screen)

Actual behavior

Constraint & Constraint-Msg are not fired or too late. When coming BACK, valid correction is NOT accepted.

Additional details

KoBo 1.28 re-installed and Android folder adaption passed.

All is working well in Enketo, incl. Save & Re-edit.

We tested a lot (and the same variable & regex) before, and this problem seems rather new.
My feeling is, that it also might happen with other constraints too like range for type integer. But I did not manage to reproduce it.
I think it’s related to the SAVE (or the Collect check-flow or internal value reference?), not to a regex constraint. Before the first SAVE all goes well.

It might be a general re-edit problem, for other Collect users too.
Urgent bug-fix seems important.

Update 14/12/20:
We tested it meanwhile with ODK Collect 1.28.4 and it’s working well.
But in KoBoCollct not, even when you start with saving and empty form and then doing the (re-)edit.

1 Like

Possibly connected to another thread. Do you know if ODK collect v1.28.4 is also affected?
It seems the problem is wider than only regex constraints but has since been resolved in ODK Collect. Hopefully KoboCollect can update soon as well as it seems the fix already exists.

1 Like

Hello @NoelCartONG,
Thanks. See update above.
Kind regards and keep well.

1 Like

Thanks @wroos! Good catch! Hopefully we don’t get to see this bug in the next release of our KoBoCollect android app.

Hello,
Can we have a GitHub link, to follow up, please.
Any idea for the next release date? (We would like to avoid having to train field staff on a strange workaround for this.)

Hi @wroos,

Unfortunately, we don’t have a GitHub link for this issue. FYI, we will be releasing the next version of the KoBoCollect android app once ODK Collect v1.29.0 is released.

Hello @Kal_Lam,
Would you mind to create a GitHub entry for this, please. It’s definitely a bug in current KoBoCollect release.

Hi @wroos,

FYI, if you go back to ODK Collect v1.28.0, you should find the same issue there. KoBoCollect at the moment is there. When you try this with ODK Collect v1.28.4 it’s an issue that has already been solved. So when ODK Collect comes with v1.29.0 this issue should not be prevailing. So our target is to catch up with v1.29.0 for the next release of KoBoCollect. Hence, this issue should be solved through the next release of KoBoCollect v1.29.0.

1 Like

Dear @Kal_Lam,
We have to decide on the way-forward for the project this week. It would be great, if someone could provide a date (even estimation as: “not before …”) for the next KoBo release (or bugfix update), which will solve the bug.

It would also help us to have a GitHub link concerning this bug in ODK (previous version). So we might get better understanding and ideas for workarounds.

Maybe @stephanealoo could also help here?

Thanks in advance

1 Like

Hi @wroos,

Kindly please be informed that KoBoCollect android app is a fork of ODK Collect android app and takes all the features that is available with the latter. FYI, please also be informed that KoBoToolbox’s next plan is to update it’s android app with the latest version of the ODK Collect android app when ODK releases it’s next version of the android app i.e. ODK Collect android app v1.29.0. So speaking frankly we do not know the exact release date of the ODK Collect android app v1.29.0. Hence we are not able to provide you the date on when we would bring KoBoCollect android app v1.29.0.

As advised previously, we recommend you to use the ODK Collect android app v1.28.4 till then.

Regarding your issue with the GitHub link for this post (topic) i would say it’s not necessary as ODK Collect v1.28.4 is already a fix so when ODK releases it’s next release i.e. ODK Collect v1.29.0 it shouldn’t be an issue any more. So when we prepare our version i.e. KoBoCollect android app v1.29.0 we shall be taking a copy of the source code from ODK Collect v1.29.0 which itself should be a bug free for what has been reported and discussed in this post.

However, we shall once ensure (before the release) that our version of KoBoCollect android app v1.29.0 does not contain the bug that is reported here. This is why you should see this topic tagged as Bug. We will remove this tag and close this post once we test and release KoBoCollect android app v1.29.0.

Hope i was able to respond to your query. Maybe @stephanealoo could add if i have missed any.

1 Like

Dear @Kal_Lam,
THANK you very much!
If there is no chance for an intermediate KoBo bug fix soon, we will unfortunately need to change to ODK.

We were looking for the previous GitHub ODK entry for this error (& fix) to understand it better and may be find a workaround to avoid changing to ODK now.

Hint: Meanwhile, one of our testers found out that the bug can also happen without saving the form before. (But I could not yet reproduce this for a documented example.)

Kind regards
Wolfgang

1 Like

Thank you @wroos! Kindly please do let us know if you find the same issue with OCK Collect as well. If it’s an issue with the latest version we should and must surely create a GitHub issue for the same.

Hello @Kal_Lam,
Hello,
We finally found the former GitHub ODK reference for this (“high priority”) Bug.
Bug description is similar to our own reported example.


Fixed October 2020 in https://github.com/getodk/collect/releases/tag/v1.28.3

If you try the example in KoBoCollect, you may imagine how confusing the situation is becoming for an enumerator. (And re-editing a form with contraints is not a rare use case.)

As reported already, it’s working well with the current 1.28.4 version of ODK (and also with Enketo on KoBoToolbox). But NOT with KoBo Collect. (1.28.0).

Have a nice day.

1 Like

My understanding is that KoboCollect is only provided for legacy reasons but that generally projects are recommended to use ODK Collect to get timely updates and bug fixes. I can’t find it right at the moment but I believe this is in Kobo docs.

2 Likes

Hi @wroos,

Kindly please be informed that KoBoCollect v1.29.3 has been rolled out and you should soon receive the updates in your device. This release should solve the issue you have reported earlier.

Hello @Kal_Lam,
Where can we find the update Release Notes, please. (Did I miss something in Announcement section?)

@wroos as this is an update for the Collect android app we don’t post an announcement. But maybe we could start making announcements for the same too.

Hello,
Probably the community would appreciate Announcement and Release Notes.
At least, we would. Also, notification in advance, please. So that we are able to decide if we go to a new release or first do some own tests.

2 Likes

Hello,
Also on Play Store almost no info about the new Release. Is there any link or documentation to find more details, esp. about fixes, for this new KoBoCollect Relase, please?

2 Likes

Hello @lognaturel ,
Sorry, for delayed reply.

Your post was very clear, that ODK is the first and recommended choice. Thank you!

We read a lot here in this forum and any documentation and for us this meaning/advice is more “hidden”. If you find a place with this ODK priority in the documentation, we would still appreciate the link.

For example: Why there is no such hint in Play Store? Or on the KoBo support/help pages? And for new KoBoCollect users arriving here in the KoBo community monthly?

Getting such a clear ODK suggestion when we started here about 2 years ago would have been a great benefit.

Have a friendly and healthy 2021
Kind regards
Wolfgang