Skip to main content

Build with IOSignal and AI

Use this page with the platform API and application guide relevant to your task. The JavaScript baseline is 7.2.0. Arduino, CLI, and Boho are separate packages; inspect lockfiles, npm ls iosignal, and Arduino library.properties.

Choose a path​

TaskReadFirst success
Browser/Node chatQuickstart, API, bundleTwo clients receive messages on the same server/channel
UI componentsAPI, lifecycleCorrect subscriptions and cleanup
ArduinoIntroduction, installation, board exampleCompile, then confirm physical communication
Device controlWorkbench, CID or groupApplied output and received state
Terminal diagnosisCLIReproduce the same message route
Video callsAPI, WebRTCSDP/ICE exchange and actual remote media

Source responsibilities​

Use iosignal for JS types and server/client tests; iosignal-arduino for C++ buffers, callbacks, and connection loops; iosignal-cli for commands and --help; remocon-arduino for pins and command/state conventions; test_iosignal_net for the workbench; and iosignal-examples for runnable apps and lockfiles. This documentation repository defines learning paths.

Record the source commit because main changes. Local uncommitted files are not automatically downloadable from GitHub. If several repositories copy one app, identify its authoritative source before editing.

Behaviors to verify​

  1. Socket open is not IOSignal ready. Use CID, manual subscriptions, and sends after ready.
  2. room and room#topic are explicit channels; #topic uses the server's external-IP home grouping. A home channel is not authentication.
  3. io.signal(peerCid + '@rtc', payload) is received through on('@rtc', (tag, payload) => ...) with tag @rtc, not through message.
  4. Registering the same processing on both @ and @rtc can execute it twice. Do not subscribe to a direct receiving tag.
  5. on() does not subscribe. Repeat manual subscriptions on ready; follow lifecycle ordering for listen() and immediate sends.
  6. Public servers may redirect before first ready. Distinguish that from disconnection after readiness and bound the wait.
  7. Room capacity, permissions, device command meanings, and WebRTC offer ownership are application rules.
  8. signal() is not acknowledgment of business completion. Design replies and verify actual results when needed.

Check payload and the installed API for types and limits. Do not invent an IOSignal API from another WebSocket library.

Request template​

Goal: [application and expected result]
Runtime: [browser / Node.js / board and network]
Source repository and commit: [...]
Installed versions: [iosignal 7.2.0 and related packages]
References: this guide + platform API + application guide

Separate library guarantees from application choices.
Verify undocumented behavior in this version's types and source.
Report run commands, expected results, tests performed, and untested scope.

If a model cannot open links, provide the selected Markdown sources. In completion reports, distinguish source review, build, automated/browser tests, and physical tests; local/public servers; same-machine/cross-network clients; and simulated/real media. Record the date and versions. See current validation.