- docs/upstream/baseline.md: 上游来源/固定版本/许可证原文位置/工具链锁定/差异 - docs/upstream/build-and-rollback.md: 构建命令、本机实测 SHA256、逐提交回退方法 - docs/acceptance/sdk-compat-gate.md: hotfix.12 兼容冒烟矩阵(初始化/登录/会话同步/断线重连/好友/群组/文字双向/图片/文件/语音) - docs/acceptance/pc-boundary.md: PC 端只读核对的可改边界封存 - docs/acceptance/visual-spec-token-entry.md: 视觉规范 v2 唯一来源与 Token 入口预留 - 修正导入/验证文档中回退引用为 B-95 分支实际提交 Co-authored-by: multica-agent <github@multica.ai>
3.5 KiB
3.5 KiB
mobile-next 官方固定基线(docs/upstream)
上游来源与固定版本
| 项 | 值 |
|---|---|
| 上游仓库 | https://github.com/OpenIMSDK/openim-flutter-demo.git |
| 固定标签 | 3.8.3-patch.3 |
| 固定提交 | b3dfdb1e8aaeaaf6f0793e10cadd20d5c184a31f("Updated IM SDK",2025-03-07) |
| 校验方式 | git ls-remote --tags 解析 tag ^{} 指向即上述提交 |
| 许可证 | OpenIM Open Source License(AGPL-3.0 + 附加条款),原文随导入保留在 mobile-next/LICENSE;子包 openim_common/LICENSE、openim_live/LICENSE、local_plugin/flutter_openim_live_alert/LICENSE |
必须固定在该提交,禁止追随上游
main。重建基线命令见docs/upstream/build-and-rollback.md。
与本卡仓库(tongxunruanjian)的差异
基线在官方原版基础上只做了「必须才能构建/入库」的最小改动,业务代码零改动:
| 文件 | 差异 | 原因 |
|---|---|---|
mobile-next/.gitignore |
追加 /build/、/android/.gradle/、/android/local.properties |
上游未忽略 Flutter 构建产物与本机 SDK 路径,避免构建垃圾入库 |
mobile-next/pubspec.lock |
flutter_openim_sdk 由锁文件 3.8.3+2 对齐为 3.8.3+3(flutter pub get 按 pubspec.yaml 声明 3.8.3+3 重新解析) |
上游锁文件落后于 pubspec 声明,属官方产物 |
除上述两处外,mobile-next/ 与上游提交 b3dfdb1e 的整棵工作树一致(不含 .git、.DS_Store、build/、.dart_tool/ 等非跟踪内容)。本卡已用 git diff --no-index 与上游归档树复核:零差异(仅上述 2 处)。
工具链锁定
| 工具 | 版本 | 位置 |
|---|---|---|
| Flutter | 3.24.5 stable(revision dec2ee5c1f,engine a18df97ca5) |
C:\flutter324 |
| Dart | 3.5.4(随 Flutter 3.24.5 分发) | 同上 |
| Java / JDK | Temurin 17.0.20+8 | toolchain\jdk17 |
| Gradle | 7.6.3(mobile-next/android/gradle/wrapper/gradle-wrapper.properties 锁定) |
自动下载缓存 |
| Android Gradle Plugin | 7.3.1(mobile-next/android/build.gradle) |
- |
| Kotlin | 1.9.23(mobile-next/android/build.gradle ext.kotlin_version) |
- |
| compileSdk / targetSdk / minSdk | 34 / 33 / 24(mobile-next/android/app/build.gradle) |
- |
| build-tools | 36.0.0 | Android SDK |
| 依赖锁文件 | mobile-next/pubspec.lock |
已入库 |
关键依赖(对照)
| 依赖 | 版本 | 说明 |
|---|---|---|
flutter_openim_sdk |
3.8.3+3(基线自带,仅对照);兼容门禁目标 3.8.3+hotfix.12(SDK 接入提交) |
升级差异见 SDK 接入提交与 docs/acceptance/sdk-compat-gate.md |
livekit_client |
2.2.5(上游自带,仅对照;正式迁移不采用,保留现有 2.5.0+hotfix.3) | 不随本卡迁移 |
flutter_webrtc / dart_webrtc |
0.12.10 / 1.5.2+hotfix.1(上游自带,仅对照) | 不随本卡迁移 |
许可证状态与门禁
- 本卡只构建并保留 OpenIM 标识与许可证的官方基线,不做「畅联」换标,不产出/发布试用或生产安装包。
- AGPL-3.0 附加条款(禁止未经授权的商业使用、禁止删除/修改/隐藏 OpenIM LOGO 与版权信息)的内部商用与换标边界,尚未取得书面结论;未确认前不得进入品牌迁移或对外/内部试用发布。
回退
- 基线导入提交:
git revert 8046ec7483d68f67011913da12e5e671479b5ff0(本卡固定基线导入提交),可单独回退,不影响mobile/、pc-client/、account-service/与现网。 - 或直接删除并行目录:
git rm -r mobile-next。