LocalAI/tests
Ettore Di Giacinto e1a6010874
fix(streaming): deduplicate tool call emissions during streaming (#9292)
The Go-side incremental JSON parser was emitting the same tool call on
every streaming token because it lacked the len > lastEmittedCount guard
that the XML parser had. On top of that, the post-streaming default:
case re-emitted all tool calls from index 0, duplicating everything.

This produced duplicate delta.tool_calls events causing clients to
accumulate arguments as "{args}{args}" — invalid JSON.

Fixes:
- JSON incremental parser: add len(jsonResults) > lastEmittedCount guard
  and loop from lastEmittedCount (matching the XML parser pattern)
- Post-streaming default: case: skip i < lastEmittedCount entries that
  were already emitted during streaming
- JSON parser: use blocking channel send (matching XML parser behavior)
2026-04-10 00:44:25 +02:00
..
e2e fix(streaming): deduplicate tool call emissions during streaming (#9292) 2026-04-10 00:44:25 +02:00
e2e-aio feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
e2e-ui feat(ui, gallery): Show model backends and add searchable model/backend selector (#9060) 2026-03-18 21:14:41 +01:00
fixtures feat: Add backend gallery (#5607) 2025-06-15 14:56:52 +02:00
integration feat: add distributed mode (#9124) 2026-03-30 00:47:27 +02:00
models_fixtures feat(transformers): merge sentencetransformers backend (#4624) 2025-01-18 18:30:30 +01:00