aboutsummaryrefslogtreecommitdiffstats
path: root/examples/tools/search.sh
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-16 12:50:50 +0200
committerDanilo M. <danix@danix.xyz>2026-10-16 12:50:50 +0200
commitf6c4f3639409369b1f3954e53f48b6d86e3d85f6 (patch)
tree1274fbbb0a37b89eec77e7fd4491fdb327841ff8 /examples/tools/search.sh
parent061d20724bb7b1ca271d5a4dd03733bd9d3c8377 (diff)
downloaddesktop-assistant-f6c4f3639409369b1f3954e53f48b6d86e3d85f6.tar.gz
desktop-assistant-f6c4f3639409369b1f3954e53f48b6d86e3d85f6.zip
Protocol: check command arguments, keep readers alive, one daemon
From review of the protocol commit. An exception inside a command, such as an id SQLite cannot bind, killed that client's reader and left a deaf connection still receiving events; commands now run under a try that answers error. Ids must be integers: delete with no id compared None to an unsaved conversation's None and wiped it, and a string id deleted the row through SQLite's affinity while the Python comparison missed, leaving the current conversation pointing at nothing so every later answer failed to save. ask, search and their arguments are type-checked instead of coerced. serve() refuses to start over a socket that answers, since unlinking it orphaned the live daemon's clients, and main() removes the socket only if it served it. The accept loop logs and continues on errors instead of dying silently, and a client line over a megabyte is dropped. The two known ceilings, a stalled client delaying everyone once for 2 s and a stopped reply holding the llama-server slot until its next chunk, are marked. New checks cover each of these and a client connecting mid-reply. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'examples/tools/search.sh')
0 files changed, 0 insertions, 0 deletions