| Name | Modified | Size | Downloads / 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.Sendby introducingrecordFirstStreamError(), which uses a non-blockingselect/defaultto safely send only the first error to the buffered error channel, preventing goroutine leaks when both theSendStreamgoroutine and the stream-update loop attempt to write simultaneously. - Unified strategy handling across the CLI and REST API server by passing
StrategyNamethrough toGetChatter()andChatRequest, ensuring the coreChatter.BuildSession()layer handles strategy loading consistently instead of duplicating logic in the server handler. - Removed inline
os.ReadFilestrategy loading from the server handler, which previously bypassed the core Chatter layer, causing strategy prompts to be incorrectly prepended toUserInputrather 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).