From 72104eb06f267286ec207feed65dc00656ce4e9f Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Mon, 30 Mar 2026 13:24:48 -0700 Subject: [PATCH 1/2] fix(gateway): honor default for invalid bool-like config values (#4029) Co-authored-by: aydnOktay --- gateway/config.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gateway/config.py b/gateway/config.py index c8ce89a7d..8c7843780 100644 --- a/gateway/config.py +++ b/gateway/config.py @@ -27,9 +27,16 @@ def _coerce_bool(value: Any, default: bool = True) -> bool: return default if isinstance(value, bool): return value + if isinstance(value, int): + return value != 0 if isinstance(value, str): - return value.strip().lower() in ("true", "1", "yes", "on") - return bool(value) + lowered = value.strip().lower() + if lowered in ("true", "1", "yes", "on"): + return True + if lowered in ("false", "0", "no", "off"): + return False + return default + return default def _normalize_unauthorized_dm_behavior(value: Any, default: str = "pair") -> str: From eba8d52d541282c18f853ba9f56a615276097096 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Mon, 30 Mar 2026 13:25:11 -0700 Subject: [PATCH 2/2] fix: show correct shell config path for macOS/zsh in install script (#4025) - print_success() hardcoded 'source ~/.bashrc' regardless of user's shell - On macOS (default zsh), ~/.bashrc doesn't exist, leaving users unable to find the hermes command after install - Now detects $SHELL and shows the correct file (zshrc/bashrc) - Also captures .[all] install failure output instead of silencing with 2>/dev/null, so users can diagnose why full extras failed --- scripts/install.sh | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/scripts/install.sh b/scripts/install.sh index d46771e6a..c04dc4a9d 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -699,14 +699,19 @@ install_deps() { # Install the main package in editable mode with all extras. # Try [all] first, fall back to base install if extras have issues. - if ! $UV_CMD pip install -e ".[all]" 2>/dev/null; then + ALL_INSTALL_LOG=$(mktemp) + if ! $UV_CMD pip install -e ".[all]" 2>"$ALL_INSTALL_LOG"; then log_warn "Full install (.[all]) failed, trying base install..." + log_info "Reason: $(tail -5 "$ALL_INSTALL_LOG" | head -3)" + rm -f "$ALL_INSTALL_LOG" if ! $UV_CMD pip install -e "."; then log_error "Package installation failed." log_info "Check that build tools are installed: sudo apt install build-essential python3-dev" log_info "Then re-run: cd $INSTALL_DIR && uv pip install -e '.[all]'" exit 1 fi + else + rm -f "$ALL_INSTALL_LOG" fi log_success "Main package installed" @@ -1070,7 +1075,14 @@ print_success() { echo "" echo -e "${YELLOW}⚡ Reload your shell to use 'hermes' command:${NC}" echo "" - echo " source ~/.bashrc # or ~/.zshrc" + LOGIN_SHELL="$(basename "${SHELL:-/bin/bash}")" + if [ "$LOGIN_SHELL" = "zsh" ]; then + echo " source ~/.zshrc" + elif [ "$LOGIN_SHELL" = "bash" ]; then + echo " source ~/.bashrc" + else + echo " source ~/.bashrc # or ~/.zshrc" + fi echo "" # Show Node.js warning if auto-install failed