Skip to content
This repository was archived by the owner on Jul 4, 2025. It is now read-only.

Commit 6f7a3ed

Browse files
authored
chore: update UX for uninstaller macos and linux (#1429)
Co-authored-by: Hien To <tominhhien97@gmail.com>
1 parent b7cf124 commit 6f7a3ed

File tree

2 files changed

+67
-42
lines changed

2 files changed

+67
-42
lines changed

engine/templates/linux/postrm

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,40 @@ set +e
33
DATA_FOLDER_NAME=.cortex
44
CONFIGURATION_FILE_NAME=.cortexrc
55

6-
echo "Do you want to delete the ~/$DATA_FOLDER_NAME data folder and file ~/$CONFIGURATION_FILE_NAME? (yes/no)"
6+
echo "Do you want to delete the ~/$DATA_FOLDER_NAME data folder and file ~/$CONFIGURATION_FILE_NAME? (yes/no) [default: no]"
77
read -r answer
88

9+
# Determine the home directory based on the user
910
USER_TO_RUN_AS=${SUDO_USER:-$(whoami)}
11+
if [ "$USER_TO_RUN_AS" = "root" ]; then
12+
USER_HOME="/root"
13+
else
14+
USER_HOME="/home/$USER_TO_RUN_AS"
15+
fi
16+
17+
while true; do
18+
case "$answer" in
19+
[yY][eE][sS]|[yY])
20+
echo "Deleting cortex data folders..."
21+
if [ -d "$USER_HOME/$DATA_FOLDER_NAME" ]; then
22+
echo "Removing $USER_HOME/$DATA_FOLDER_NAME"
23+
rm -rf "$USER_HOME/$DATA_FOLDER_NAME" > /dev/null 2>&1
24+
fi
25+
if [ -f "$USER_HOME/$CONFIGURATION_FILE_NAME" ]; then
26+
echo "Removing $USER_HOME/$CONFIGURATION_FILE_NAME"
27+
rm -f "$USER_HOME/$CONFIGURATION_FILE_NAME" > /dev/null 2>&1
28+
fi
29+
break
30+
;;
31+
[nN][oO]|[nN]|"")
32+
echo "Keeping the 'cortex' data folders."
33+
break
34+
;;
35+
*)
36+
echo "Invalid response. Please type 'yes', 'no', 'y', or 'n' (case-insensitive)."
37+
read -r answer
38+
;;
39+
esac
40+
done
1041

11-
case "$answer" in
12-
[yY][eE][sS]|[yY])
13-
echo "Deleting cortex data folders..."
14-
if [ -d "/home/$USER_TO_RUN_AS/$DATA_FOLDER_NAME" ]; then
15-
echo "Removing /home/$USER_TO_RUN_AS/$DATA_FOLDER_NAME"
16-
rm -rf "/home/$USER_TO_RUN_AS/$DATA_FOLDER_NAME" > /dev/null 2>&1
17-
fi
18-
if [ -f "/home/$USER_TO_RUN_AS/$CONFIGURATION_FILE_NAME" ]; then
19-
echo "Removing /home/$USER_TO_RUN_AS/$CONFIGURATION_FILE_NAME"
20-
rm -f "/home/$USER_TO_RUN_AS/$CONFIGURATION_FILE_NAME" > /dev/null 2>&1
21-
fi
22-
;;
23-
[nN][oO]|[nN])
24-
echo "Keeping the 'cortex' data folders."
25-
;;
26-
*)
27-
echo "Invalid response. Please type 'yes' or 'no'."
28-
;;
29-
esac
3042
exit 0

engine/templates/macos/cortex-uninstall.sh

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,43 @@ fi
1212

1313
USER_TO_RUN_AS=${SUDO_USER:-$(whoami)}
1414

15-
sudo -u $USER_TO_RUN_AS /usr/local/bin/$DESTINATION_BINARY_NAME stop > /dev/null 2>&1
15+
# Use /root if user is root, otherwise /Users/<username>
16+
if [ "$USER_TO_RUN_AS" = "root" ]; then
17+
USER_HOME="/root"
18+
else
19+
USER_HOME="/Users/$USER_TO_RUN_AS"
20+
fi
21+
22+
sudo -u "$USER_TO_RUN_AS" /usr/local/bin/$DESTINATION_BINARY_NAME stop > /dev/null 2>&1
1623
rm /usr/local/bin/$DESTINATION_BINARY_NAME
1724

18-
echo "Do you want to delete the '~/$DATA_FOLDER_NAME' data folder and file '~/$CONFIGURATION_FILE_NAME'? (yes/no)"
25+
echo "Do you want to delete the '$USER_HOME/$DATA_FOLDER_NAME' data folder and file '$USER_HOME/$CONFIGURATION_FILE_NAME'? (y/n) [default: n]"
1926
read -r answer
2027

21-
case "$answer" in
22-
[yY][eE][sS]|[yY])
23-
echo "Deleting cortex data folders..."
24-
if [ -d "/Users/$USER_TO_RUN_AS/$DATA_FOLDER_NAME" ]; then
25-
echo "Removing /Users/$USER_TO_RUN_AS/$DATA_FOLDER_NAME"
26-
rm -rf "/Users/$USER_TO_RUN_AS/$DATA_FOLDER_NAME" > /dev/null 2>&1
27-
fi
28-
if [ -f "/Users/$USER_TO_RUN_AS/$CONFIGURATION_FILE_NAME" ]; then
29-
echo "Removing /Users/$USER_TO_RUN_AS/$CONFIGURATION_FILE_NAME"
30-
rm -f "/Users/$USER_TO_RUN_AS/$CONFIGURATION_FILE_NAME" > /dev/null 2>&1
31-
fi
32-
;;
33-
[nN][oO]|[nN])
34-
echo "Keeping the 'cortex' data folders."
35-
;;
36-
*)
37-
echo "Invalid response. Please type 'yes' or 'no'."
38-
;;
39-
esac
28+
# Default to 'no' if no input is provided
29+
while true; do
30+
case "$answer" in
31+
[yY][eE][sS]|[yY])
32+
echo "Deleting cortex data folders..."
33+
if [ -d "$USER_HOME/$DATA_FOLDER_NAME" ]; then
34+
echo "Removing $USER_HOME/$DATA_FOLDER_NAME"
35+
rm -rf "$USER_HOME/$DATA_FOLDER_NAME" > /dev/null 2>&1
36+
fi
37+
if [ -f "$USER_HOME/$CONFIGURATION_FILE_NAME" ]; then
38+
echo "Removing $USER_HOME/$CONFIGURATION_FILE_NAME"
39+
rm -f "$USER_HOME/$CONFIGURATION_FILE_NAME" > /dev/null 2>&1
40+
fi
41+
break
42+
;;
43+
[nN][oO]|[nN]|"")
44+
echo "Keeping the 'cortex' data folders."
45+
break
46+
;;
47+
*)
48+
echo "Invalid response. Please type 'yes', 'no', 'y', or 'n' (case-insensitive)."
49+
read -r answer
50+
;;
51+
esac
52+
done
4053

41-
rm /usr/local/bin/$UNINSTALLER_FILE_NAME
54+
rm /usr/local/bin/$UNINSTALLER_FILE_NAME

0 commit comments

Comments
 (0)