AI-CLO PTITHCM — Trạng thái dự án 05/09/2026

Mốc hiện tại

Dự án đang ở giai đoạn V12 — thống nhất trang Đánh giá và ổn định giao diện công khai.

Các thay đổi lớn trong ngày 04–05/09/2026 đã tập trung vào:

1. Trang Đánh giá

Chỉ còn 2 nhóm người dùng nhìn thấy:

Không còn tạo mới trực tiếp các loại legacy “Đánh giá CLO” và “Ôn tập thi”. Dữ liệu cũ vẫn tương thích.

Bài kiểm tra

Bài thi cuối kỳ

2. Hiệu năng Đánh giá

Đã loại bỏ các observer rộng gây loop DOM → DB query → DOM.

Nguyên tắc mới:

3. Đổi câu

Đã sửa lỗi sau khi rút câu, bấm Đổi câu hoặc thay bằng Gemini làm builder kéo lên đầu.

Hiện phải giữ nguyên vị trí câu đang thao tác sau render.

4. Cửa sổ Thông tin

Đã sửa:

5. Đồng nhất giữa các môn

Trang Đánh giá không có UI riêng theo môn.

Mọi môn dùng cùng framework; khác biệt chỉ do dữ liệu theo state.subjectId.

Toolbar chuẩn:

6. Chấm thi CLO

Đã sửa lỗi HTML thiếu </header> tại cham-thi-clo/index.html.

Logic chấm thi không thay đổi.

Các thư viện Excel/XLSX vẫn giữ nguyên.

7. Header công khai

Đã xác định nguyên nhân chớp header là JavaScript tái cấu trúc navbar sau first paint.

Đã chuyển sang navbar tĩnh:

Áp dụng cho Trang chủ, Hướng dẫn, Chấm thi CLO và hướng dẫn Chấm thi CLO.

8. Supabase

Migration V12 cần chạy nếu chưa có:

supabase/migrations/assessment-v12.0-migration.sql

Thêm cột:

counts_toward_grade boolean not null default true

Không có yêu cầu Edge Function mới cho các thay đổi frontend trong đợt này.

9. Các backup quan trọng

10. Việc tiếp theo nên ưu tiên

  1. Kiểm thử hoàn chỉnh Đề thi cuối kỳ: tạo → rút → đổi → khóa → xuất.
  2. Kiểm thử đổi học phần khi đang ở trang Đánh giá.
  3. Kiểm tra counts_toward_grade trên dữ liệu thực sau migration.
  4. Theo dõi header công khai trên desktop/mobile và khi đổi tab Chrome.
  5. Nếu còn micro-flicker nhưng không còn layout shift, xem xét repaint/GPU compositing của trình duyệt.

11. Tài liệu liên quan