atlantis icon indicating copy to clipboard operation
atlantis copied to clipboard

Capitalised commands don't work

Open jacekn opened this issue 3 years ago • 4 comments

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request. Searching for pre-existing feature requests helps us consolidate datapoints for identical requirements into a single place, thank you!
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Overview of the Issue

Currently when commands are capitalised they don't work. For example Atlantis apply or atlantis Apply will not have any effect. This results in bad user experience as things are not applied and it's not immediately obvious why. At the same time I think intention of Atlantis apply is very clear and there is no downside in treating it in the same way as atlantis apply.

One example when comments can be capitalised is when people comment on PRs from mobile devices.

I'm assuming other commands might have the same problem but I have not tested them.

Reproduction Steps

Try to apply changes using Atlantis apply instead of atlantis apply

Logs

Environment details

I saw this with atlantis 0.18.2 but other versions likely affected as well.

Additional Context

jacekn avatar May 06 '22 10:05 jacekn

I'm not sure I'd class this as a bug. If you try and run terraform Apply on the command line it won't work for exactly the same reason. Case sensitivity is a thing on the command line so I'm not sure why it should be any different here.

nickperkins avatar May 15 '22 23:05 nickperkins

I'm not sure I'd class this as a bug. If you try and run terraform Apply on the command line it won't work for exactly the same reason. Case sensitivity is a thing on the command line so I'm not sure why it should be any different here.

Ideally it should be different to improve user experience. In interactive shells it's normal for commands to either work or throw an error. If we run terraform Apply it will immediately exit and notify the user that the command failed and exit with nonzero exit code. It is immediately obvious to users what happened and they know to rerun the command. In scripts it's normal to check exit code to surface errors to end users.

However with github comments it's a different - it's not an interactive system and user expectations are different. There is no feedback on failure and I believe that can be confusing to end users. People can type atlantis Apply and wait for hours but nothing will happen.

If the team feels strongly against Atlantis apply or atlantis Apply performing apply action maybe we could add feedback so that users immediately know the command had no effect and notify them to rerun with correct syntax. Either way works but personally I think just running the command will be better experience for end users and at the same time poses no real risk.

jacekn avatar May 16 '22 08:05 jacekn

This is not a bug, please do not implement this.

nokernel avatar Jun 29 '22 11:06 nokernel

This is not a bug, please do not implement this.

Care to elaborate? Many user-focused project treat user experience problems as bugs and IMO it's a good thing. This issue did bite our users more than once.

However if the consensus is that the project does not want to improve error handling (to tell users to rerun without capitals) or support capitalised commands could we possibly get something in the docs to explain rationale behind the decision?

jacekn avatar Jun 29 '22 12:06 jacekn

the command are case sensitive, they are documented in lowercase we can't code for every permutation of user inputs. Internal docs on the usage of atlantis can help too.

jamengual avatar Aug 26 '22 04:08 jamengual

the command are case sensitive, they are documented in lowercase we can't code for every permutation of user inputs. Internal docs on the usage of atlantis can help too.

Understood, every permutation would be very hard to code. Would coding for just uppercase/lowercase typo, which is common on mobile devices, be acceptable? This would for sure improve atlantis usability and user experience. We had multiple users caught by this so while I understand docs are there to help IMO it's even better if software handles common problems gracefully.

jacekn avatar Aug 30 '22 08:08 jacekn