UI for adding users ignores expiration date field -- causing failures when the field is left empty
Summary
Leaving out the expiration date field produces no errors, and allows the user to continue on with the field blank. However, it doesn't set a far future or never expires date ... it simply causes failures. Either failing to give access to the user, or failing to change their status.
Steps to reproduce
Add a user to a group. Don't fill out the expiration date field. Now the user seems like they've been added, but still have no access. If you change their status, the same situation arises and a user changed from maintainer->owner stays a maintainer.
It didn't take me long to figure out what was wrong but without any UI prompting or errors for the user it's really not obvious they've missed a field. My boss spent several hours trying again and again to add/remove me after changing my status to owner, never realizing there was a field he was missing.
Example Project
https://gitlab.com/groups/chromakey.io/-/group_members
I've created a new group. Added @Tyrant505, but he has no access.
What is the current bug behavior?
You can add a user to a group/etc without filling out the expiration date field, and the user never actually gains access... the form doesn't respond with an error ... and instead everything fails "silently".
What is the expected correct behavior?
It should throw an error if you attempt to add a user without an expiration date.
Likewise, it should have a default in place. Something like 6 months or 1 year, then allow the user to set a far-future date if they so want.
Output of checks
This bug happens on GitLab.com
Possible fixes
Isn't the point of gitlab.com that our company pays you to make these fixes, rather than relying solely on the open source model. You guys are definitely having some growing pains with support and so on, I was offered a free 30-day premium contract and the agent had less than no interest in determining the cause of our issues.