Build Windows portable / build (push) Canceled after 0s
CI vòng 1 bắt đúng lỗi thiết kế: FPDFText_SetText trên con trong form KHÔNG đánh dấu dirty_streams của form (chỉ RemovePageObject/InsertPageObjectAtIndex mới làm — xem cpdf_pageobjectholder.cpp) nên mọi sửa in-place trong form không bao giờ được ghi ra file. Test canary fail chính xác ở điểm này. - Đổi feature pdfium-render pdfium_latest(7543) -> pdfium_7350 (cả ff-engine lẫn app): mở remove_object cho Form XObject qua blanket impl PdfPageObjectsCommon (wrapper 0.8.37 sót gate 7543 dù binding có đủ); API 7350 là subset của DLL bblanchon mới, đã quét 0 hàm 7543-only. - Mọi sửa/xoá con trong form = RÚT THẬT khỏi form (FPDFFormObj_RemoveObject, thứ tự path sâu trước + cùng cha con lớn trước) -> form dirty -> ProcessForm regenerate stream khi lưu. SetText con trong form = SetTextMode mới NestedRecreate: rút khỏi form + tạo lại ở cấp trang giữ font gốc qua token (probe như tầng 0 reflow; thiếu glyph -> nhúng lại bytes/cùng họ), matrix đã compose. - CI test thêm --test-threads=1: PDFium serialize qua 1 mutex toàn cục, 1 test panic khi giữ lock poison mutex làm 17 test song song chết oan. Docs cập nhật theo (12-phase4-summary.md Iteration 4). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
30 lines
810 B
TOML
30 lines
810 B
TOML
[package]
|
|
name = "fofreexit-app"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "FoFreeXit desktop app (Tauri shell)"
|
|
license = "Apache-2.0"
|
|
|
|
# Detach from the main crates/* workspace (Tauri uses its own build profiles).
|
|
[workspace]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = [] }
|
|
tauri-plugin-dialog = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
base64 = "0.22"
|
|
image = "0.25"
|
|
# Đồng bộ feature với ff-engine (xem chú thích ở crates/ff-engine/Cargo.toml).
|
|
pdfium-render = { version = "0.8", default-features = false, features = ["pdfium_7350", "thread_safe", "image"] }
|
|
lopdf = "0.36"
|
|
ff-engine = { path = "../../crates/ff-engine" }
|
|
|
|
[profile.release]
|
|
opt-level = "s"
|
|
lto = true
|
|
strip = true
|