Babble should not attempt to upgrade the terminal (e.g., iTerm2, Terminal.app, Alacritty, etc.) that is running Babble itself.
Proposed Implementation:
- Detect the terminal parent process in which Babble is running (e.g., using
lsappinfo or process tree traversal).
- Map the terminal's bundle ID to the corresponding Homebrew cask token.
- Exclude that token from
brew upgrade (either by using a supported exclusion mechanism or skipping via logic in Babble's upgrade orchestration).
- Notify the user in output that the running terminal was detected and skipped during the upgrade routine.
References:
- See the README To Do: "Do not attempt to upgrade the terminal being used to run Babble itself."
- See conversation: recommend
lsappinfo info -only bundleid $(lsappinfo front), or process traversal via ps -o ppid= until you hit an .app bundle, for bundle detection.
Note: This issue can be implemented as a follow-up to the current Ruby reimplementation.
Babble should not attempt to upgrade the terminal (e.g., iTerm2, Terminal.app, Alacritty, etc.) that is running Babble itself.
Proposed Implementation:
lsappinfoor process tree traversal).brew upgrade(either by using a supported exclusion mechanism or skipping via logic in Babble's upgrade orchestration).References:
lsappinfo info -only bundleid $(lsappinfo front), or process traversal viaps -o ppid=until you hit an.appbundle, for bundle detection.Note: This issue can be implemented as a follow-up to the current Ruby reimplementation.