The discussion revolves around a bug in the UserField creation process in Discourse, where the “Editable after signup” option automatically forces “Show on signup” to be checked, creating a sequence-dependent behavior. copymonopoly explains that unchecking “Show on signup” first prevents “Editable after signup” from being checked, but rechecking “Show on signup” later doesn’t allow “Editable after signup” to be unchecked again. Moin argues this is intentional to prevent fields from being neither shown nor editable on signup, but acknowledges the need for more flexibility. copymonopoly clarifies that the issue isn’t mutual exclusivity but the inability to have a field that is neither shown nor editable. Moin reiterates the logic behind the current design, while hugh requests further review from @ted.
Just to clarify — the bug isn’t about these options being mutually exclusive.
The real issue is: originally, a field can have both “Editable after signup” and “Show on signup” unchecked. But once you check “Editable after signup” even once, the frontend enforces that at least one of these two options must be selected from then on.
Fields that are optional but not editable need to be on the signup form, or they can never be filled in
The goal of the current implementation was to prevent admins from creating a user field that is neither editable nor shown on sign up. So if something is a bug, then it’s that you can still create the field without these properties. I would prefer if instead of fixing that, the @team would consider the use case of staff-only user fields and fulfill that feature request. That’s why I posted in the feature topic.