Commit Graph
5 Commits
Author SHA1 Message Date
BFlat 1fcd8f8d1b Merge pull request #1766 from TrevorBrown-dev/fix/web-events-clock
M8: posting a comment in the browser no longer stops the app (#1764)
2026-11-07 12:34:59 +08:00
Dylan M. Taylor 417ad412a2 perf(engine): keep each events.poll topic once (#1935)
The topic list was validated but not deduplicated, and it is scanned for
every retained event while the log's lock is held, so a request repeating
one topic thousands of times multiplied that work. Repeats collapse and a
list naming all is just all.
2026-11-03 22:23:52 -05:00
Trevor BrownandClaude Fable 5.1 12c9acbf0c events test: the stamp is within a minute of a second clock read, not ordered against it
Review follow-up on #1766: a backward wall-clock step between the push and the test read made the ordering assertion flaky.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-01 00:17:54 -04:00
Trevor BrownandClaude Fable 5.1 7bee269c4d M8: posting a comment in the browser no longer stops the app (#1764)
The event log read the clock through std::time::SystemTime and Instant, which panic on wasm32-unknown-unknown ("time not implemented on this platform"). Every mutating comment.* command appends an event, so the first comment posted in the web build hit it. The log now takes SystemTime, UNIX_EPOCH and Instant from web_time, as the rest of the engine does. A test checks the stamp is a current Unix time read through the same clock.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-31 10:58:09 -04:00
phonedu 8e6b3bf449 M12: MCP comment feedback and live change events
Comments become the task queue for an attached or headless MCP client: comment.prompt returns a bounded Markdown brief, the Comments panel gains Copy for AI, and the MCP server exposes fix_comments, watch_comments, figcraft://comments and wait_for_changes. Mutating comment.* commands append to a bounded in-memory event log; the control channel's events.poll long-polls it without the UI thread, and a successful batch commits its events only if the whole batch lands. No model, network dependency, asset or file-format change.
2026-10-28 21:42:31 +08:00