diff --git a/project_status.md b/project_status.md index ccc6916..7ba4674 100644 --- a/project_status.md +++ b/project_status.md @@ -78,9 +78,19 @@ Tailscale Funnel が数秒のタイムアウトで接続を切断 → browser - Gitea: http://100.76.7.3:3000/mai/claude-memory - GitHub: https://github.com/posimai/claude-memory (private) +### Step 2 追加対応完了(2026-03-17) +- `claude-settings.json` を `posimai-root` に追加(`~/.claude/settings.json` のバックアップ) +- CLAUDE.md にディザスタリカバリセクション追記(新マシン復元手順 + 各リポジトリ更新コマンド) +- `posimai-root` に commit & push 済み(gitea + github) + ### バックアップ後の残リスク -- `posimai-root` の .gitignore で各アプリディレクトリは除外(個別リポジトリで管理) -- memory 変更時は手動で `cd ~/.claude/projects/c--Users-maita-posimai-project/memory && git add . && git commit && git push gitea main && git push github main` が必要 +- memory 変更時は手動で push が必要(自動化なし) + ```bash + cd ~/.claude/projects/c--Users-maita-posimai-project/memory + git add . && git commit -m "chore: update memory" + git push gitea main && git push github main + ``` +- `claude-settings.json` は手動コピー更新(settings.json 変更時は posimai-root にも反映する) ### Step 1 完了済み(2026-03-17) - posimai-dashboard: Header.tsx 末尾改行コミット・push 済み @@ -91,24 +101,27 @@ Tailscale Funnel が数秒のタイムアウトで接続を切断 → browser ## 全プロジェクト精査結果(2026-03-17) -### [CRITICAL] 即対応必須 -- [ ] **C-1** posimai-pulse/sw.js — クロスオリジン API キャッシュバグ(originチェックなし)→ 修正1行 -- [ ] **C-2** posimai-lens/sw.js — 同上 -- [ ] **C-3** posimai-tech-events/sw.js — /brain/api パスが /api/ で始まらず staticブランチにキャッシュされる -- [ ] **C-4** server.js archiveShare — URL プロトコルバリデーションなし(SSRF類似リスク) -- [ ] **H-1** posimai-ambient/index.html — theme-color media query なし(ライトモードで黒ステータスバー) -- [ ] **H-3** posimai-together/index.html:2005 — marked.parse に DOMPurify なし(外部コンテンツXSSリスク) -- [ ] **M-3** server.js /together/react — type フィールドバリデーションなし(like/star/fire以外が保存される) +### [CRITICAL] 即対応必須(2026-03-17 全対応済み) +- [x] **C-1** posimai-pulse/sw.js — origin チェック追加済み +- [x] **C-2** posimai-lens/sw.js — 同上 +- [x] **C-3** posimai-tech-events/sw.js — origin チェック追加済み +- [x] **C-4** server.js /together/share — URL プロトコル検証追加済み(http/https のみ許可) +- [x] **H-1** posimai-ambient/index.html — theme-color media query 追加済み +- [x] **H-3** posimai-together/index.html — marked@9.1.6 + DOMPurify@3.1.6 追加・sanitize 実装済み +- [x] **M-3** server.js /together/react — type バリデーション追加済み(like/star/fire のみ) -### [MEDIUM] 設計不整合 -- [ ] **M-1** #6EE7B7 のハードコード(brand-logo gradient)— pulse/diff/habit/lens に残存、var(--accent)に置換 -- [ ] **M-2** border-radius: 8px が97箇所残存(カード・モーダルに混在) -- [ ] **M-4** posimai-diff/sw.js, posimai-timer/sw.js — originチェックなし(現在実害なし、将来リスク) +### [MEDIUM] 設計不整合(2026-03-17 対応済み) +- [x] **M-1** #6EE7B7 ハードコード → pulse/diff/habit/lens の brand-logo gradient + heatmap を var(--accent) に置換 +- [x] **M-2** border-radius: 8px 精査完了(2026-03-17)。変更すべきカード系3箇所のみ修正(hotels/.site-row / together/.group-info-box / feed/.pack-card)。残りはフォーム/ボタン/バッジで意図的8px。 +- [x] **M-4** posimai-diff/sw.js, posimai-timer/sw.js — origin チェック追加済み -### [LOW] Tech debt -- [ ] **L-1** posimai-brain/sw.js — 重複 fetch リスナー(Web Share Target 用 no-op) -- [ ] **L-4** Dashboard Timeline 最終エントリが 2026-03-15 で止まっている -- [ ] **L-5** server.js コメントに絵文字(CLAUDE.md違反、実害なし) +### [LOW] Tech debt(2026-03-17 全対応済み) +- [x] **L-1** posimai-brain/sw.js — 重複 fetch リスナー削除、v23 に更新・デプロイ済み +- [x] **L-4** Dashboard Timeline に 2026-03-17 セキュリティ監査エントリ追加・デプロイ済み +- [x] **L-5** server.js コメント・起動ログの絵文字削除済み(deploy-server.sh 要実行) + +### [NEW CRITICAL] 2026-03-17 発見・対応済み +- [x] **posimai-daily/sw.js** — クロスオリジン API レスポンスキャッシュバグ(Habit と同パターン)→ origin チェック追加、v11 に更新・デプロイ済み ### 確認済み(対応不要) - Lucide バージョン: 全アプリ @0.344.0 固定済み @@ -118,10 +131,10 @@ Tailscale Funnel が数秒のタイムアウトで接続を切断 → browser --- ## 残タスク(手動・未対応) -- [ ] ai_proxy コンテナ削除(Synology Container Manager) +- [x] ai_proxy コンテナ削除済み(Container Manager + ai-proxy/ ai-proxy-data/ ディレクトリも削除) - [ ] posimai_widget APK 実機インストール・ウィジェット動作テスト - [ ] Magic Link 動作確認(ブラウザで手動テスト) -- [ ] Lucide アイコン @latest → バージョン固定(14アプリ横断、低優先度) +- [x] Lucide アイコン — 全アプリ既に @0.344.0 固定済みと確認(残タスクは誤記) ## ponshu-room PWA — 保留中(2026-03-16) @@ -154,19 +167,10 @@ Tailscale Funnel が数秒のタイムアウトで接続を切断 → browser - Bubble Board(Canvas アニメーション) - 30秒ポーリング + 新着バナー -### Gemini API キー管理(未完了) -- server.js に `genAITogether`(`GEMINI_TOGETHER_API_KEY` 専用インスタンス)追加済み・デプロイ済み -- **Container Manager での `GEMINI_TOGETHER_API_KEY` 環境変数設定が未完了** - - 「複製」で同名コンテナを作れない問題に直面 - - 根本解決策:docker-compose.yml + .env ファイルへの移行が必要 - - 次セッションで SSH 経由で Synology の現状確認 → docker-compose 移行を実施する - -### 次セッションでやること(優先順) -1. SSH で Synology の現在のコンテナ設定を確認(docker inspect posimai_api) -2. docker-compose.yml + .env ファイルを作成(/volume1/docker/posimai/ 等) -3. GEMINI_TOGETHER_API_KEY を .env に追加 -4. docker-compose で再デプロイ(コンテナ名は posimai_api のまま維持) -5. Together アプリで AI 要約が動作することを確認 +### Gemini API キー管理(2026-03-17 完了) +- `GEMINI_TOGETHER_API_KEY` を `/volume1/docker/posimai_lab/.env` に追加(`GEMINI_API_KEY` と同値) +- `docker-compose.yml` の `posimai-api` サービスに `GEMINI_TOGETHER_API_KEY` 環境変数追加 +- `docker compose up -d --no-deps posimai-api` で再起動・動作確認済み(health: ok, gemini: true) ### Gemini サーバー側管理の中長期計画 - posimai-think → server.js の `/think/chat` エンドポイント経由に移行(GEMINI_THINK_API_KEY)