Appfarm AI inserts components with incorrect / unsupported property configuration

Working with Appfarm AI, I keep running into a recurring issue: it sometimes inserts components with property configurations that aren’t supported in Appfarm Create (at least not in a way a human developer can reproduce or maintain).

Example: I asked it to add an Icon to indicate whether an item is locked or available, along with a context dump on what data resources to use and which logical rules to apply. Appfarm AI implemented this by assigning a function to evaluate which icon to show (i.e., dynamic icon selection via code).
From a code-first perspective, this is a sound approach - but in Appfarm Create, I can’t replicate that setup through the UI, and I also can’t meaningfully tweak it afterwards because the configuration path it chose isn’t something I can manage manually.

I then tried to push the AI toward an “Appfarm-allowed” approach, e.g. using conditional properties, but even with explicit instructions, it refused and responded with:

The Icon component only supports conditionalStyles for dynamic changes, and that’s limited to visual style properties (like color), not the icon itself.
The existing approach using functionValue on iconValue is actually the correct and only supported way to dynamically change which icon is displayed. The component is still in its original working state since both failed operations did not apply.

This creates a gap where the AI can generate solutions that “work”, but that developers can’t reproduce, audit, or maintain within Create.

My assumption is that the component definition used by Appfarm AI isn’t defined correctly?

Hi!

Great feedback. It has been instructed in a lot of «Appfarm way of doing stuff». Recurring issues, such as this, indicated inadequate or incorrect instructions (or tool result schemas).

Will be improved! Keep them coming

2 Likes

Hi!

This issue with Icon Value has been fixed in the upcoming relase (hopefully Thursday next week). The problem is that it’s not constrained to the enum-values only, but is given too much flexibility.

1 Like