Explain how two people on different machines try reciprocal practice before staging

未关闭 适合新手
#646 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
1/5
预计耗时
1-3 小时
新手友好度
88/100
Issue 类型
文档
描述清晰度
描述清楚
活跃度
活跃
技术栈
cloud, github, rust, sqlite

调研方向

从 docs/peer-interviews.md 中现有的验收检查开始,添加一条简短说明,介绍如何在 staging 前尝试互助练习。解释为什么 localhost 和 LAN 地址无法让远程伙伴访问麦克风,以及为什么双方需要使用同一个服务器和 lobby。说明双方必须共用 HTTPS origin,且 OAuth callback 必须匹配;可以将隧道作为可选示例,并注明任何拥有其 URL 的人都能访问暴露出来的服务器。

由索引模型根据 Issue 内容生成。

描述

docs/peer-interviews.md assumes a staging deployment: its acceptance check uses "two real GitHub accounts in separate browser profiles, headphones and a staging deployment". It does not say how two people on different machines try reciprocal practice when the server runs on one person's computer, which is what a teaching assistant or a contributor does first. Three things each cost us time while doing so (at 5e00eab):

  1. 127.0.0.1:3000 is reachable only from the machine running the server. A partner who opens the same address reaches their own machine.
  2. Binding to a LAN address and opening http://192.168.x.x:3000 loads the page, but the browser does not expose the microphone outside a secure context (HTTPS or localhost), so the room has no audio.
  3. Two people each running their own server with the same LiveKit credentials do not see each other in Available partners. Pairing lives in each server's SQLite ("HTTP and SQLite own membership, roles, clocks, snapshots and feedback"), so sharing a LiveKit project does not share the lobby.

What worked: one person runs the server, exposes it over HTTPS with cloudflared tunnel --url http://127.0.0.1:3000, sets the OAuth App's callback to the tunnel origin plus /api/callback, and both people open the tunnel's /peer-lobby and sign in with different GitHub accounts.

Intended correction: a short "Trying it with a partner before staging" note in docs/peer-interviews.md that states the three constraints above and the requirement that both people use one server over HTTPS. It does not need to endorse a particular tunnel; naming one as an example, with the caution that it exposes the server and its provider quotas to anyone holding the URL, is enough.

Reader outcome: someone with a working local server knows, before inviting a partner, that they need one shared HTTPS origin and a matching OAuth callback.

Related: the OAuth App setup steps are #645 and the single-redirect-URI behavior is #643; this issue is only about reaching one server from two machines.

主要语言
Rust
星标
228
派生
150
平均合并
1 天 3 小时
30 天内合并 PR
230

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

sysprog21/codetrial 的其他 Issue

查看 sysprog21/codetrial 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。