Repository navigation
Conversation
基于上游v0.6.0保留个人改造,增加按成员加密发送和默认关闭的WebRTC动图连接。支持自定义STUN、TURN与系统加密保存凭据,保持5MiB上限及旧客户端静态回退。 验证:类型检查、2105项Vitest测试、1225项原生测试、生产构建和Windows开发模式通过。真实Chromium WebRTC完成5MiB GIF传输、三人接收隔离和首帧重播验证;跨网络TURN及macOS/Linux运行仍待实测。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why / 改动内容与原因
Add recipient controls for room pings, emotes, text and alive messages:
为房间信号、表情、文字和存活提示增加接收对象控制:
Selected messages use pairwise encryption derived from fresh, signed room identities. Other room members cannot decrypt them. Votes, ballots and presence remain room-wide. Older clients continue to work in Everyone mode.
定向消息使用基于临时且已签名房间身份派生的双方独立密钥,房间内其他成员无法解密。投票、投票回应和成员状态仍发送给全房间。旧版客户端仍可在“所有人”模式下正常使用。
Add animated GIF and WebP synchronization over LAN and optional WebRTC data channels for internet-only peers. Internet animations are disabled by default and keep the existing 5 MiB and 1024 px limits. Static thumbnails remain the fallback while downloading, after a failure, or for older clients.
增加通过局域网同步 GIF 和动态 WebP 原图的功能。仅能通过互联网连接的成员可以选择使用 WebRTC 数据通道。互联网动图默认关闭,并保留现有的 5 MiB 和最长边 1024 像素限制。下载期间、连接失败或对方使用旧版客户端时,仍显示静态缩略图。
Users can configure STUN and TURN servers. TURN passwords use the operating system's secure storage and are not written to settings or signalling messages. The default STUN host is
stun.l.google.com:19302; configured TURN hosts are also contacted when enabled. Direct WebRTC connections may reveal peer IP addresses.用户可以配置 STUN 和 TURN 服务器。TURN 密码通过操作系统的安全存储保存,不会写入设置文件或房间协商消息。默认 STUN 主机为
stun.l.google.com:19302;启用后也会连接用户配置的 TURN 主机。WebRTC 直连可能让双方看到彼此的 IP 地址。How I tested it / 测试方式
npm run typechecknpm run test:helpernpm testnpm run buildnpm run devwith an isolated test profile / 使用独立测试配置运行settings.jsonsettings.jsonCross-network TURN connectivity and macOS/Linux runtime behavior still need field testing.
跨网络 TURN 连通性以及 macOS、Linux 上的实际运行情况仍需进一步测试。
Ran by hand on / 手动测试平台:
Checklist / 检查清单
npm run typecheck,npm run test:helperandnpm testpasssrc/shared/i18n.ts, both READMEs)docs/design.mdis updateddocs/design.mdAGENTS.mdin context and I read the whole diff. Tool: CodexAGENTS.md,并检查了完整差异