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
| Task | Read | First success |
|---|---|---|
| Browser/Node chat | Quickstart, API, bundle | Two clients receive messages on the same server/channel |
| UI components | API, lifecycle | Correct subscriptions and cleanup |
| Arduino | Introduction, installation, board example | Compile, then confirm physical communication |
| Device control | Workbench, CID or group | Applied output and received state |
| Terminal diagnosis | CLI | Reproduce the same message route |
| Video calls | API, WebRTC | SDP/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
- Socket open is not IOSignal
ready. Use CID, manual subscriptions, and sends after ready. roomandroom#topicare explicit channels;#topicuses the server's external-IP home grouping. A home channel is not authentication.io.signal(peerCid + '@rtc', payload)is received throughon('@rtc', (tag, payload) => ...)with tag@rtc, not throughmessage.- Registering the same processing on both
@and@rtccan execute it twice. Do not subscribe to a direct receiving tag. on()does not subscribe. Repeat manual subscriptions on ready; follow lifecycle ordering forlisten()and immediate sends.- Public servers may redirect before first ready. Distinguish that from disconnection after readiness and bound the wait.
- Room capacity, permissions, device command meanings, and WebRTC offer ownership are application rules.
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.