Client-side Storage Fails on Android

Hello,
I am testing AppGyver with the Android companion app. While going through the tutorials of the different functions of the Composer, I stumbled upon a pretty weird behavior of the Client-side Storage - it allows new record creation only ONCE and then any attempt fails with unknown error code (as per the AG Debugger). On the other hand, the very same logic flow works flawlessly when implemented with AppGyver Cloud Storage. Is this a bug or am I missing something?

Regards

You need to ensure aa unique ID for each record. This means the resource must have an id property (you can accidentally delete it; https://tracker.appgyver.com/bug-reports/p/developer-can-erroneously-remove-id-property-of-a-client-side-data-resource) and when you use Create record, you need to give the ID property some value – a good default is to use the GENERATE_UUID() formula function.

Would that solve the issue?

Thank you, Harri, it worked! Now my question is how the Cloud Storage worked without the ID generation function?

There the ID is generated server-side on save, as is typical for databases (since database must ensure multiple users don’t give overlapping names) – technically we could have done it also for the client-side storage, but we decided to give the user the option to e.g. use growing indices or whatever they want for a bit more flexibility. Of course, would probably be best to make that an advanced option and default to generated UUID.

Understood, thanks! :slight_smile: While watching the tutorial video I was left with the impression that id is generated on the fly in both cases. The idea for a protected ID property is very good imho.

1 Like