Shiroiへの移行で遭遇した問題
追伸:上の注意書きは手動で追加したものです。現在は2026年6月16日で、shiroiもyohakuに切り替わっており、この記事の意味はほとんどありません。
GrideaからShiroiへの移行中にいくつかの問題に遭遇したため、以下に記録します。同じ状況に直面した場合、これらの解決策を参考にしてみてください。
- KotlinコードブロックがShiroでのレンダリングをクラッシュさせる可能性がある
Shiroでブログ記事を表示する際、記事内にKotlinのコードブロックがあると、ページがクラッシュすることがあります。Shiroiではこの問題は発生しませんでした。
Kotlinコードブロックを削除すると、ページは正常にレンダリングされるようになりました。その後、直接Shiroiに切り替えました。
現在のところ、この問題が安定して再現するかは不明であり、根本的な原因もKotlinコードブロック自体ではない可能性があります。問題を引き起こしたコードブロックは以下の通りです:
testImplementation 'org.junit.jupiter:junit-jupiter:5.12.2'
- APIリクエストでさらに多くのソーシャルIDを追加できる
MX Spaceの管理画面では現在、4つのソーシャルID設定項目しか提供されていませんが、APIリクエストで直接他のソーシャルIDを追加できます。
リクエスト先は:
APIアドレス + /master
例:
https://www.ruqiu.life/api/v2/master
リクエストメソッドは:
PATCH
リクエストボディの例:
{
"socialIds": {
"bilibili": "",
"github": "",
"netease": "",
"steam": "",
"email": ""
}
}
ソーシャルID情報を保存する際、管理画面自体がこのリクエストを送信します。開発者ツールでリクエストヘッダーをコピーし、自身でリクエストを送信できます。
また、Shiro / Shiroiは他にもいくつかのソーシャルIDをサポートしています。例えば:
- Twitter / X
- Telegram
- RSS
ただし、これらのフィールドのリクエストボディ内での具体的な名前は今のところ不明です。
注意:リクエストヘッダーをコピーする際は、自分の認証情報を漏らさないよう注意してください。
- MX Space以外からアップロードされた画像が記事のレンダリングをクラッシュさせる可能性がある
MX Space自体からアップロードされたものではない画像が、Shiro / Shiroiでの記事レンダリングをクラッシュさせることがあります。
具体的な症状:
MX Spaceの管理画面で記事を作成している際はプレビューが正常に表示されます。しかし、Shiro / Shiroiに切り替えて記事を表示すると、ページのレンダリングがクラッシュします。その後、MX Spaceの管理画面に戻って記事を更新しようとし、記事設定を開くと、画像を設定するHTML要素が表示されていないことに気づきます。この状態では記事も正常に更新できず、次のようなエラーが表示されます:
images.0.nested property images must be either object or array
現在の最新バージョンでもこの問題は依然として発生します。
一時的な回避策として、記事に挿入する最初の画像をMX Spaceからアップロードした画像に置き換えると、レンダリングのクラッシュを回避できます。
なお、手記ではこの問題は発生しません。
- themeクラウド関数を更新しても、フロントエンドはすぐに更新されない
管理画面でテーマのクラウド関数を更新した後、フロントエンドはすぐには更新されません。
これは正常な現象であり、Shiro / Shiroiが同期して更新されるまでしばらく待つ必要があります。
- クラウド関数の更新時にネットワークエラーと更新成功が同時に表示される
クラウド関数を更新する際、「ネットワークエラー」と「更新成功」の両方のメッセージが表示されることがあります。
原因は不明ですが、特に影響はないようで、実際には更新が成功しています。
- AI生成要約にはJSON Schema対応のAIサービスが必要
AI生成要約機能で設定するAIサービスは、JSON Schemaをサポートしている必要があります。
サポートしていない場合、次のようなメッセージが表示される可能性があります:
その場合、次のようなメッセージ(英文ママ)が表示される可能性があります:
同時に、バックエンドは500ステータスコードを返します。
- 記事公開後にAI要約が重複して生成されることがある
記事を公開した後、AIが自動的に要約を生成することがあります。
しかし、記事にアクセスすると、再度要約が生成されます。この問題の原因は不明です。
- Algolia Searchのwrite key
現在、Algolia Searchのwrite keyは、公式ドキュメントに記載されているadmin keyです。
admin keyをAlgolia Search設定のkeyに入力すれば使用できます。
- Outlookメールではメールアドレスとパスワードを使った送信は利用できない
Outlookメールは、「メールアドレス+パスワード」の方法で直接メール送信を検証することをサポートしていません。アプリパスワードも同様です。
現在のところ、Gmailはまだ正常に使用できます。