docs: add maintenance tracking to readme
This commit is contained in:
parent
ea60bd6155
commit
6d0481f356
2 changed files with 39 additions and 6 deletions
32
README.md
32
README.md
|
|
@ -1,8 +1,8 @@
|
||||||
# gramsrv
|
# gramsrv
|
||||||
|
|
||||||
`gramsrv` is a Go implementation of a Telegram-like MTProto server, focused on
|
`gramsrv` is a Go implementation of a Telegram-like MTProto server, focused on
|
||||||
real client compatibility, repeatable protocol research, and self-hosted chat
|
real client compatibility, repeatable protocol research, self-hosted chat
|
||||||
experiments.
|
experiments, and ongoing tracking of newer Telegram client behavior.
|
||||||
|
|
||||||
[Website](https://telesrv.net) · [Discussion group](https://t.me/telesrv_chat) · [Channel](https://t.me/telesrv) · [中文 README](README.zh-CN.md)
|
[Website](https://telesrv.net) · [Discussion group](https://t.me/telesrv_chat) · [Channel](https://t.me/telesrv) · [中文 README](README.zh-CN.md)
|
||||||
|
|
||||||
|
|
@ -13,9 +13,19 @@ or sponsored by Telegram or the official Telegram team.
|
||||||
|
|
||||||
## Highlights
|
## Highlights
|
||||||
|
|
||||||
|
- **One server program to run.** After PostgreSQL and Redis are ready, the Go
|
||||||
|
server process wires together RSA key preparation, database migrations,
|
||||||
|
language pack seeding, MTProto edge handling, RPC routing, updates,
|
||||||
|
media/files, and reliable dispatch workers.
|
||||||
- **Multi-device is implemented.** Telegram Desktop and Android clients can use
|
- **Multi-device is implemented.** Telegram Desktop and Android clients can use
|
||||||
the same server state, with scoped sessions, online fan-out, current-session
|
the same server state, with scoped sessions, online fan-out, current-session
|
||||||
exclusion, and offline recovery through update difference APIs.
|
exclusion, and offline recovery through update difference APIs.
|
||||||
|
- **Maintained with Telegram version tracking.** The public baseline stays
|
||||||
|
reproducible, while newer Telegram Desktop and Android behavior is tracked
|
||||||
|
through real client traces, compatibility notes, and targeted follow-up work.
|
||||||
|
- **Optimized hot paths are part of the design.** Batched reliable outbox
|
||||||
|
delivery, warmed PostgreSQL pools, scoped session lookups, bounded RPC inputs,
|
||||||
|
and seek-style pagination reduce repeated work on chat, sync, and media paths.
|
||||||
- **Telegram Desktop is the primary compatibility target.** The public build
|
- **Telegram Desktop is the primary compatibility target.** The public build
|
||||||
tracks a pinned TDesktop baseline and keeps compatibility work documented.
|
tracks a pinned TDesktop baseline and keeps compatibility work documented.
|
||||||
- **Android compatibility is active.** The current public screenshots include a
|
- **Android compatibility is active.** The current public screenshots include a
|
||||||
|
|
@ -39,6 +49,19 @@ and development discussion, join [t.me/telesrv_chat](https://t.me/telesrv_chat).
|
||||||
|---|---|
|
|---|---|
|
||||||
| <img src="docs/assets/tdesktop1.png" alt="Telegram Desktop connected to gramsrv" width="520"> | <img src="docs/assets/android1.png" alt="Android client connected to gramsrv" width="260"> |
|
| <img src="docs/assets/tdesktop1.png" alt="Telegram Desktop connected to gramsrv" width="520"> | <img src="docs/assets/android1.png" alt="Android client connected to gramsrv" width="260"> |
|
||||||
|
|
||||||
|
## Maintenance and Version Tracking
|
||||||
|
|
||||||
|
`gramsrv` does not treat one pinned client build as the end of the work. The
|
||||||
|
pinned Telegram Desktop baseline keeps regressions reproducible, while newer
|
||||||
|
Telegram Desktop and Android releases are followed separately through real
|
||||||
|
client startup/sync traces, compatibility matrix updates, and focused adaptation
|
||||||
|
tasks.
|
||||||
|
|
||||||
|
When a new Telegram client path appears, the expected workflow is to record it,
|
||||||
|
bound the inputs, decide whether it should be implemented, stubbed, or marked as
|
||||||
|
out of scope, and then keep the repository documentation in sync with the actual
|
||||||
|
behavior.
|
||||||
|
|
||||||
## Repository Layout
|
## Repository Layout
|
||||||
|
|
||||||
```text
|
```text
|
||||||
|
|
@ -155,8 +178,9 @@ Recommended checks:
|
||||||
|
|
||||||
Compatibility-driven contributions are welcome. Useful areas include Telegram
|
Compatibility-driven contributions are welcome. Useful areas include Telegram
|
||||||
Desktop and Android reports, reproducible RPC traces, focused bug fixes,
|
Desktop and Android reports, reproducible RPC traces, focused bug fixes,
|
||||||
multi-device update tests, performance work on already implemented paths, and
|
new Telegram client version reports, multi-device update tests, performance
|
||||||
documentation that makes local setup easier.
|
work on already implemented paths, and documentation that makes local setup
|
||||||
|
easier.
|
||||||
|
|
||||||
If a change affects visible client behavior, include the client version/commit,
|
If a change affects visible client behavior, include the client version/commit,
|
||||||
the RPC path you tested, and the server log result.
|
the RPC path you tested, and the server log result.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# gramsrv
|
# gramsrv
|
||||||
|
|
||||||
`gramsrv` 是一个用 Go 编写的 Telegram-like MTProto server,重点放在真实客户端兼容、可复现协议研究和自建聊天服务实验。
|
`gramsrv` 是一个用 Go 编写的 Telegram-like MTProto server,重点放在真实客户端兼容、可复现协议研究、自建聊天服务实验,以及对 Telegram 客户端新版本行为的持续追踪。
|
||||||
|
|
||||||
[官网](https://telesrv.net) · [讨论群组](https://t.me/telesrv_chat) · [频道](https://t.me/telesrv) · [English README](README.md)
|
[官网](https://telesrv.net) · [讨论群组](https://t.me/telesrv_chat) · [频道](https://t.me/telesrv) · [English README](README.md)
|
||||||
|
|
||||||
|
|
@ -10,7 +10,10 @@
|
||||||
|
|
||||||
## 亮点
|
## 亮点
|
||||||
|
|
||||||
|
- **一个 server 程序即可运行。** PostgreSQL 与 Redis 准备好后,Go server 进程会编排 RSA key 准备、数据库 migration、语言包 seed、MTProto edge、RPC router、updates、media/files 和可靠投递 worker。
|
||||||
- **多设备已实现。** Telegram Desktop 与 Android 客户端可以使用同一套服务端状态,支持 scoped session、在线 fan-out、当前 session 排除,以及通过 updates difference API 做离线恢复。
|
- **多设备已实现。** Telegram Desktop 与 Android 客户端可以使用同一套服务端状态,支持 scoped session、在线 fan-out、当前 session 排除,以及通过 updates difference API 做离线恢复。
|
||||||
|
- **持续维护并追踪 Telegram 新版本。** 公开基线保持可复现,同时通过真实客户端 trace、兼容记录和后续适配任务持续跟踪 Telegram Desktop 与 Android 新版本行为。
|
||||||
|
- **热路径优化是设计的一部分。** 可靠 outbox 批量投递、PostgreSQL 连接池预热、scoped session 查询、有界 RPC 参数和 seek 分页,减少聊天、同步与媒体路径上的重复工作。
|
||||||
- **Telegram Desktop 是第一兼容目标。** 当前公开版本围绕固定 TDesktop 基线推进,并把兼容性进展写入文档。
|
- **Telegram Desktop 是第一兼容目标。** 当前公开版本围绕固定 TDesktop 基线推进,并把兼容性进展写入文档。
|
||||||
- **Android 兼容正在推进。** 当前公开截图已经包含连接到同一服务端路径的 Android 客户端。
|
- **Android 兼容正在推进。** 当前公开截图已经包含连接到同一服务端路径的 Android 客户端。
|
||||||
- **核心聊天主路径可用。** 已覆盖登录、users、contacts、dialogs、私聊消息、超级群/频道、media/files、用户/频道头像、stickers、reactions、语言包与 presence。
|
- **核心聊天主路径可用。** 已覆盖登录、users、contacts、dialogs、私聊消息、超级群/频道、media/files、用户/频道头像、stickers、reactions、语言包与 presence。
|
||||||
|
|
@ -24,6 +27,12 @@
|
||||||
|---|---|
|
|---|---|
|
||||||
| <img src="docs/assets/tdesktop1.png" alt="Telegram Desktop connected to gramsrv" width="520"> | <img src="docs/assets/android1.png" alt="Android client connected to gramsrv" width="260"> |
|
| <img src="docs/assets/tdesktop1.png" alt="Telegram Desktop connected to gramsrv" width="520"> | <img src="docs/assets/android1.png" alt="Android client connected to gramsrv" width="260"> |
|
||||||
|
|
||||||
|
## 持续维护与版本追踪
|
||||||
|
|
||||||
|
`gramsrv` 不会把某一个固定客户端版本当成终点。固定 Telegram Desktop 基线用于保证回归可复现;新的 Telegram Desktop 与 Android 版本会通过真实客户端启动/同步 trace、兼容矩阵更新和聚焦适配任务持续跟进。
|
||||||
|
|
||||||
|
当新的 Telegram 客户端路径出现时,推荐流程是先记录调用,约束输入边界,再决定实现、stub 或标记为范围外,并保持仓库文档与实际行为一致。
|
||||||
|
|
||||||
## 仓库结构
|
## 仓库结构
|
||||||
|
|
||||||
```text
|
```text
|
||||||
|
|
@ -128,6 +137,6 @@ Start-Process $tdesktop -ArgumentList @("-workdir", "$PWD\.tdata-bob")
|
||||||
|
|
||||||
## 参与贡献
|
## 参与贡献
|
||||||
|
|
||||||
欢迎围绕兼容性目标参与贡献。现在最有价值的方向包括 Telegram Desktop / Android 兼容反馈、可复现 RPC trace、聚焦的小 bug fix、多设备 update 测试、已实现路径的性能优化,以及让本地启动更顺滑的文档改进。
|
欢迎围绕兼容性目标参与贡献。现在最有价值的方向包括 Telegram Desktop / Android 兼容反馈、新 Telegram 客户端版本反馈、可复现 RPC trace、聚焦的小 bug fix、多设备 update 测试、已实现路径的性能优化,以及让本地启动更顺滑的文档改进。
|
||||||
|
|
||||||
如果改动会影响客户端可见行为,请写清客户端版本/commit、验证过的 RPC 路径,以及 server 日志结果。
|
如果改动会影响客户端可见行为,请写清客户端版本/commit、验证过的 RPC 路径,以及 server 日志结果。
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue