Skip to content

Releases

tsudev-contact 26.11.1001 - Windows x64

Choose a tag to compare

@tsudev-tsudev tsudev-tsudev released this 10 Nov 11:38
67e40e8

Bản làm lại toàn diện: giao diện PySide6, vá lỗ hổng chèn vCard, website contact.tsudev.com.

  • Website contact.tsudev.com (website/): trang chủ, hướng dẫn, chuẩn bị CSV, tải về (SHA-256 + chứng thực nguồn gốc), bảo mật, kiến trúc, nhật ký, bản quyền; Astro tĩnh, CSP chặt, WCAG 2.2 AA ở cả ba chế độ màu.
  • CI: workflow CI mỗi PR (ruff, pytest Linux + Windows, pip-audit, gitleaks ghim checksum); phát hành ghim action theo SHA, cài theo hash, kèm SBOM và chứng thực nguồn gốc bản build (gh attestation verify); Dependabot hằng tháng.
  • Giao diện mới bằng PySide6 (Qt 6): 3 bước trên một màn hình, kéo-thả tệp, tự ghép cột kèm giá trị mẫu, tự kiểm tra dữ liệu, bảng xem trước lọc/tìm không dấu/phân trang chuẩn DATA_TABLE.md (QU-STD-TABLE), chủ đề Theo hệ thống/Sáng/Ấm/Tối, font Inter, hộp thoại Giới thiệu nối về tsudev.com. Bỏ màn hình hiệu ứng khởi động.
  • Tiếng Việt mặc định + tiếng Anh (src/i18n/).
  • Bảo mật: sửa lỗ hổng chèn vCard (ô chứa xuống dòng sinh được liên hệ giả); thoát ký tự RFC 6350 và gập dòng mọi trường; bỏ ký tự vô hình/đảo chiều chữ; trần kích thước tệp/dòng/cột/ô; không còn bỏ lặng lẽ ký tự hỏng; báo cáo lỗi chống chèn công thức; danh bạ chỉ giữ trong RAM và xóa CSDL tạm bản cũ để lại trong %TEMP%; ghi tệp nguyên tử.
  • Dữ liệu: chuẩn hóa SĐT Việt Nam (+84, thêm số 0 bị Excel làm mất, nhiều số một ô), email, ngày sinh (cả số ngày kiểu Excel), phát hiện trùng số; thêm trường Chức vụ; vCard có N, CRLF, REV theo UTC thật.
  • Chuỗi cung ứng: phụ thuộc khóa phiên bản + hash, SBOM CycloneDX đi kèm bản phát hành, pip-audit, ruff.
  • Bản .exe có siêu dữ liệu nhà phát hành tsudev, bỏ UPX, loại module Qt không dùng (kể cả mạng).
  • Bỏ liên kết Facebook; liên kết hỗ trợ trỏ về trang sản phẩm https://contact.tsudev.com. Nhà phát hành ghi tsudev.
  • Icon ứng dụng sinh từ dấu hiệu thu gọn tsudev (tools/gen_icons.py, .ico nhiều lớp 16 tới 256); bỏ icon.ico, icon.png, lock.png cũ.
  • Giao diện đọc token thẳng từ .standards/tokens/ (QU-STD-1); xóa tokens/ và bản sao quy ước cũ trong docs/ (QU-STD-2).
  • README theo nhận diện tsudev, ghi hạng sản phẩm C.
  • Cửa sổ xem trước hiển thị nhãn vCard (Tên, SĐT, Email...) thay cho tên cột CSV, thêm cột Dòng CSV và dòng chú thích cột CSV nguồn (src/features/preview/columns.py, 6 test).
  • Tự động hóa kiểm thử GUI: tests/test_gui_smoke.py + scripts/test-gui-win.ps1 chạy đúng kịch bản docs/ARCHITECTURE.md mục 8 (5 test); máy không có màn hình thì tự bỏ qua. Workflow phát hành chạy luôn phần này trên windows-latest.
  • Sửa lỗi tiềm ẩn: thread chuyển đổi gọi root.after trực tiếp (tkinter không an toàn đa luồng) → chuyển sang hàng đợi do main thread rút, hủy lượt hẹn khi đóng cửa sổ.
  • Thêm scripts/sign-win.ps1: ký Authenticode + đóng dấu thời gian bằng công cụ có sẵn của Windows (không tốn phí); scripts/build-win.ps1 thêm cờ -Sign và tự ghi release/SHA256SUMS.txt.
  • Repo chuyển sang public để GitHub Actions chạy miễn phí không giới hạn và ai cũng tải được bản phát hành.

Tải về và kiểm chứng

  • Trang tải: https://contact.tsudev.com/tai-ve/
  • Đối chiếu SHA256SUMS.txt, SBOM CycloneDX *.cdx.json đi kèm.
  • Kiểm chứng nguồn gốc bản build: gh attestation verify tsudev-contact_26.11.1001_x64-setup.exe --repo tsudev-org/tsudev-contact

tsudev-contact 26.8.2002 — Windows x64

Choose a tag to compare

@tsudev-tsudev tsudev-tsudev released this 19 Aug 18:34

Công cụ chuyển danh bạ CSV → vCard (.vcf) cho Windows 64-bit. Bản đầu tiên phát hành theo quy ước tên docs/DESIGN_SYSTEM.md mục 6.

Tải về & cài đặt

  1. Tải tsudev-contact_26.8.2002_x64-setup.exe ở mục Assets bên dưới.
  2. Bấm đúp để chạy — file chạy độc lập, không cần cài Python, không cần cài đặt thêm gì.
  3. Lần chạy đầu Windows SmartScreen có thể cảnh báo vì file chưa ký số: bấm More info → Run anyway.

Đối chiếu toàn vẹn file (PowerShell):

Get-FileHash .\tsudev-contact_26.8.2002_x64-setup.exe -Algorithm SHA256

rồi so với SHA256SUMS.txt đính kèm.

Có gì trong bản này

  • Chủ đề Sáng / Ấm / Tối — menu Giao diện, đổi ngay lúc chạy và ghi nhớ cho lần mở sau.
  • Tự ghép cột CSV thông minh hơn — nhận cả tên cột tiếng Việt (có dấu) lẫn tiếng Anh, kể cả dạng Phone 1 - Value của Google Contacts. Trước đây hai trường bắt buộc Tên/SĐT thường phải chọn tay.
  • Sửa lỗi nút "BẮT ĐẦU CHUYỂN ĐỔI" mất chữ trên Windows (theme vista của ttk bỏ qua màu nền).
  • Sửa 3 lỗi nghiêm trọng từ bản cũ, nặng nhất là lỗi khiến chức năng xuất VCF và cửa sổ xem trước không bao giờ chạy xong.
  • Toàn bộ màu/cỡ chữ/spacing lấy từ tokens/design-tokens.json; mã nguồn tách thành src/; 18 test tự động.

Cách dùng nhanh

  1. Chọn file CSV (dòng đầu là tên cột, hỗ trợ BOM UTF-8 do Excel sinh ra).
  2. Kiểm tra bảng ghép cột — bắt buộc có Tên và SĐT.
  3. Bấm BẮT ĐẦU CHUYỂN ĐỔI → file .vcf được ghi cạnh file CSV; dòng thiếu dữ liệu bị bỏ qua và ghi rõ trong nhật ký.
  4. Xem thử Danh bạ để soát lại trước khi nạp vào điện thoại.

Lưu ý dữ liệu cá nhân

File danh bạ (.csv, .vcf) chứa thông tin cá nhân. Ứng dụng chỉ xử lý trên máy của bạn, không gửi dữ liệu đi đâu; cơ sở dữ liệu tạm nằm trong %TEMP%\tsudev-contact và có thể xóa bất cứ lúc nào.


Chi tiết kỹ thuật: CHANGELOG.md · Kiến trúc: docs/ARCHITECTURE.md