# Codexで追加・修正した機能一覧 このファイルは、この作業ツリー上でCodexが実装した変更を追跡するためのメモです。 ## v267F.0 - 管理者がプラン種別を追加・更新・削除できる管理APIと管理画面を追加。 - 管理者がユーザーを任意のプランへ加入・解除できる機能を追加。 - 加入中プランのアイコンをユーザー名横に表示するように変更。 - バージョン名を `v267F.0` に更新。 ## v267E.3 - 添付ファイルの閲覧にEPUBビューアを追加。 - EPUB3表示、EPUB内JavaScript、インタラクティブコンテンツ、外部CDN参照に対応。 - EPUB実行環境は隔離iframe内に配置し、SNS本体の画面とは分離。 - EPUBファイルをブラウザ表示可能なMIMEとして扱うように変更。 - バージョン名を `v267E.3` に更新。 ## v267E.2 - ゆめくじを左メニューの将棋の直後に移動。 - 動画・音声・画像・カラオケの特設サイトから、必要メディアを添付したタグ付き投稿を開始できるように変更。 - Lua4Frozenトップページから、Luaファイルを添付した `#Lua4Frozen` 投稿を開始できるように変更。 - ハッシュタグ検索ページから、表示中のハッシュタグを入れた投稿を開始できるように変更。 - 期限切れで削除される自分のMemorietを再投稿用アーカイブとして保存し、削除済み一覧から再投稿できるように変更。 - Memorietのテキストレイヤーをプレビュー上で直接入力・ドラッグ移動できるように変更。 - Lua4FrozenにCanvasの1つ上へ表示する `ffy.svg` SVGベクタレイヤーを追加。 - バージョン名を `v267E.2` に更新。 ## v267C.7.2 - バージョン名を `v267C.7.2` に更新。 ## v267C.2 - クライアント起動時に汎用エラー画面へ落ちる問題を修正。 - backend単体ビルドでも現在バージョンのロケールJSONを生成するように変更。 - boot scriptが古い `localStorage.v` を優先して存在しないロケールJSONを取りに行かないように変更。 - ViteのNode組み込みモジュール空スタブを削除し、クライアント実行時の依存解決を復元。 - バージョン名を `v267C.2` に更新。 ## v267C.7.1 - クライアントビルド時のVite警告を抑制。 - ブラウザで不要なNode組み込みモジュール参照に空スタブを割り当て。 - 実行に影響しない動的import/チャンクサイズ警告をビルドログに出さない設定に変更。 - サーバ起動時の警告を抑制。 - 通常起動を `NODE_ENV=production` に変更。 - `DEP0060` の既知依存警告を抑制。 - 起動ログのバージョン表示が `vv...` にならないよう修正。 - バージョン名を `v267C.7.1` に更新。 ## v267C.7 - Iceshrimp最新版の状況確認に基づき、既存JS版の方針に近い小さなQoL機能として「ゆめくじ」ページを追加。 - `/yume-fortune` からアクセス可能。 - サイドバー項目として追加。 - Aboutページからもアクセス可能。 - 今日の結果、引き直し、投稿共有に対応。 - テーマ名を整理。 - 既存の `FrozenFriendsYume Light` を `Iceshrimp Light` に戻した。 - 既存の `FrozenFriendsYume Dark` を `Iceshrimp Dark` に戻した。 - 新しい `FrozenFriendsYume Light` / `FrozenFriendsYume Dark` を追加。 - PostgreSQLデータベースのバックアップ/リストアスクリプトを追加。 - `yarn db:backup` - `yarn db:restore ` - バージョン名を `v267C.7` に更新。 ## v267C.6 - 動画サービス・音声サービス・Lua4Frozen・カラオケの閲覧数カウント仕様を変更。 - 動画/音声は再生開始時にカウント。 - Lua4Frozenは実行ボタン押下時にカウント。 - カラオケは歌唱開始時にカウント。 - 同一ユーザーまたは同一IPは1分あたり1回までカウント。 - カウント制限に当たっても再生・実行・歌唱自体は継続。 - サービス投稿は通常のノート表示では自動閲覧数加算しないように変更。 - スマホ表示時に将棋ページ右側が見切れないようにレイアウトを調整。 - クライアント更新通知を「アップデートしました!バージョン{version}」形式に変更。 - バージョン名を `v267C.6` に更新。 ## 広告関連 - 広告クリック時に「問題が発生しました」画面になる問題を修正。 - `adservice` 投稿を広告表示経由で取得できるように、表示権限判定へ広告用途の例外を追加。 - 広告が一般ユーザーに表示されたときにクレジットを消費するように変更。 - 広告主本人、管理者、モデレーター、botが広告を閲覧した場合はクレジットを消費しないように変更。 - コントロールパネルの広告一覧に「失効クレジット」を追加。 - 期限内に消費されず、期限切れになった残クレジットを表示。 ## 接続・ログ安定化 - `write EPIPE`、`read ECONNRESET`、`ERR_STREAM_DESTROYED` など、切断済み接続への書き込みで発生するノイズを抑制。 - ファイル配信・プロキシ・API・サーバー起動部で無害な接続切断エラーを無視。 - `latest-version` APIの外部取得に短いタイムアウトを追加し、取得失敗時にログを荒らさず `tag_name: null` を返すように変更。 - Node.jsの `punycode` 非推奨警告を既知ノイズとして抑制。 - 接続が切れたとき、クライアント右下に「接続が切れました。」と「リロードする」ボタンを表示。 - 右上の閉じるボタンで非表示にできる。 ## IPアドレス処理 - IPハッシュ化処理で不正なIPv4アドレスにより落ちる問題を修正。 - `X-Forwarded-For` のカンマ区切り値を正規化。 - `IPv4:port` と角括弧付きIPv6を正規化。 - 不正値は安全なフォールバックに流すように変更。 ## 国際化 - 追加機能で不足していた日本語・英語の文言を追加。 - 更新通知用の日本語・英語文言を追加。