Skip to content

Releases: ducminh25/judgedesk

JudgeDesk v1.5.0

Choose a tag to compare

@ducminh25 ducminh25 released this 16 Sep 08:20

[1.5.0] - 2026-09-16

Universal Precompiled Header C++, Tự Động Di Trú Chính Sách & Cải Tiến Updater

  • Universal Precompiled Header (bits/stdc++.h.gch) cho Trình biên dịch C++:
    • Tự động phát hiện và sinh bộ nhớ đệm Precompiled Header đa năng cho mọi trình biên dịch C++ (Managed GCC, MinGW-w64, MSYS2 UCRT64, Apple Clang).
    • Áp dụng bộ băm định danh compiler siêu nhạy theo đường dẫn chuẩn hoá (canonical path), dung lượng tệp, mtime và mã hash phiên bản để tái sử dụng an toàn và làm mới cache đúng lúc.
    • Tăng tốc độ biên dịch các bài thi C++ nạp <bits/stdc++.h> vượt trội trên mọi nền tảng.
  • Tự động chuyển đổi Chính sách Thực thi (Toolchain Execution Policy Migration):
    • Tự động di trú chính sách thực thi toolchain cũ (migrateLegacyExecutionPolicy) sang cấu hình bảo mật chuẩn một cách minh bạch, an toàn và không gây gián đoạn cho người dùng.
  • Tinh gọn Giao diện Quản lý Trình biên dịch (F6 Toolchain Manager):
    • Loại bỏ bảng "Nâng cao" không cần thiết và danh sách phiên bản thử nghiệm phức tạp, mang lại trải nghiệm cấu hình trực quan, tập trung vào các chế độ nguồn thực thi đã chứng nhận.
  • Cải tiến Trình Cập nhật Ứng dụng & Nút Ủng hộ (In-App Updater & Donation Toolbar):
    • Tích hợp nút cập nhật ứng dụng nổi bật trên thanh công cụ với tiến trình tải Core ngầm và nút khởi động lại một chạm để áp dụng.
    • Luôn áp dụng bản Core nhất quán dù trước đó cài bản Full hay Core, bảo lưu 100% các tuỳ chọn người dùng và đường dẫn compiler đã thiết lập.
    • Bổ sung nút mời cà phê / donate tiện lợi và thân thiện trên thanh công cụ.
  • Bộ Nhận diện Thương hiệu & Biểu tượng Mới (Brand Identity & Icons):
    • Cập nhật logo và bộ biểu tượng ứng dụng mới sắc nét trên cả Windows và macOS, mang lại diện mạo hiện đại và chuyên nghiệp cho JudgeDesk.

JudgeDesk v1.4.46

Choose a tag to compare

@ducminh25 ducminh25 released this 04 Sep 02:21

[1.4.46] - 2026-09-04

Bài Tương Tác (Interactive), Chấm Điểm Phân Số & Tối Ưu Tốc Độ Khởi Động

  • Hỗ trợ bài thi tương tác (Interactive Problems & Interactor): Tích hợp runner chấm bài thi tương tác trên Windows qua cơ chế Win32 AppContainer dual-job runner với hai đường ống ẩn danh hai chiều (bidirectional anonymous pipes). Hỗ trợ biên dịch và thực thi Interactor viết bằng C++ (hỗ trợ testlib.h chuẩn Codeforces/Polygon) hoặc Python. Hỗ trợ nạp bộ testcase bài tương tác chỉ chứa file dữ liệu vào (.inp) mà không bắt buộc có file kết quả mẫu (.out).
  • Công cụ chấm điểm phân số chính xác tuyệt đối (Rational Scoring Engine): Triệt tiêu hoàn toàn hiện tượng sai số trôi dấu phẩy động IEEE 754 trong tính điểm và tổng điểm (hỗ trợ phân số tối giản như 1/3, 2/3, 0.35 * 10 = 3.5). Tính toán và cộng dồn điểm chính xác dạng số hữu tỉ tối giản qua ước chung lớn nhất (GCD), đồng bộ định dạng điểm trên Scoreboard và xuất file Excel.
  • Tối ưu tốc độ khởi động & loại bỏ độ trễ warm-up 10–13s:
    • Tự động sinh và nạp Precompiled Header (bits/stdc++.h.gch) với cờ chuẩn C++14 (-std=c++14 -O2 -pipe), tăng tốc độ biên dịch C++ gấp ~16.5 lần (từ ~3.6s xuống ~0.23s).
    • Cơ chế Background Judge Pre-warm chạy ngầm ngay khi khởi động ứng dụng để nạp sẵn Managed GCC, khởi tạo kênh giao tiếp và làm nóng sandbox trước khi người dùng bấm Chấm bài.
    • Thiết lập cơ chế bắt tay đồng bộ giữa phiên chấm và tiến trình pre-warm để đảm bảo không xung đột tài nguyên.
  • Cải tiến giao diện & Sửa lỗi đồng bộ cấu hình:
    • Cải tiến cửa sổ tiến trình: giữ thanh tiến trình ở trạng thái chờ mượt mà trong giai đoạn chuẩn bị hệ thống, hiển thị phần trăm chuẩn xác từ bài thi đầu tiên.
    • Bản địa hóa toàn diện tiếng Việt cho các thông báo trạng thái chấm.
    • Sửa lỗi không lưu cờ Interactive vào Config.cfg và sửa lỗi không tải testcase bài tương tác trong cửa sổ Cài đặt bài tập.

JudgeDesk v1.4.45

Choose a tag to compare

@ducminh25 ducminh25 released this 31 Aug 16:05

[1.4.45] - 2026-08-31

Nâng giới hạn Bộ nhớ 1024 MB & Tối ưu Trình biên dịch

  • Hỗ trợ cấu hình giới hạn bộ nhớ (Memory Limit) lên đến 1024 MB (1 GB) trên cả Windows và macOS, mặc định 256 MB theo tiêu chuẩn các kỳ thi Olympic Tin học / HSG / ICPC.
  • Mở rộng chính sách tài nguyên bộ nhớ trên Windows từ 512 MB lên 1024 MB cho các tiến trình chấm và biên dịch.
  • Tối ưu hóa khâu chuẩn bị tệp nguồn và đối tượng biên dịch (Compiler Staging), đảm bảo định danh tệp an toàn và xử lý sạch sẽ các ký tự đặc biệt / phần mở rộng.
  • Rút gọn token UUID trong chẩn đoán hệ thống (Diagnostics) giúp tăng tốc độ kiểm tra tự động và duy trì tính ổn định cao.
  • Cập nhật giao diện Cài đặt bài thi và bảng dịch đa ngôn ngữ (Tiếng Việt & Tiếng Anh).

JudgeDesk v1.4.44

Choose a tag to compare

@ducminh25 ducminh25 released this 29 Aug 17:12

[1.4.44] - 2026-08-29

Hoàn thiện tuyệt đối Chấm thi Scratch trên Windows & macOS

  • Khắc phục triệt để lỗi khởi tạo runtime 0xC0000142 (STATUS_DLL_INIT_FAILED) trên Windows Sandbox bằng cơ chế cách ly an toàn ResourceOnly qua Windows Job Object, kiểm soát chặt chẽ giới hạn thời gian (Time Limit), bộ nhớ (Memory Limit), số lượng tiến trình và luồng I/O.
  • Tương thích hoàn chỉnh cơ chế sandbox Apple Seatbelt & Run Guardian trên macOS.
  • Đưa scratch-windows-x64scratch-macos-arm64 vào bản kê phân phối chính thức có chữ ký số Ed25519 (toolchains-manifest.json), loại bỏ hoàn toàn hiện tượng Scratch bị chuyển về Not available sau khi người dùng cập nhật ứng dụng.
  • Cập nhật schema chuẩn Scratch 3.0 cho chẩn đoán tự động (Diagnostics) và self-test probe.
  • Đồng bộ hiển thị badge phiên bản động và xác thực chấm thi thành công 100% với các bộ đề thi Tin học trẻ thực tế.

JudgeDesk v1.4.43

Choose a tag to compare

@ducminh25 ducminh25 released this 29 Aug 14:09

[1.4.43] - 2026-08-29

Tích hợp chính thức scratch-run (VNOI) & Hoàn thiện giao diện

  • Tích hợp runner chuẩn scratch-run của VNOI (VNOI-Admin / Lê Bảo Hiệp) xây dựng trên TurboWarp scratch-vm, giải quyết triệt để lỗi TOOLCHAIN_NOT_SANDBOX_COMPATIBLE và đảm bảo tương thích 100% với các kỳ thi Tin học trẻ.
  • Bổ sung gói toolchain Scratch vào bản Full Edition tự động kích hoạt theo mặc định và hỗ trợ tải về tự động trong bản Core Edition.
  • Tối ưu thanh công cụ: Loại bỏ nút Sắp xếp điểm trên Toolbar để giao diện gọn gàng (vẫn giữ nút sắp xếp cạnh tiêu đề Tổng điểm trên Scoreboard).
  • Tinh chỉnh nút Updater: Hiển thị trạng thái «Đã mới nhất» ngắn gọn, nổi bật khi có bản cập nhật mới.
  • Thêm Scratch vào chẩn đoán hệ thống (Diagnostics) và ghi nhận credit chính thức cho VNOI-Admin trong Trung tâm hướng dẫn.

JudgeDesk v1.4.42

Choose a tag to compare

@ducminh25 ducminh25 released this 28 Aug 19:18
4e093e3

Bản sửa lỗi nhanh (Hotfix) cho v1.4.4

  • Sửa lỗi không thể lưu trạng thái kích hoạt hoặc áp dụng gói Scratch trong Quản lý trình biên dịch (F6) và hộp thoại chào mừng.
  • Cải thiện độ chuyển mượt của thanh tiến trình chấm bài khi kết thúc làm ấm và bắt đầu chấm bài thi đầu tiên.

JudgeDesk v1.4.41

Choose a tag to compare

@ducminh25 ducminh25 released this 28 Aug 18:24
4e093e3

Bản sửa lỗi nhanh (Hotfix) cho v1.4.4

  • Sửa lỗi không hiển thị ngôn ngữ Scratch trong Trình quản lý bộ công cụ (F6) và hộp thoại kích hoạt khi mở ứng dụng lần đầu.
  • Cải thiện độ chuyển mượt của thanh tiến trình chấm bài khi kết thúc làm ấm và bắt đầu chấm bài thi đầu tiên.

JudgeDesk v1.4.4

Choose a tag to compare

@ducminh25 ducminh25 released this 28 Aug 15:57
4e093e3

Tích hợp Chấm Bài thi Scratch (.sb3, .sb2, .sb)

  • Hỗ trợ chấm trực tiếp các tệp bài làm Scratch (.sb3, .sb2, .sb) phục vụ các kỳ thi Tin học trẻ.
  • Cơ chế nạp test tự động qua khối lệnh Hỏi và đợi (bỏ qua nội dung câu hỏi) và xuất kết quả qua khối Nói (thêm xuống dòng) hoặc Nghĩ (không xuống dòng).
  • Máy ảo Scratch Headless chạy chế độ Turbo Mode tốc độ cao (10-25ms/testcase), tiêu thụ ít tài nguyên và xử lý an toàn vòng lặp vô hạn (TLE).
  • Tương thích hoàn toàn trên cả Windows và macOS với quy tắc chấm đồng nhất 100%.
  • Hộp thoại hỏi kích hoạt 1 lần duy nhất khi nâng cấp lên v1.4.4, dễ dàng bật tắt lại trong Quản lý trình biên dịch (F6).

Tối ưu Phản hồi Cửa sổ Chấm & Khởi động Nhanh

  • Cửa sổ tiến trình chấm bài hiện ngay lập tức khi bấm Chấm bài (F9), loại bỏ hoàn toàn độ trễ 2-5s trước đây.
  • Tự động làm ấm sandbox chạy ngầm khi mở ứng dụng và lưu cache nhị phân cho Custom Checker (.cpp, .py, .exe), giúp chấm testcase đầu tiên ngay tức thì mà không phải chờ đợi.

Bổ sung Hướng dẫn Nộp bài trong Trợ giúp (F1)

  • Cập nhật tài liệu hướng dẫn quy cách nộp bài và các lưu ý khi làm bài thi Scratch trong Trung tâm Trợ giúp (F1) ở cả tiếng Việt và tiếng Anh.

JudgeDesk v1.4.3

Choose a tag to compare

@ducminh25 ducminh25 released this 28 Aug 11:01
4e093e3

[1.4.3] - 2026-08-28

Nút Sắp xếp Điểm Động & Xuất Excel Theo Thứ tự

  • Bổ sung nút chuyển đổi 3 trạng thái sắp xếp điểm trên Toolbar (Điểm cao -> Điểm thấp -> Mặc định), tự động đồng bộ khi click cột Tổng Điểm trên Bảng điểm.
  • Thí sinh chưa có điểm tự động hiển thị ở cuối danh sách; hòa điểm được xếp phụ theo tên A-Z.
  • File Excel xuất ra tuân thủ chính xác thứ tự bảng điểm đang hiển thị và sắp xếp các cột bài thi chi tiết từ trái qua phải.
  • Loại bỏ khung lỗi tràn ngang trên Toolbar, chuyển sang hệ thống Thông báo Lỗi nổi (App Error Toast) linh hoạt.

Tự Kiểm Tra Trình Biên Dịch & Tối Ưu Bảng Điểm

  • Thêm tính năng Chẩn đoán / Tự kiểm tra (Self-Test Probe) trong Quản lý bộ công cụ cho 5 ngôn ngữ thi đấu (C++, C, Python, Pascal, Java) trực tiếp trong Native Sandbox Runner để đo đạc thời gian biên dịch, thực thi và bộ nhớ tiêu thụ.
  • Tối ưu hóa bảng băm $O(1)$ cho bảng điểm, giúp tra cứu và sắp xếp tức thì trên các kỳ thi có hàng trăm thí sinh và bài nộp.
  • Tách biệt hoàn toàn tầng Modals Layer và tối ưu hóa bộ mã nguồn ứng dụng.

JudgeDesk v1.4.2

Choose a tag to compare

@ducminh25 ducminh25 released this 27 Aug 09:10
4e093e3

[1.4.2] - 2026-08-27

Tương thích Custom Checker Đa Định dạng & Tự động Nạp Header

  • Hỗ trợ toàn diện Custom Checker định dạng .exe, .cpp.py trong thư mục test bài tập trên Windows; tự động ưu tiên file .exe lên đầu danh sách chọn.
  • Tự động nạp toàn bộ header cục bộ trong thư mục bài tập (testlib.h, header Themis, v.v.) khi biên dịch C++ checker trên cả Windows và macOS, chấm dứt hoàn toàn lỗi CE do thiếu header.
  • Trên macOS: Tự động loại trừ các binary Windows .exe không tương thích, ưu tiên các checker mã nguồn .cpp.py.

Hoàn thiện Nhận diện Compiler Themis & Policy Tương thích

  • Khắc phục lỗi hiển thị sai phiên bản compiler Themis; hiển thị chính xác phiên bản thực tế của toàn bộ công cụ Themis phát hiện được (GCC 9.2.0, FPC 3.2.2, Python 3.12.4, Java 1.7.0).
  • Quét toàn diện trên mọi ổ đĩa chuẩn (C:\Themis, D:\Themis, E:\Themis, Program Files (x86)\Themis), phát hiện đầy đủ mọi toolchain mà không bị ngắt sớm do các compiler có sẵn trên PATH.
  • Mở rộng chính sách sandbox và cơ chế fallback Job Object an toàn cho các binary legacy 32-bit (x86 WOW64) của Themis MinGW GCC / FPC / Python, xóa bỏ hoàn toàn lỗi "Không tương thích với policy máy chấm an toàn hiện tại".