master
みてるぞ 1 day ago
parent
commit
748199ac6e
1 changed files with 0 additions and 147 deletions
  1. +0
    -147
      %E8%AA%B2%E9%A1%8C%E6%95%B4%E7%90%86.md

+ 0
- 147
%E8%AA%B2%E9%A1%8C%E6%95%B4%E7%90%86.md

@@ -308,73 +308,8 @@ Tag.merge_tags! は存在するが、運用 UI/API がない。タグ整理基
- [ ] スクリーンショット添付の有無を決める - [ ] スクリーンショット添付の有無を決める
- [ ] 管理画面で一覧・対応済みにできる - [ ] 管理画面で一覧・対応済みにできる
### 53. [P1] 利用規約・プライバシーポリシーを公開導線に載せる
**種別**: legal / release blocker
**対象**
- `frontend/src/App.tsx`
- `frontend/src/pages/*`
**背景 / 問題**
IP、引継ぎコード、編集履歴、外部埋め込み通信を扱うため、公開前に規約とプライバシーポリシーが必要。
**完了条件**
- [ ] /tos と /privacy を作る
- [ ] 初回利用時・フッタ・設定画面から到達できる
- [ ] IP と外部埋め込みについて明記する
### 54. [P1] IP アドレス保存期間と利用目的を設計する
**種別**: privacy / ops
**対象**
- `backend/app/models/ip_address.rb`
- `backend/app/models/user_ip.rb`
- `backend/app/controllers/users_controller.rb`
**背景 / 問題**
user_ips は監査に有用だが、保存期間と利用目的を決めずに溜めるとプライバシー負債になる。
**完了条件**
- [ ] 保存期間を決める
- [ ] 削除/匿名化 rake task を作る
- [ ] BAN 用に残す情報とログ用情報を分ける
- [ ] プライバシーポリシーへ反映する
### 55. [P2] 全 API のエラー JSON 形式を統一する
**種別**: DX / UX
**対象**
- `backend/app/controllers/application_controller.rb`
- `backend/app/controllers/*`
- `frontend/src/lib/api.ts`
**背景 / 問題**
head だけ、{ errors: ... }、例外メッセージ直返しなどが混在している。フロントが失敗理由を出しにくい。
**完了条件**
- [ ] 標準エラー形式を決める
- [ ] validation / unauthorized / forbidden / not_found / conflict を統一する
- [ ] フロント toast が message を表示できる
### 56. [P2] 日付パラメータの不正入力を 400 にする
**種別**: bug
**対象**
- `backend/app/controllers/posts_controller.rb`
- `backend/app/controllers/tags_controller.rb`
- `backend/app/controllers/nico_tags_controller.rb`
**背景 / 問題**
日付・cursor 系パラメータで parse 例外が出ると 500 になりがち。ユーザ入力なので 400 に落とすべき。
**完了条件**
- [ ] parse helper を作る
- [ ] 不正日付は 400 + error code
- [ ] 各検索 API に spec を追加する
### 57. [P1] アップロードファイルの content-type / サイズ制限を入れる ### 57. [P1] アップロードファイルの content-type / サイズ制限を入れる
@@ -394,22 +329,6 @@ thumbnail / material file は ActiveStorage に入るが、サイズや種類の
- [ ] 画像なら寸法上限も見る - [ ] 画像なら寸法上限も見る
- [ ] エラーを UI に出す - [ ] エラーを UI に出す
### 58. [P2] PostRepr / MaterialRepr の URL 生成を環境設定で統一する
**種別**: ops / bug
**対象**
- `backend/app/representations/post_repr.rb`
- `backend/app/representations/material_repr.rb`
- `backend/config/environments/production.rb`
**背景 / 問題**
ActiveStorage URL の host 指定や request.base_url 依存が散らばると、本番/開発/プロキシ配下で URL が壊れる。
**完了条件**
- [ ] default_url_options を環境変数で設定する
- [ ] representation に host を渡す箇所を統一する
- [ ] プロキシ配下の URL spec を追加する
### 59. [P2] フロントの role guard を共通化する ### 59. [P2] フロントの role guard を共通化する
@@ -446,72 +365,6 @@ uploadedUser / createdByUser / Wiki history user など、bot 操作や移行デ
- [ ] null 許容型に直す - [ ] null 許容型に直す
- [ ] 表示側に fallback を入れる - [ ] 表示側に fallback を入れる
### 61. [P3] タグカテゴリ色・表示名をフロント固定から設定可能にする
**種別**: feature / settings
**対象**
- `frontend/src/consts.ts`
- `frontend/src/components/TagLink.tsx`
- `backend/app/models/setting.rb`
**背景 / 問題**
カテゴリ色はユーザ好みやアクセシビリティに直結する。settings 実装後の候補として切り出す価値がある。
**完了条件**
- [ ] 既定テーマを維持する
- [ ] ユーザ設定で上書きできる
- [ ] コントラスト不足を警告する
### 62. [P3] ミュートタグ / 非表示タグを実装する
**種別**: feature
**対象**
- `backend/app/models/setting.rb`
- `backend/app/controllers/posts_controller.rb`
- `frontend/src/pages/users/SettingPage.tsx`
**背景 / 問題**
コンテンツ量が増えるほど、ユーザごとの見たくないタグを制御したくなる。公開後の快適性に効く。
**完了条件**
- [ ] ミュートと完全非表示の違いを決める
- [ ] 投稿一覧・ランダム・上映会候補に反映するか決める
- [ ] 設定画面から管理できる
### 63. [P3] 埋め込み自動再生のユーザ設定を追加する
**種別**: feature / accessibility
**対象**
- `frontend/src/components/PostEmbed.tsx`
- `frontend/src/pages/theatres/TheatreDetailPage.tsx`
- `backend/app/models/setting.rb`
**背景 / 問題**
上映会・投稿詳細で動画埋め込みが増えると、自動再生の好みと端末負荷の差が出る。設定化すべき。
**完了条件**
- [ ] 自動再生 on/off 設定を作る
- [ ] Theatre と通常投稿で挙動を分けるか決める
- [ ] モバイルでは既定 off などを検討する
### 64. [P2] PostEmbed の対応サイトを site parser として分離する
**種別**: refactor / feature
**対象**
- `frontend/src/components/PostEmbed.tsx`
- `backend/app/models/post.rb`
**背景 / 問題**
ニコニコ/YouTube/X/Twitter/その他の判定が UI に寄っている。プレビュー、上映会、検索候補でも同じ判定を使いたい。
**完了条件**
- [ ] URL から site_type / embedable / canonical_url を返す関数を作る
- [ ] youtu.be, pixiv, Bluesky, ニジカ投稿局を追加しやすくする
- [ ] 単体テストを追加する
### 65. [P3] preview API を OpenGraph / oEmbed 対応に寄せる ### 65. [P3] preview API を OpenGraph / oEmbed 対応に寄せる


Loading…
Cancel
Save