Since the latest update of Homebrew I always get an error / message when I start a new shell (bash):
bash: Help: command not found
Thank you for offering your feedback on Skaffold! Understanding your experiences and opinions helps us make Skaffold better for you and other users.
Our survey can be found here: https://forms.gle/BMTbGQXLWSdn7vEs6
To permanently disable the survey prompt, run:
skaffold config set --survey --global disable-prompt true
This is due to the fact that at the end of /usr/local/etc/bash_completion.d/skaffold I find the following snippet:
...
# ex: ts=4 sw=4 et filetype=sh
Help improve Skaffold! Take a 10-second anonymous survey by running
skaffold survey
I could already drill it down to this line of code: https://github.com/GoogleContainerTools/skaffold/blob/master/pkg/skaffold/survey/survey.go#L32 but do not have any idea now how this leads to the wrong bash completion rc?
Start bash without any problems
See above (run bash --login)
Looks like the file is generated calling skaffold completion bash. Unless the survey is disabled via skaffold config set --survey --global disable-prompt true the survey info is always appended to the end of each command output (even to the completion command).
I ended up _deleting_ the bash completion support for skaffold. Very annoying 馃槧...
I ended up _deleting_ the bash completion support for
skaffold. Very annoying 馃槧...
You can just delete the three lines from the end of the file if you source it. Or you can just run skaffold config set --survey --global disable-prompt true (once) if you evaluate the skaffold completion bash output frequently to make it disappear.
Nevertheless, I hope it gets fixed with the next release.
This is so stupid. How can this even happen? You could not just print the link; you had to open it in the browser every time?!!
BTW, I don't know what "skaffold config set --survey --global disable-prompt true (once)" is supposed to do, but it isn't working.
Hey folks, we are really sorry for the inconvenience. This is your highest priority and we are looking fixing it.
hey all, just want to give a little more detail into how this happened. this was absolutely not our intended behavior, but rather an unfortunate bug that manifested in a really bad way.
we made a change to our survey prompt that was supposed to open it automatically in a browser window - but only when the actual command was issued by a user, and never otherwise. since the command would previously just print the link, we figured this would be a nice QOL change.
inadvertently, this change caused our help text to accidentally be added to our autogenerated bash completion script. this help text itself has the command, skaffold survey, by itself on a new line - this means that when the bash completion script is executed, the shell tries to execute the plaintext help text...which actually succeeds because there's a real command in it!
since this script is automatically installed when skaffold is installed with homebrew, this is now embedded in every user's terminal startup scripts, and causes it to be executed on every new terminal instance....a really really bad experience, that none of us caught before the release because we never installed skaffold through homebrew, and don't manually install the bash completion script.
we're going to disable the survey indefinitely for now, as i'm sure a lot of you are pretty pissed about having seen the survey more times than you ever should in your whole life. we just want to apologize for how annoying this ended up being for a lot you though - while it was never our intention to do something like this, it's still our responsibility for making sure that intentionally or not, our tools are never invasive or step over any boundaries. we dropped the ball this time, but we're working to make sure that something like this doesn't happen again.
Right. I understand and I apologize for the overly angry comment. Thanks for the detailed explanation.
haha it's all good @jpambrun, it was stupid and in your place i'd be mad too 馃槅
FYI v1.13.1 was just released that hotfixes this issue - https://github.com/GoogleContainerTools/skaffold/releases/tag/v1.13.1
I'm going to leave this issue open since the PR to address the actual issue isn't merged yet (the hotfix just disables the survey entirely), but upgrading should do the trick for now. I'll try and get this bumped in homebrew ASAP
Same held for skaffold render btw, if users depend on that for GitOps via
skaffold render | kubectl apply -f -
that would fail because both the update check & survey output to stdout.
They should always output to stderr IMO! Just like any other bash command that produces machine readable output, the human readable output must be put to a different stream.
Most helpful comment
hey all, just want to give a little more detail into how this happened. this was absolutely not our intended behavior, but rather an unfortunate bug that manifested in a really bad way.
we made a change to our survey prompt that was supposed to open it automatically in a browser window - but only when the actual command was issued by a user, and never otherwise. since the command would previously just print the link, we figured this would be a nice QOL change.
inadvertently, this change caused our help text to accidentally be added to our autogenerated bash completion script. this help text itself has the command,
skaffold survey, by itself on a new line - this means that when the bash completion script is executed, the shell tries to execute the plaintext help text...which actually succeeds because there's a real command in it!since this script is automatically installed when skaffold is installed with homebrew, this is now embedded in every user's terminal startup scripts, and causes it to be executed on every new terminal instance....a really really bad experience, that none of us caught before the release because we never installed skaffold through homebrew, and don't manually install the bash completion script.
we're going to disable the survey indefinitely for now, as i'm sure a lot of you are pretty pissed about having seen the survey more times than you ever should in your whole life. we just want to apologize for how annoying this ended up being for a lot you though - while it was never our intention to do something like this, it's still our responsibility for making sure that intentionally or not, our tools are never invasive or step over any boundaries. we dropped the ball this time, but we're working to make sure that something like this doesn't happen again.