diff --git a/STATUS.md b/STATUS.md index 42454793..c8db8faf 100644 --- a/STATUS.md +++ b/STATUS.md @@ -10,6 +10,14 @@ - **posimai-boki** は独立リポジトリで Gitea/GitHub へ push 済み。追加分を出したときは `cd posimai-boki && npm run deploy` - **article-keeper フォルダ削除**(エクスプローラーから手動削除): Firebase プロジェクトは削除済み。キーは git 未追跡なので履歴汚染なし。フォルダを消すだけで OK。 +- **contact.html の Formspree ID 設定**: formspree.io でフォームを作成し `YOUR_FORM_ID` を差し替え → 実送信テスト → Store 本番化ブロッカー解消。 + +## Together legacy path 廃止計画(2026-04-21) + +- **現状**: `jwtUserId` なし(`?u=` のみ)でメンバー照合が通る経路を許容中(warn ログあり) +- **invite_code 漏洩は修正済み**: JWT なしリクエストでは `invite_code` をレスポンスから除外(2026-04-21 パッチ適用) +- **legacy path 廃止期限**: 2026-04-28(今週末)を目安に `togetherEnsureMember` の legacy 経路を削除し、JWT 必須化する +- **廃止前確認**: Together クライアント側が全リクエストで JWT を送っていることをログで確認してから削除 ## 次にやること(優先順) diff --git a/server.js b/server.js index 4e350e1e..c811e264 100644 --- a/server.js +++ b/server.js @@ -2775,7 +2775,9 @@ ${excerpt} if (!(await togetherEnsureMember(pool, res, req.params.groupId, username, jwtUserId))) return; const result = await pool.query('SELECT id, name, invite_code, created_at FROM together_groups WHERE id=$1', [req.params.groupId]); if (result.rows.length === 0) return res.status(404).json({ error: 'グループが見つかりません' }); - res.json(result.rows[0]); + const group = result.rows[0]; + if (!jwtUserId) delete group.invite_code; + res.json(group); } catch (e) { res.status(500).json({ error: 'Internal server error' }); }