Dọn màu api.conan.school về token: 09.09.2026
Site thứ tám về 0. 10 → 0. api là một Worker, không có giao diện, nên cả 10 chỗ nằm ở nơi duy nhất worker sinh ra màu: HTML của thư và của các trang xác nhận độc lập.
Ở đây hex là BẮT BUỘC, và đó không phải cái sai
Email client (Gmail, Outlook) lược bỏ biến CSS. color: var(--color-primary) trong một lá thư là màu không tồn tại. Nên HTML thư phải dùng hex, đây là ngoại lệ kỹ thuật thật, cùng loại với bản chép tay của video.
Cái sai không phải "dùng hex". Cái sai là ba nơi cùng chép một bảng màu:
| Nơi | Trước |
|---|---|
shared/email/templates.ts | có hằng C với 12 màu, chú thích ánh xạ từng token, cấu trúc đúng, nhưng const không export |
shared/email/send.ts | tự viết #6b6b6b ×2 cho dòng huỷ nhận thư |
domains/system/index.ts | tự viết 7 màu cho trang xác nhận huỷ nhận thư |
Hai file sau đã import từ templates.ts sẵn (EMAIL_CATALOG, EMAIL_KINDS), chúng chép màu chỉ vì bảng màu không được export.
Sửa: một nguồn, và một gác giữ nó khớp theme.css
const C→export const EMAIL_PALETTE(giữconst C = EMAIL_PALETTElàm bí danh ngắn để không phải sửa hàng trăm chỗ dùng trong các hàm render).send.tsvàsystem/index.tsdùngEMAIL_PALETTE, không còn hex.EMAIL_PALETTEvào manifest củascripts/check-token-sync.mjs, cùng cỗ máy vừa dựng chovideo. Gác giờ giữ 20 cặp / 2 bản chép tay.
Để đọc được đối tượng TS (không phải CSS như video), manifest có thêm kind: 'ts-object'.
Một báo động giả nữa của gác màu
Sau khi dọn, còn đúng 1 chỗ: dòng border: '#f2f2f2',, một khoá trong chính bảng màu. Cùng loại với --bg-color: #ffffff ở video, lần này ở dạng đối tượng TS thay vì CSS.
Không nới regex nữa. templates.ts là nguồn màu, giống theme.css, nên nó vào danh sách exempt, kèm lý do và kèm điều kiện: nó chỉ được miễn vì check-token-sync đã phủ nó. Miễn trừ không có gác thay thế là một lỗ, miễn trừ có gác thay thế là một ranh giới.
Kiểm chứng: đây là đường tiền và đường đăng nhập
Thư chứa mã đăng nhập và xác nhận thanh toán. Một thay đổi "chỉ là màu" vẫn phải chứng minh không đổi gì:
- Render cả 16 loại thư trong
EMAIL_CATALOG, trước và sau, rồi so từng ký tự: KHÔNG loại nào khác. (Cất thay đổi bằnggit stash, render bản gốc, khôi phục, render bản mới,diffJSON.) - Trang huỷ nhận thư: HTML sinh ra khớp bản gốc từng mã màu.
tscđúng 194 lỗi = mốc cũ, không lỗi nào ở ba file đã sửa.wrangler deploy --dry-runxanh (3.987 KiB).check-token-sync: 20/20 cặp khớp, và đỏ đúng ở cả ba kịch bản lệch (đổitheme.css/ đổi bảng màu email / đổi tên một khoá).- Chín gác ở gốc repo xanh.
Trạng thái
47 chỗ tồn đọng toàn repo, từ 3.445 hai ngày trước. Tám site khoá ở 0. Còn lại đúng hai chỗ, cả hai đã cân nhắc:
packages35,DebugFooter.tsxcủaadmin-shared, lớp phủ gỡ lỗi với bảng màu tối riêng và màu theo HTTP method. Rủi ro hiển thị thật, giá trị cho người dùng bằng không.docs12, thư mụcdocs/cũ, đã được thay bằngdocs.conan.school/. Số phận của nó là một mục backlog riêng (xem rà soát 03.09).