公開
更新ダイジェスト 2026 年 10 月下旬〜11 月 2 日
2026-10-15〜11-02 に全リポジトリへ入った変更のまとめ。Next 16.4 の障害、古い RSC を読みに行く問題、全リポジトリのセキュリティレビュー、静的サイトの空の 404、chronoscroll の id の継続、sumai-log の CSP 本適用。
10/15〜11/2 の変更をまとめます。それより前は10 月中旬のダイジェストにあります。PR 番号は各リポジトリのものです。この期間はコンテンツの追加より、運用で見つかった不具合の修正が中心でした。
全リポジトリ横断
Next 16.4 と OpenNext(10/16〜20): Next 16.4.0 は起動時に .next/server/preview-props.json を読みますが、@opennextjs/cloudflare 1.20.10 はこのマニフェストを知らず、Unexpected loadManifest で落ちました。事前生成のページはキャッシュから返るので見えにくく、ai-news-feed-app では全リクエスト、utility-tracker では存在しないパスが 500 になっていました。next 16.4.2 と @opennextjs/cloudflare 1.20.12 に上げて直しています(ai-news-feed-app #61、utility-tracker #72、resume #77 ほか)。
古い RSC を読みに行く問題(10/20): CDN 向けの s-maxage がブラウザに届き、デプロイ後に消えたチャンクを読みに行っていました。Next.js の 8 本に同じ書き換えを入れました(s-maxage の記事)。
ボットのパスの描画(10/20): service-anatomy で、/xmlrpc.php のようなパスが /[locale] に当たって毎回描画され、読み取り専用キャッシュへの保存エラーが 1 日 274 件出ていました。dynamicParams = false で描画せずに 404 を返し、応答も 47〜88 ms から約 4 ms になりました(#145、resume #82・ai-primer #92 も同様)。
セキュリティ・堅牢性レビュー(10/26〜): 公開リポジトリを 1 本ずつ見直しました。結果はタイムアウトの記事とService Worker の記事にまとめています。
空の 404(11/2): not_found_handling: "404-page" を設定していても、ビルド出力に 404.html が無い静的サイトは、HTTP 404・Content-Type なし・本文 0 バイトを返していました。ブラウザによってはダウンロード扱いになります。トップへ戻るリンクつきの public/404.html を足しました(lumen-bloom #40、skydial #38、hyper-tetris #38、tricking-3d #61、snippet-sprint #50、css-atelier #61、glsl-atelier #58)。CSP はインラインのスタイルを許さないので、CSS は別ファイルです。
アクセシビリティ(11/2): axe の結果をもとに、見えている語をアクセシブルネームに含める修正が somewhere-now #81、acro-finder、glsl-atelier #57、snippet-sprint #49 などに入りました。hyper-tetris #37 は prefers-reduced-motion のときに背景の星とライン消去の火花を止めます。
個別のトピック
- chronoscroll: 月次更新で特集が減る問題を、id の継続で直した(#103、id の記事)。初期データの preload に
crossoriginを付けて二重ダウンロードを止めた(#94)。Wikimedia API に 60 秒の上限(#97)。年表のデータは修正後の月次更新を待っている - AI ニュースダイジェスト: 欠けていた朝のダイジェストの再試行・13:00 の作り直し・タグキャッシュ(#65・#66・#72、ダイジェストの記事)。ISR のページを R2 に保存(#64)、静的チャンクを 1 年 immutable に(#63)
- sumai-log: スクリプトの CSP を本適用(#81・#86、CSP の記事)。やることリスト
/todosを追加(#97)。アップロードで Content-Length が無いときは 411 を返す(#99) - Service Anatomy: Notion の記事を再検証(#143)、期限が切れた記述を一次情報で書き直し(#148)、リンク切れ 2 件を修正(#144)、キャッシュ割り込みで事前生成のページを Next を起動せずに返す(#146)
- AI Primer: Perplexity・Midjourney を再確認し、Sora 終了の告知と移転した記事を出典に反映(#87)。鮮度チェックが一時的な通信エラーやボット対策をリンク切れに数えないように(#86・#89)
- agent-cockpit: Electron を 44.9.3 に上げて eMudhra 中間 CA の遮断を取り込み(#47)、v0.2.0 に(#48)
- tricking-3d: 技の英語名を
innerHTMLの出口すべてでエスケープ(#57)、3D キャンバスに再生中の技名でアクセシブルネームを付与(#60) - hyper-tetris: ゲーム本体の読み込みに失敗したらスタート画面を戻してリロードを促す(#35)
- lifeplan-simulator: AI 評価機能を削除(#121)。テスト数が 572 から 543 に減ったのはこのためです
- elparaiso: 使っていないリモート画像ホストを
/_next/imageとimg-srcから外し(#65)、問い合わせフォームのためにform-actionに docs.google.com を許可(#70) - このポートフォリオ: 19 本の Lighthouse と Observatory を Workers の本番で測り直し(#98、10/27 の値)、404 を日本語にして戻り道を用意(#97)、ビルド時の外部取得に 15 秒の上限(#96)
数字で見る
ポートフォリオの一覧の集計(2026-11-02)では、テスト件数の合計は 18,632 件です。今回 hyper-tetris のテスト 189 件を初めて載せ、各アプリの数字を当日の既定ブランチの CI の値に揃えました。Lighthouse Performance を計測した 19 本の平均は 96.7 です(2026-10-27 の計測)。
参考
- 各リポジトリの
git log --since=2026-10-15と、PR 番号で参照したマージ済み PR - ai-news-feed-app PR #61・utility-tracker PR #72(Next 16.4)
- service-anatomy PR #145(ボットのパス)
- css-atelier PR #61(空の 404)
- agent-cockpit PR #47(Electron 44)