Files
cowork-local/ui
Nam Pham Dinh ThanhandClaude Opus 5 4c3b097977 refactor(ui): xoá 108 dòng MS365 chết trong settings_dialog.py
Sót lại từ lần dời UI Connector sang Monitoring → Tools → Connector. Năm hàm:

    _refresh_ms365_status    13    _show_ms365_device_code   52
    _ms365_sign_in           34    _ms365_sign_out            4
    _close_ms365_code_dialog  5

Chứng minh chết trước khi xoá, không xoá theo cảm tính:

* Dựng đồ thị lời gọi bằng ast: **mọi** lời gọi tới năm hàm này đều xuất phát
  từ bên trong chính năm hàm đó. Không một đường vào nào từ ngoài cụm — cả
  trong file lẫn toàn repo.
* Ba thuộc tính chúng đọc — ms365_status, ms365_signin_btn, ms365_signout_btn
  — **chưa từng được gán ở đâu**. Gọi vào là AttributeError, không phải chạy sai
  mà là sập.
* _ms365_workers chỉ được append bên trong _ms365_sign_in, nên chết theo.

Dọn kèm 6 import chỉ còn dòng import: AgentWorker, icon, EXT_CATEGORIES,
ExtConnectorEditDialog, AppContext, QTreeWidget.

Viết lại docstring đầu file — bản cũ vẫn mô tả file này chứa nhóm Connector
(CAD/CAE/MS365/Other), thứ đã không còn ở đây từ lâu.

settings_dialog.py: 407 -> 303 dòng. Cộng cả R08-T07 thì từ 727 xuống 303.

632 test xanh. check_dialogs, check_no_hscroll, check_design_parity,
check_orphans, check_probes_bite đều qua.

Ghi lại một phát hiện phụ, CHƯA xử lý: i18n.py có 28 khoá settings.ms365_*
mồ côi — 20 khoá đã không ai dùng từ trước lần dời connector, 8 khoá vừa mồ
côi theo commit này. Chỉ 2 khoá còn sống (ms365_local_connected,
ms365_local_none, dùng ở ui/connectors_panel.py). Xoá khoá dịch là đụng vào
dữ liệu ba ngôn ngữ ở file khác nên để anh Nam quyết riêng.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 21:15:15 +09:00
..
2026-08-20 12:12:56 +00:00
2026-08-20 12:12:56 +00:00
2026-08-20 12:12:56 +00:00
2026-08-20 12:12:56 +00:00