Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

WebSocket Events

The /ws route emits ServerMessage events (JSON, tagged on a type field) whenever the active session changes. The full mapping from internal CanvasPatch variants to wire events lives in crates/ilold-web/src/ws/handler.rs.

Session events

EventFieldsTrigger
session_add_nodescenario, function, access, step_index, optional runtime (CU + diffs + logs excerpt on Solana)call adds a step
session_remove_nodescenarioback rewinds the last step
session_clearscenarioclear wipes the scenario
session_highlightscenario, functionAuditor selects a step (web canvas)

Scenario events

EventFieldsTrigger
scenario_creatednamescenario new
scenario_switchedfrom, toscenario switch
scenario_deletednamescenario delete
scenario_forkedfrom, to, at_stepscenario fork
scenario_store_reloadedactiveAfter load, when the entire scenario tree is rehydrated

Solana-only events

EventFieldsTrigger
solana_users_changedscenariousers new, airdrop, or anything that mutates the keypair set
session_overlay_updatescenario, ix_name, calls_added, failed_added, optional cu, cpi_targets_addedRuntime overlay aggregates updated after a call

Client → server

The only message the client can send is a search query consumed by crates/ilold-web/src/ws/search.rs. Responses come back as search_result (one per match) and search_complete (total count).

PTY bridge

GET /ws/pty opens a PTY for the embedded REPL in the web canvas. The protocol is binary-passthrough; the wire format is documented inline in crates/ilold-web/src/ws/pty.rs.