4801682192
Tests / PHP Lint (pull_request) Successful in 7s
TMDO_Playlist::register() 舊版偵測 TMPL_Main 類別, 在 partner 外掛中並不存在(或載入太晚),偵測實際完全靠 file_exists() 後備 撐著——程式碼讀起來像在驗證「partner 已載入」,實際只驗證了「目錄存在」。 改用 TMPL_VERSION / TMPL_PLUGIN_DIR(保留確實存在的 TMPL_Plugin),兩者在 partner 主檔的檔案解析當下即 define,早於 plugins_loaded,故本 AddOn bootstrap 的 :6 時點確實可用。 file_exists() 後備保留不動,行為不變;但偵測不再是死碼,即使將來移除後備也 不會重演 infocards-addon 那種「整個 AddOn 靜默失效」的事故。 同一版本另含先前未提交的 schema 工作:補齊 expected_columns / indexes, 並將 registry 索引 config key 由 expected_indexes 更正為 indexes (wp_parse_args() 會靜默丟棄未知 key,索引期望值先前等同從未送達)。 實測驗證(mu-plugin 於 plugins_loaded:6 量測真實請求): 新常數 AVAILABLE;wp wpdo doctor 89 OK / 0 FAIL;表註冊欄位與索引 100% 完整。
1.9 KiB
1.9 KiB
Changelog
All notable changes to this AddOn will be documented here.
Format follows Keep a Changelog. Versioning follows Semantic Versioning.
[Unreleased]
- Phase 4 implementation in progress.
[0.1.1] — 2026-08-08 — 5 張 2mpl_* 表補齊 schema 期望值
Added
- 為全部 5 張
2mpl_*表補上expected_columns與indexes:2mpl_singer_settings、2mpl_songs、2mpl_queue、2mpl_rate_limits、2mpl_sessions。欄位與索引逐項轉錄自 2meet-playlist activator 的CREATE TABLE。先前只註冊表名,wp wpdo doctor只知道表存在,無從判斷欄位或 索引是否漂移——2mpl_queue/2mpl_rate_limits這類高頻讀寫表尤其吃索引, 漏建索引卻沒有警訊是實際風險。
Fixed
TMDO_Custom_Table_Registry::register()的索引期望值 config key 由expected_indexes更正為indexes。該 API 以wp_parse_args()併入預設值, 未知 key 會被靜默丟棄——先前索引期望值等同從未送達 registry,wp wpdo doctor的 schema drift 只驗欄位、不驗索引。此問題橫跨全部 8 個 AddOn, 已一併更正。TMDO_Playlist::register()的 partner 偵測符號對齊實際存在的常數。舊版偵測的TMPL_Main類別在 2meet-playlist 中根本不存在。補上TMPL_VERSION/TMPL_PLUGIN_DIR(兩者在主檔檔案解析當下即 define,早於plugins_loaded), 並保留確實存在的TMPL_Plugin。 實測(mu-plugin 於plugins_loaded:6量測):TMPL_VERSION= AVAILABLE。file_exists()後備保留不動,行為不變;但偵測不再含死符號。
[0.1.0] — TBD
Added (initial release, scaffold)
- Plugin scaffold from
wp-data-optimizer v2.16.0extraction plan. - Plugin Header + bootstrap stub + 7 MD + composer.json.
- Requires Plugins:
2meet-data-optimizer,2meet-playlist.