Skip to content

Release pipeline publishes; empty-reply fault fixed; site says conversations stay local - #14

Merged
MasterYoav merged 5 commits into
masterfrom
release-publish
Sep 29, 2026
Merged

MasterYoav merged 5 commits into
masterfrom
release-publish

Conversation

@MasterYoav

Copy link
Copy Markdown
Owner
  • Mac release takes a version input: stamps it and a rising build number, points Sparkle at releases/latest/download/appcast.xml, refuses to publish unless Gatekeeper says Notarized Developer ID, then creates the GitHub release with xBot.dmg, the versioned DMG and the appcast. The site's button downloads the DMG directly.
  • Engine: streaming runs are exempt from Bun's 10 s idle timeout. A cold model's first token took longer, the stream was closed under a live run (empty reply), and the next message got 'Thread already running'. Reproduced every time with a 15 s-silent fake model; RED→GREEN socket test; 6/6 full live rounds on fresh engines with a cold model after the fix.
  • Engine: a busy thread answers RUN_ERROR with a sentence instead of an empty 200.
  • Site/docs: the website still said CopilotKit stores conversations. Fixed to ADR-0008; CLAUDE.md, vision and docs index updated.

Engine: format, lint, typecheck, test:ci green on bun 1.3.14 (2257 pass). Swift build + tests green.

…ith its appcast.

workflow_dispatch takes a version. The run stamps it and a rising build number into the bundle,
points Sparkle at releases/latest/download/appcast.xml, refuses to publish anything Gatekeeper
would not accept as notarized, and uploads xBot.dmg, the versioned archive and the appcast.
The site's button downloads the DMG directly.
…CopilotKit.

The website still told visitors CopilotKit stores their conversation history.
Bun closes a connection that writes nothing for idleTimeout seconds, 10 by default. A run over
SSE writes RUN_STARTED and then nothing until the model's first token, and a cold local model or
a busy vendor takes longer. The stream was closed under a live run: an empty reply, and the next
message refused with 'Thread already running' until the orphaned run finished.

Streaming agent runs now have no idle timeout; every other route keeps it. This was the open
intermittent fault in docs/13: with the fix, 6 of 6 full live rounds on fresh engines with a cold
model passed, where the first round without it failed.
…t an empty reply.

The vendor's runner throws on a busy thread, and thrown inside the SSE handler that became a 200
with no events. LocalThreadRunner now answers with RUN_ERROR, which the app already shows.
@MasterYoav
MasterYoav merged commit d05074a into master Sep 29, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant