In my app, I’ve set the “Are updates allowed?” expression as follows -
IF(USERROLE() = "Admin", "ALL_CHANGES", "READ_ONLY")
This correctly hides Add, Edit, and Delete actions for non-admin users. However, the Copy action still remains visible, even when the user is effectively in a read-only state. I feel this should be consistent across all data modification actions and be automatically hidden based on the same setting.
Workaround - I currently handle this by adding USERROLE() = "Admin" to the Copy action’s “Only if this condition is true” property, but it would be more intuitive if AppSheet respected the update permissions globally across all actions.