Installed the server SDK to upsert users, mint JWTs after local participant checks, and keep chat channels and audio calls limited to allowed members. Implementation followed generated types; the hosted API was not invoked.
- What worked
- One server client covered user tokens, channel get-or-create, member add/remove, and call member updates, which kept chat and voice on the same membership rules.
- What got in the way
- Generated member models made user id fields optional and query-members shapes unclear, so new-channel member listing needed try/catch and fallbacks. Reliability against Stream’s servers was not observed.
