Replies: 3 comments 2 replies
-
I will be unavailable for the remainder of today. I just wanted to get this out before I left tonight, after seeing the discussion about Oct 1st. --Cheers! |
Beta Was this translation helpful? Give feedback.
-
Here is that screenshot showing how some of the .bashrc output is getting mixed in with the command's output: |
Beta Was this translation helpful? Give feedback.
-
I think this is the case. The existing connecting functionality is in the best state it's ever been. I wonder what we can actually do to combat people adding output in their bashrc file. It doesn't seem like much. Would love to hear what your thoughts are more. |
Beta Was this translation helpful? Give feedback.
-
Hey there,
I felt it best to open up a discussion on this rather than an issue, because I don't know what everyone's take on it will be.
While debugging issue #325 I came across the realization that all the stdout that I was writing that was causing the SFTP issue was also 'silently' causing 'potential' issues with all SSH commands. An example of this was when the extension is building the defaultUserLibraries here:
https://github.com/halcyon-tech/vscode-ibmi/blob/a860343eccfb1dceaf47a8e415d2ca49e677eb26/src/api/IBMi.js#L129-L147
The libraryListString variable here is receiving output from a shell command. But that output was being littered with the all of the stdout that got put there from my .bashrc file. (will add screenshots of debug on a different day)
You can see the case statement down below will ultimately not process the library if the substring for type does not match the cases; but, solely for the sake of argument, the stdout could have erroneously matched cases at those substring positions which would drive wonky behavior. (likely hood of 0%) But, you see the potential future issues it could bring.
My question is about whether the output of a shell initialization should be mitigated in the code of this extension.
Or, should we just document the behavior this extension has and put it in the user's responsibility to have a clean initialization setup?
Beta Was this translation helpful? Give feedback.
All reactions