Please or 登録 to create posts and topics.

変換後、投稿本文のバックスラッシュが全て消失しSANGOブロックのCSSが破損する

ポチりんでRinkerからポチップへ一括変換を実行したところ、変換対象となった投稿の本文からバックスラッシュ(\)が全て消失し、ブロックのカスタムCSSが破損しました。
約266記事が影響を受けました。

なお、利用規約と注意事項は事前に確認し、指示どおり変換直前にバックアップを取得した上で実行しています。

■ 環境
・サーバー:Xserver
・テーマ:SANGO(子テーマ SANGO Child 3.0)
・WordPress 7.0.2
・Pochipp 1.19.0(最新)/Pochipp Pro 1.9.2/Pochirin 0.1.2
・Rinker 1.13.0(変換後に停止)

■ 発生した事象(スクリーンショット添付)
1. 投稿編集画面で「CSSの記述に誤りがあります。CSSを誤ると全てのブロックのCSSに影響しますのでお気をつけください。」が多数表示される
2. 一部ブロックが「このブロックには、想定されていないか無効なコンテンツが含まれています」となり無効化される
3. フロント側でも関連記事カードやボックスの装飾が消える

SANGOのブロックはカスタムCSSを属性内に \n(改行)や \t(タブ)のエスケープ付きで保存しています。バックスラッシュが失われた結果、これらが nt という文字列に化けてCSSが構文エラーになっていました。

■ 期待している動作
変換処理の前後で本文のエスケープ文字が保持され、ブロックのカスタムCSSや属性が破損しないこと。

■ 事象が確認できるURL
収益記事への影響が大きかったため、変換直前のバックアップからデータベースを復元済みで、現在は事象を再現できる状態にありません。

ブログURLが必要であればDMでお送りします。

復元前の状態は添付のスクリーンショット(一部マスク済み)と下記の検証データでご確認いただけますでしょうか。

■ 検証した根拠
・同一記事で、変換前リビジョンのバックスラッシュ数 3,024個 → 変換後 0個
・本文に wp:pochipp を含む記事(=変換対象)は例外なく0個
・変換対象外だった記事は正常(112個などが残存し、警告も出ない)

処理系のどこかでエスケープ解除(stripslashes相当)が二重に効いているのではないかと推測しています。

■ 再現確認について
ルールにある「他プラグインを停止して同じ動作を実施」ですが、この変換は本文を
直接書き換える破壊的な処理で、再実行すると再び全記事が破損するため、本番環境
では実施できておりません。
この点はご容赦ください。
検証用の情報が必要であれば、
破損状態のデータベースのバックアップも保管していますので提供可能です。

■ 本報告の位置づけ
注意事項に「データの構造によっては変換が上手くいかないケースがあります」と
記載があることは承知しています。
ただ今回の事象は、Rinker由来のデータが
引き継がれないというものではなく、変換対象と無関係な本文全体からバックスラッシュ
が失われ、テーマのブロック(関連記事カードやボックスなど)が破損したという
ものです。
この点が注意事項に記載された範囲とは性質が異なると考え、報告いたします。

責任を問う意図は一切なく、同じ環境(SANGO+Rinker)の方が同様の事象に遭わないための情報共有としてご報告します。

アップロードファイル:
  • bugreport_shot1_masked.jpg
  • bugreport_shot2_masked.jpg

ご連絡ありがとうございます。またご迷惑をおかけしてしまって大変申し訳ございません。。

私も原因がまだ見えかねているところがありますが、調査を進めていこうと思います。

また状況について連携いたします。どうぞよろしくお願いします。

ご返信ありがとうございます。

こちらこそ、お手数をおかけして申し訳ありません。

引き続き、どうぞよろしくお願い致します。

取り急ぎ、ご連絡まで。