Download Latest Version fabric_Linux_i386.tar.gz (20.4 MB)
Email in envelope

Get an email when there's a new version of Fabric

Home / v1.4.438
Name Modified Size InfoDownloads / Week
Parent folder
fabric_1.4.438_checksums.txt 2026-03-18 736 Bytes
fabric_Darwin_arm64.tar.gz 2026-03-18 20.6 MB
fabric_Windows_i386.zip 2026-03-18 20.8 MB
fabric_Windows_x86_64.zip 2026-03-18 21.8 MB
fabric_Linux_i386.tar.gz 2026-03-18 20.1 MB
fabric_Darwin_x86_64.tar.gz 2026-03-18 21.8 MB
fabric_Linux_arm64.tar.gz 2026-03-18 19.7 MB
fabric_Linux_x86_64.tar.gz 2026-03-18 21.4 MB
fabric_Windows_arm64.zip 2026-03-18 19.8 MB
README.md 2026-03-18 1.6 kB
v1.4.438 source code.tar.gz 2026-03-18 20.7 MB
v1.4.438 source code.zip 2026-03-18 21.2 MB
Totals: 12 Items   207.8 MB 0

Changes

PR #2061 by praxstack: fix(chat): prevent streaming deadlock and unify strategy handling

  • Fixed a streaming deadlock in Chatter.Send by introducing recordFirstStreamError(), which uses a non-blocking select/default to safely send only the first error to the buffered error channel, preventing goroutine leaks when both the SendStream goroutine and the stream-update loop attempt to write simultaneously.
  • Unified strategy handling across the CLI and REST API server by passing StrategyName through to GetChatter() and ChatRequest, ensuring the core Chatter.BuildSession() layer handles strategy loading consistently instead of duplicating logic in the server handler.
  • Removed inline os.ReadFile strategy loading from the server handler, which previously bypassed the core Chatter layer, causing strategy prompts to be incorrectly prepended to UserInput rather than the system message.
  • Replaced raw string concatenation for system message assembly with a new joinPromptSections() helper that trims whitespace, skips empty sections, and joins strategy, context, and pattern prompts with a single newline separator.
  • Added regression and unit tests, including a 2-second timeout deadlock test (TestChatter_Send_StreamingErrorUpdateAndReturnDoesNotDeadlock), a session-assembly validation test (TestChatter_BuildSession_SeparatesSystemSections), and a helper verification test (TestBuildPromptChatRequest_PreservesStrategyAndUserInput).
Source: README.md, updated 2026-03-18