diff --git a/form.yml b/form.yml index 463c3de..c5df531 100644 --- a/form.yml +++ b/form.yml @@ -11,6 +11,7 @@ form: attributes: auto_modules_app_code_server: default: false + help: "GitHub Copilot is available in newer versions of Code Server. You are responsible for ensuring your use complies with your institution's AI data policies." working_dir: widget: "path_selector" label: "Working Directory" diff --git a/template/script.sh.erb b/template/script.sh.erb index 13ab534..c090bdd 100755 --- a/template/script.sh.erb +++ b/template/script.sh.erb @@ -40,6 +40,41 @@ if [[ -f "$CPP_FILE" ]]; then mv "$CPP_FILE".new "$CPP_FILE" fi +# Create an empty settings file if one doesn't exist +USER_SETTINGS_DIR="$CODE_SERVER_DATAROOT/User" +USER_SETTINGS_FILE="$USER_SETTINGS_DIR/settings.json" + +mkdir -p "$USER_SETTINGS_DIR" + +if [[ ! -f "$USER_SETTINGS_FILE" ]]; then + echo '{}' > "$USER_SETTINGS_FILE" +fi + +# Merge default settings into the user's settings +# User settings take precedence +jq -s '.[0] * .[1]' \ + <(cat <<'EOF' +{ + "search.followSymlinks": false, + "search.exclude": { + "**/.git": true, + "**/node_modules": true, + "**/scratch": true + }, + "telemetry.telemetryLevel": "off", + "chat.disableAIFeatures": true, + "chat.agent.enabled": false, + "chat.commandCenter.enabled": false, + "workbench.settings.showAISearchToggle": false, + "terminal.integrated.initialHint": false +} +EOF +) \ + "$USER_SETTINGS_FILE" \ + > "$USER_SETTINGS_FILE.new" + +mv "$USER_SETTINGS_FILE.new" "$USER_SETTINGS_FILE" + # # Start Code Server. # diff --git a/view.html.erb b/view.html.erb index e5bb85d..aabf699 100644 --- a/view.html.erb +++ b/view.html.erb @@ -23,7 +23,7 @@ })(); -<% if code_server_version == '4.8.3' %> +<% if Gem::Version.new(code_server_version) >= Gem::Version.new('4.8.3') %>