把 V4.0 骨架以来的全部功能开发固化为主干基线,内容包括:
· client/ 全量 Android/macOS 客户端(Flutter + Rust 核心)
· server/ 网关、业务服务、仓储层
· deploy/ compose、Dockerfile、init.sql + migrate.sql(幂等迁移)
· shared/ tests/ 协议、编解码、指标清单与全部测试套件
· docs/ README 架构方案与运维手册
本轮之前修复的主要缺陷(详见各文件注释与 client/README.md):
· 首次部署路径(init.sql 的 device_tokens 建表顺序)
· 每 20 分钟硬切以外的设备身份漂移与**设备归并**(shared/device-identity.js)
· 配置无版本号、无校验导致的病态残留(host/config_migration.dart)
· 数据库迁移从不执行(deploy/migrate.sql + compose 的 migrate 服务)
验证:客户端 282/282、全量回归 20 套件 0 失败。
⚠️ 水墨屏专属实现(看板、水墨屏令牌、einkMode、常亮)**不在本分支**,
由 feature/eink 承载,主干不受其影响。
35 lines
918 B
Plaintext
35 lines
918 B
Plaintext
# PMon 构建上下文排除清单
|
|
#
|
|
# 为什么必须存在:两个 Dockerfile 的 build.context 都是仓库根(见 docker-compose.yml),
|
|
# 没有本文件时 `docker compose build` 会把宿主的 node_modules、rust-core/target、
|
|
# .git 全部打进构建上下文上传给 daemon —— 上下文轻松上 GB,构建极慢且无意义。
|
|
#
|
|
# 注意:不要排除 package-lock.json —— 各阶段的 npm ci 依赖它。
|
|
|
|
# 依赖目录(镜像内由 builder 阶段 npm ci 生成)
|
|
**/node_modules
|
|
|
|
# Rust 构建产物(镜像不构建 Rust;采集核心随客户端分发,不进服务端镜像)
|
|
rust-core/target
|
|
|
|
# 版本控制与开发环境
|
|
.git
|
|
.gitignore
|
|
.dockerignore
|
|
|
|
# 文档与方案原文(运行时不需要)
|
|
docs/
|
|
*.md
|
|
|
|
# 本机环境变量与密钥(绝不进镜像)
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
deploy/certs/
|
|
|
|
# 编辑器与系统垃圾
|
|
**/.DS_Store
|
|
**/.vscode
|
|
**/.idea
|
|
**/*.log
|