公開

更新ダイジェスト 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 の計測)。

参考