diff --git a/External/kanata b/External/kanata index 6a05a4a3f..12b64a6fb 160000 --- a/External/kanata +++ b/External/kanata @@ -1 +1 @@ -Subproject commit 6a05a4a3fea117eb1d240d9c77492fb9ed02f7d1 +Subproject commit 12b64a6fb7354593558918e3b4d4f5289fea8754 diff --git a/Scripts/build-kanata.sh b/Scripts/build-kanata.sh index c7bb009cf..12dbe0d7c 100755 --- a/Scripts/build-kanata.sh +++ b/Scripts/build-kanata.sh @@ -51,9 +51,13 @@ echo "📁 Build directory: $BUILD_DIR" # TCC-Safe Caching Logic function calculate_source_hash() { - # Generate hash based on kanata source files (excluding build artifacts) + # Generate hash based on kanata source files (excluding build artifacts). + # Includes C/C++ sources: the fork vendors the karabiner-driverkit crate + # (driverkit/c_src), and a .cpp/.hpp-only change must invalidate the cache + # or a stale engine silently ships (bit MAL-57 Layer 3). cd "$KANATA_SOURCE" - find . \( -name "*.rs" -o -name "*.toml" -o -name "*.lock" \) \ + find . \( -name "*.rs" -o -name "*.toml" -o -name "*.lock" \ + -o -name "*.c" -o -name "*.cpp" -o -name "*.h" -o -name "*.hpp" \) \ -not -path "./target/*" \ -exec shasum -a 256 {} + 2>/dev/null | shasum -a 256 | cut -d' ' -f1 }