Skip to content

xLabo 1.1.1

Latest

Choose a tag to compare

@KantanPro KantanPro released this 26 Aug 22:02
· 1 commit to main since this release

修正

設定の内部書き込みでデータが壊れる問題を修正

register_setting() に渡した sanitize_callbacksanitize_option_{$option} フィルタとして登録されるため、フォーム送信時だけでなく update_option() のたびに実行されます。

sanitize_settings() はフォーム送信を前提に書かれていたため、update_settings() 経由の内部書き込みにも同じ加工が適用され、以下の3つの不具合が発生していました。

  • シェアログが保存されないlog_entries を書き込み前のDB値で上書きしていたため、投稿の成否にかかわらずログが常に空のままだった
  • 認証情報が二重暗号化される — 暗号化済みの client_secret / api_secret / access_token_secret に再度 encrypt() が適用され、保存のたびに暗号化が積み重なって復号できなくなっていた(X API が 401 Unauthorized を返す原因)
  • OAuth 2.0 のトークンが保存されないoauth2_access_token / oauth2_refresh_token / oauth2_token_expires / connected_username が書き込み前の値に巻き戻され、アカウント接続が完了しなかった

update_settings() 実行中は内部書き込みフラグを立て、sanitize_settings() 側でそれを検出してサニタイズを素通しするよう修正しました。

アップグレード時の注意

1.1.0 以前で「接続テスト投稿」や自動シェアを実行した環境では、保存済みの API SecretAccess Token Secret が二重暗号化されている可能性があります。更新後、設定画面で認証情報を入力し直してください。

その他

  • 開発ガイドライン(CLAUDE.md)と WordPress プラグイン開発用スキルを追加