Skip to content

feat(plugins): 自动安装并校验托管 XeLaTeX 运行时 - #775

Merged
endxxxx merged 8 commits into
MemTensor:v1.2.5from
endxxxx:codex/managed-texlive-runtime-v1.2.5
Oct 28, 2026
Merged

endxxxx merged 8 commits into
MemTensor:v1.2.5from
endxxxx:codex/managed-texlive-runtime-v1.2.5

Conversation

@endxxxx

@endxxxx endxxxx commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

文献综述在机器缺少 XeLaTeX、模板包或中文字体时会丢失 Memmy 品牌样式。本改动由客户端管理经过校验的便携 TeX Live 运行时,在系统 TeX 不完整时自动下载并缓存所需依赖,供插件完成品牌 PDF 编译。

  • 按平台读取后端运行时清单,校验压缩包及解压文件哈希,提供独立可写 TeX 缓存和 Fandol 中文字体配置。
  • 将 Office 的下载、校验与安装逻辑提取为共用安装器,保留其现有运行时格式;补充命令适配器与安装器测试。
  • 增加 macOS ARM64/x64、Windows x64、Linux x64/ARM64 的原生构建与验收流水线,以及版本固定的运行包制备脚本。中英文品牌验收样例存放在 OSS;CI 根据仓库中的 fixtures.lock.json 下载固定版本,校验字节数、归档及逐文件 SHA-256,并拒绝异常 ZIP 路径与多余文件。客户端仓库不再保存样式、Logo、示例 TeX 或示例图片。Linux 运行包用于 CLI/源码场景,不新增 Linux 桌面发行包。

验证:

  • 样例包 2026.10.28-1 已上传 OSS,匿名下载及全部 9 个文件哈希校验通过;4 项校验测试覆盖归档篡改、大小/逐文件哈希异常、多余文件及 ZIP 路径穿越。
  • 本次原生流水线:Windows x64、Linux x64/ARM64、Intel Mac 四项已通过,覆盖固定 OSS 样例下载及哈希校验、冷安装、离线缓存复用、中英文 XeLaTeX 编译和品牌 PDF 检查。ARM Mac CI 首次因 GitHub hosted runner 容量不足、未获得 runner 而被取消(没有执行测试),已单独重试;本机 ARM Mac 使用同一提交和同一 OSS 固定样例的完整冷安装、离线复用、两遍编译及品牌检查已通过(中文 3 页、英文 2 页)。原有五平台运行时流水线已在迁移前全部通过。
  • 测试环境五个平台运行时接口及 OSS 下载验证通过,Mac ARM64 完成实际空缓存安装。
  • 基于本分支构建的 1.2.5-texlive.1 CN 客户端已签名、公证并通过 Gatekeeper。完整综述流程完成后,显式更新插件至 0.5.60,通过正式渲染能力重导出三页 PDF:两遍编译成功、无降级,日志确认使用托管 TeX 路径,Fandol 字体嵌入且品牌元素显示正常。

配套发布:需部署 memmy-backend 的运行时接口并上传运行包;文献综述插件 0.5.60 包含品牌编译失败时保留源码与诊断、禁止无品牌降级的处理。当前测试 catalog 仍默认 0.5.59。样例迁移仅涉及 CI,不要求重新发布客户端或后端。验收另发现检索限流、部分全文主机受限和正文超长问题,本 PR 未处理这些独立问题。

@endxxxx
endxxxx merged commit 4807da5 into MemTensor:v1.2.5 Oct 28, 2026
6 checks passed
@endxxxx
endxxxx deleted the codex/managed-texlive-runtime-v1.2.5 branch October 28, 2026 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants