Your Name
63f0b57466
chore(release): bump version to 0.1.12
2026-01-23 01:00:18 +08:00
Your Name
31088cf12b
fix: 修正表單標籤結構,將文本包裝在 span 中以改善可讀性
2026-01-23 00:52:32 +08:00
Your Name
443cdaa01c
refactor(ci): 將 E2E 測試移至服務更新後執行
...
- docker-build-remote.yml: E2E 測試現在在 Step 20
- 測試在實際部署的 convertx-cn 容器上執行
- 確保服務更新成功後才驗證功能
2026-01-23 00:45:18 +08:00
Your Name
3eec72926f
feat(ci): 擴展 CI/CD E2E 測試並新增 Mock 測試
...
- release.yml: 新增 16 個 Docker 容器 E2E 測試
- Inkscape (SVG→PNG, SVG→PDF)
- Pandoc (Markdown→HTML, LaTeX)
- LibreOffice (TXT→PDF, ODT→DOCX)
- FFmpeg (音訊、視訊、MP4→GIF)
- ImageMagick (PNG→JPEG)
- Calibre (HTML→EPUB)
- Potrace (PBM→SVG)
- Tesseract OCR
- GraphicsMagick, Resvg, VIPS
- docker-build-remote.yml: 新增 21 個遠端 E2E 測試
- 透過 Tailscale SSH 在遠端 Docker 容器中執行
- 包含通過/失敗計數和測試摘要
- 新增 Mock 測試 (converters.mock.test.ts)
- 81 個測試驗證轉換器配置邏輯
- 不依賴實際工具,可在本地執行
- 測試 API 結構、格式支援、錯誤處理等
2026-01-23 00:42:12 +08:00
Your Name
56161ed2e1
fix: format E2E tests and add helpers to knip ignore
2026-01-23 00:26:11 +08:00
Your Name
a9f6e1de6f
ci: add E2E tests to release workflow
...
- Add E2E converter tests in Docker container (verify-image job)
- Inkscape: SVG → PNG
- Pandoc: Markdown → HTML
- LibreOffice: TXT → PDF
- FFmpeg: Audio generation
- ImageMagick: PNG → JPEG
- API healthcheck endpoint
- Add cleanup step for verification containers
- Update verification summary to include E2E results
- Install pandoc and imagemagick in run-bun-test workflow for E2E tests
2026-01-23 00:18:03 +08:00
Your Name
840c215597
test(e2e): add End-to-End test suite
...
Added comprehensive E2E tests:
1. API E2E Tests (api.e2e.test.ts):
- Healthcheck API testing
- Static resources verification
- Module loading tests
- Converter properties validation
- File type normalization tests
- i18n module tests
- Transfer module tests
- Database structure tests
2. Converter E2E Tests (converters.e2e.test.ts):
- Real Inkscape conversions (SVG → PNG/PDF/EPS)
- Real Pandoc conversions (Markdown → HTML/DOCX/RST)
- Dasel format conversions (JSON → YAML/TOML)
- Batch conversion tests
- Error handling tests
- Auto-detection of available tools
3. Test Infrastructure:
- helpers.ts: Tool detection, test file generation
- fixtures/: Sample test files (SVG, MD, JSON)
- .gitignore: Exclude output directory
Total: 34 new E2E tests
2026-01-23 00:14:31 +08:00
Your Name
26304a295e
fix(inkscape): use headless-safe export syntax (--export-type/--export-filename)
...
Breaking change from Inkscape 1.0+:
- Old syntax: inkscape input.png -o output.svg (triggers GTK init)
- New syntax: inkscape input.png --export-type=svg --export-filename=output.svg
This is the correct headless-safe approach, no need for xvfb.
Ref: https://inkscape.org/doc/inkscape-man.html
2026-01-23 00:01:24 +08:00
Your Name
b5992a84e0
fix(inkscape): use xvfb-run for headless execution
...
- Inkscape requires X11 display connection, causing 'GtkStyleContext without display' error
- Solution: use xvfb-run to create virtual X11 display
- Fallback: try direct inkscape if xvfb-run fails
- Add xvfb package to Dockerfile
- Update inkscape tests for new xvfb-run behavior
Fixes: Gtk-ERROR: Can't create a GtkStyleContext without a display connection
2026-01-22 23:56:47 +08:00
Your Name
2f9c418964
Merge branch 'main' of https://github.com/pi-docket/ConvertX-CN
2026-01-22 23:52:28 +08:00
Your Name
4ec60bf696
fix: 更新 bun.lock 中的依賴版本以提升穩定性和安全性
2026-01-22 23:52:25 +08:00
Your Name
d5c9bfa320
feat(ci): add model/headless verification, use --no-ff merge strategy
...
- Add verify-image job in release.yml with:
- Headless environment verification (DISPLAY, Xvfb, LibreOffice, Inkscape, Calibre)
- Model download verification (HuggingFace cache, ONNX models, offline mode)
- Basic functionality verification (container startup, tool availability)
- Add Test 3 and Test 4 in upstream-sync.yml for headless/model verification
- Update auto-upstream-sync.yml to use git merge --no-ff for better history tracking
2026-01-22 23:51:18 +08:00
evil9369
381de0870d
Update README with testing notes for features
2026-01-22 22:47:53 +08:00
Your Name
89c121bdf9
fix: 簡化 MinerU 和 PDFMathTranslate 的程式碼,改善錯誤處理與參數傳遞
2026-01-22 22:27:40 +08:00
Your Name
566ee48bfe
fix: 調整 Dockerfile 中 APT 重試機制與安裝步驟,簡化命令格式
2026-01-22 22:18:41 +08:00
Your Name
a9867ee97c
feat: add Dockerfile for ConvertX-CN v0.1.11 with pre-downloaded models and offline-first design
...
- Introduced a new Dockerfile that builds the ConvertX-CN image with all necessary dependencies and models pre-downloaded.
- Implemented multi-stage builds to optimize image size and build time.
- Added a script for verifying the integrity of pre-downloaded models and dependencies.
- Ensured the image operates in an offline-first manner, eliminating runtime dependencies on external networks.
2026-01-22 22:17:29 +08:00
Your Name
8820aecafe
fix: 更新 Docker 映像標籤預設值至 0.1.11.test
2026-01-22 20:10:47 +08:00
Your Name
fd674fac9c
fix: 調整 BabelDOC 資源下載邏輯,簡化重試流程並改善錯誤提示
2026-01-22 19:44:26 +08:00
Your Name
e3406a8d04
fix: BabelDOC 改用 generate-offline-assets 方式預下載資源
...
- 使用 --generate-offline-assets 生成離線包,比 warmup 更穩定
- 添加 10 分鐘超時控制避免無限等待
- 離線包生成後使用 --restore-offline-assets 恢復到快取
- 如果離線包方式失敗,fallback 到 warmup 模式
- 最多重試 3 次,每次失敗後等待 30 秒
- 即使全部失敗,BabelDOC 仍可在 runtime 按需下載
2026-01-22 19:35:04 +08:00
Your Name
5ad22e44ec
fix: 優化 Docker 磁碟清理邏輯,針對大型模型與多架構建置進行強化,減少空間使用
2026-01-22 19:24:53 +08:00
Your Name
37b56aed56
fix: 優化 Dockerfile 中模型下載與快取清理邏輯,減少層差異與空間使用
2026-01-22 19:20:56 +08:00
Your Name
11dc51890c
fix: 更新 MinerU 模型下載邏輯,增加設定檔驗證與錯誤處理
2026-01-22 19:10:54 +08:00
Your Name
df0082bfb9
feat: 在 Docker Build & Push 工作流程中新增版本顯示,並修正錯誤處理
2026-01-22 17:54:08 +08:00
Your Name
4ca92e3a22
release: v0.1.11 - BabelDOC 翻譯引擎與穩定性改進
...
## 新增功能
- BabelDOC PDF 翻譯引擎:支援 PDF/Markdown/HTML 輸出,15 種目標語言
- Dockerfile 更新:pipx 安裝 babeldoc,warmup 預載資源
## 修復
- 修正 user.tsx XSS 安全警告(label 包裹 safe span)
## 品質保證
- 173 個測試全數通過
- TypeScript / ESLint / Prettier / Knip 檢查通過
2026-01-22 17:41:12 +08:00
Your Name
6d4ed58637
fix: 更新 PDFMathTranslate 模型下載方式,使用 snapshot_download 避免硬編碼檔名
2026-01-22 16:27:54 +08:00
Your Name
a7ea4e2a0b
Merge branch 'main' of https://github.com/pi-docket/ConvertX-CN
2026-01-22 12:33:04 +08:00
Your Name
a5dccccd86
fix: 更新 Dockerfile,修正 huggingface_hub 安裝指令以符合 Debian bookworm 的 PEP 668 要求
2026-01-22 12:33:01 +08:00
evil0119
4569b816b8
更新 README.md
2026-01-22 12:24:23 +08:00
evil0119
4189c88590
更新 README.md
2026-01-22 12:23:57 +08:00
Your Name
05c4261f24
fix: 更新 PDFMathTranslate 描述,強調安全翻譯功能
2026-01-22 11:48:21 +08:00
Your Name
8471dfce42
feat: 更新 README.md,強調 ConvertX-CN 的全功能特性與優勢
2026-01-22 11:46:37 +08:00
Your Name
9ba87cf111
chore: release v0.1.11
2026-01-22 11:01:43 +08:00
Your Name
7df88d2f4e
chore: 更新工作流程中的 Node.js 和 Bun 版本,調整依賴項版本
2026-01-22 10:49:42 +08:00
Your Name
0f60f3ae14
feat: 更新 Dockerfile 版本,新增模型驗證腳本以確保預下載模型完整性
2026-01-22 10:38:11 +08:00
Your Name
607ccbb4ac
fix: 修正工作流程名稱格式,移除多餘的文字
2026-01-22 09:50:32 +08:00
Your Name
8bb5be2c52
fix: 修正工作流程名稱格式,移除多餘的 emoji
2026-01-22 09:49:58 +08:00
Your Name
69610d28e0
feat: 新增遠端服務更新工作流程,透過 Tailscale SSH 更新 Docker 服務
2026-01-22 09:44:06 +08:00
Your Name
ffb72c531f
chore: update Bun version to 1.3.6 in Dockerfiles
2026-01-22 00:58:36 +08:00
Your Name
2169aa90e9
style: fix prettier formatting
2026-01-22 00:51:37 +08:00
Your Name
912546aaa7
fix: ENOENT download error for archive-only converters (PDFMathTranslate/MinerU)
...
- Add existsSync checks in download.tsx before file access
- Fix normalizeFiletype.ts: md-t/md-i return original format (not tar.gz)
- Add outputMode: 'archive' support in main.ts with auto .tar suffix
- PDFMathTranslate outputs translated-<lang>.pdf + bilingual-<lang>.pdf (no original)
- MinerU outputs complete folder in .tar with logging
- Hide preview icon for .tar files in results.tsx
- Update Bun version: 1.2.2 -> 1.3.6
- Add Step 19: auto-deploy to remote server after Docker push
All 159 tests pass.
2026-01-22 00:47:37 +08:00
Your Name
1f800c3619
feat: 新增自動生成 Changelog 和 GitHub Release 的步驟
2026-01-21 23:53:44 +08:00
Your Name
cf8aa32ea8
fix: 移除多餘的空行以改善 YAML 格式
2026-01-21 22:41:28 +08:00
Your Name
258313fcbb
fix: 正則表達式支援任意數量的版本數字段
...
- 舊規則:^[0-9]+\.[0-9]+\.[0-9]+$ (僅 X.Y.Z)
- 新規則:^[0-9]+(\.[0-9]+)+$ (支援 X.Y.Z.W...)
- 0.1.10 → latest ✓
- 0.1.10.1 → latest ✓
- 0.1.10.test → 不加 latest
2026-01-21 22:40:33 +08:00
Your Name
2f6c3fc0c6
feat: 根據版本號格式決定是否標記 latest
...
- 純數字版本(如 0.1.10)→ 同時標記 latest
- 測試版本(如 0.1.10.test)→ 僅標記版本號
- 使用正則表達式 ^[0-9]+\.[0-9]+\.[0-9]+$ 判斷
2026-01-21 22:38:37 +08:00
Your Name
cac29bfff1
fix: 修正 Dockerfile 中 dasel 和 resvg 安裝步驟的縮排問題
2026-01-21 21:10:33 +08:00
Your Name
947d189b6d
fix: 修復 resvg ARM64 無預編譯版本問題
...
- 更新 resvg repo URL 從 RazrFalcon 到 linebender
- ARM64 架構跳過 resvg 安裝(官方無預編譯版本)
- x86_64 正常安裝 resvg v0.44.0
- ARM64 可使用 ImageMagick/Inkscape 作為 SVG 轉換替代方案
2026-01-21 21:04:40 +08:00
Your Name
4e07cd57aa
fix: 修復 bookworm 缺少 dasel 和 resvg 套件的問題
...
- 從 apt-get install 移除 dasel 和 resvg
- 改用 GitHub releases 下載二進位檔案
- dasel v2.8.1 支援 amd64/arm64
- resvg v0.44.0 支援 amd64/arm64
2026-01-21 20:56:39 +08:00
Your Name
7c4a361e3f
fix: 更新 Tailscale SSH 連線步驟,新增手動網頁驗證提示並設定連線超時
2026-01-21 20:53:14 +08:00
Your Name
4d2a690bb9
fix: 更新 Dockerfile 版本至 v0.1.10,修正基礎映像為 debian:bookworm,並新增 APT 重試機制以改善 Multi-Arch Build 的穩定性
2026-01-21 20:43:54 +08:00
Your Name
448011f7e2
fix: 更新 Multi-Arch Docker Build 流程,分離建構與推送步驟
2026-01-21 20:14:59 +08:00