Optimum version
latest
Vintage Story version
1.22.7
Platform
Linux
bug 1: patch gate die on sigpipe
expected: bootstrap see patches/ has .patch then apply all 118.
actual: print "No patches/ to apply." then 118 patch skipped, donor code miss patch-added member (like TyronThreadPool.SetMaxThreadsWorkerAfter), build fail.
reproduce: ./install-linux.sh clean clone. gate scripts/bootstrap.sh:1468: find "$patches_dir" -name '.patch' -print 2>/dev/null | head -n 1 | grep -q .. script use set -euo pipefail. head exit after 1 line, find get sigpipe (141), pipeline false, else branch. work on ci only when find output small, finish before head close.
fix: find "$patches_dir" -name '*.patch' -print -quit >/dev/null 2>&1, -quit stop find after first match, no broken pipe.
bug 2: same type in two dll (cs0433)
expected: OptimumCompatibilityGuard, OptimumFrustumCullSimd, OptimumKometGuard compile once, only in Optimum.Api.Contracts.
actual: donor csproj sources/VintagestoryApi/VintagestoryAPI.csproj compile them too, into VintagestoryAPI.dll. mod like VSEssentials reference both dll, same type twice, error cs0433.
reproduce: build VintageStory.slnx after bug 1 fix. error:
VSEssentials/Systems/OptimumStatus.cs: error CS0433: The type 'OptimumCompatibilityGuard' exists in both 'Optimum.Api.Contracts' and 'VintagestoryAPI'
csproj remove list has 18 of 21 optimum file, forgot 3.
fix: add , , to overlay csproj. optium code live only in contracts dll.
Checks
Optimum version
latest
Vintage Story version
1.22.7
Platform
Linux
bug 1: patch gate die on sigpipe
expected: bootstrap see patches/ has .patch then apply all 118.
actual: print "No patches/ to apply." then 118 patch skipped, donor code miss patch-added member (like TyronThreadPool.SetMaxThreadsWorkerAfter), build fail.
reproduce: ./install-linux.sh clean clone. gate scripts/bootstrap.sh:1468: find "$patches_dir" -name '.patch' -print 2>/dev/null | head -n 1 | grep -q .. script use set -euo pipefail. head exit after 1 line, find get sigpipe (141), pipeline false, else branch. work on ci only when find output small, finish before head close.
fix: find "$patches_dir" -name '*.patch' -print -quit >/dev/null 2>&1, -quit stop find after first match, no broken pipe.
bug 2: same type in two dll (cs0433)
expected: OptimumCompatibilityGuard, OptimumFrustumCullSimd, OptimumKometGuard compile once, only in Optimum.Api.Contracts.
actual: donor csproj sources/VintagestoryApi/VintagestoryAPI.csproj compile them too, into VintagestoryAPI.dll. mod like VSEssentials reference both dll, same type twice, error cs0433.
reproduce: build VintageStory.slnx after bug 1 fix. error:
VSEssentials/Systems/OptimumStatus.cs: error CS0433: The type 'OptimumCompatibilityGuard' exists in both 'Optimum.Api.Contracts' and 'VintagestoryAPI'
csproj remove list has 18 of 21 optimum file, forgot 3.
fix: add , , to overlay csproj. optium code live only in contracts dll.
Checks