2.6 KiB
2.6 KiB
Changelog
Unreleased
Fixed
- Brainstorm server on Windows: Auto-detect Windows/Git Bash (
OSTYPE=msys*,MSYSTEM) and switch to foreground mode, fixing silent server failure caused bynohup/disownprocess reaping. Applies to all Windows shells (CMD, PowerShell, Git Bash) since they all route through Git Bash. (#737, based on #740) - Portable shebangs: Replace
#!/bin/bashwith#!/usr/bin/env bashin all 13 shell scripts. Fixes execution on NixOS, FreeBSD, and macOS with Homebrew bash where/bin/bashis outdated or missing. (#700, dupes: #747) - POSIX-safe hook script: Replace
${BASH_SOURCE[0]:-$0}with$0inhooks/session-startand polyglot-hooks docs. Fixes 'Bad substitution' error on Ubuntu/Debian where/bin/shis dash. (#553) - Bash 5.3+ hook hang: Replace heredoc (
cat <<EOF) withprintfinhooks/session-start. Fixes indefinite hang on macOS with Homebrew bash 5.3+ caused by a bash regression with large variable expansion in heredocs. (#572, #571) - Cursor hooks support: Add
hooks/hooks-cursor.jsonwith Cursor's camelCase format (sessionStart,version: 1) and update.cursor-plugin/plugin.jsonto reference it. Fix platform detection insession-startto checkCURSOR_PLUGIN_ROOTfirst (Cursor may also setCLAUDE_PLUGIN_ROOT). (Based on #709)
Already fixed on dev (closed PRs)
- Windows hook quoting (#630, #529):
hooks.jsonalready uses escaped double quotes on dev. - Windows symlink path (#539): Closed — the PR introduced a bug (literal
~in path alongside$env:USERPROFILE). Current docs are correct.
Known Issues
BRAINSTORM_OWNER_PIDon Windows (main branch only): The main branch'sserver.jsusesprocess.kill(OWNER_PID, 0)for lifecycle checks, but receives MSYS2 PIDs which are invisible to Node.js (different PID namespace). This causes the server to self-terminate after 60 seconds. Fix: resolveOWNER_PIDvia/proc/$PPID/winpidto get the Windows-native PID. The dev branch'sindex.jsdoes not have this issue since it has no OWNER_PID lifecycle check.