リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: 合体ドロップ
rank_check.phpの順位プレビューがmonth_startを受け付けず常に「今月」固定になる
1. 不具合の内容:
ゲームオーバー時の順位プレビューAPI (pages/rank_check.php) は、週間ランキング用の週開始日は `$_GET['week_start']` を受け取り `vd_valid_week_start()` で検証しているのに対し、月間ランキング用の月開始日は `$_GET['month_start']` を一切参照せず `$monthStart = vd_jst_month_start();` で常に「今月」に固定されている。
2. 根拠・発生しそうな条件:
コード上、週については
```
$currentWeekStart = vd_jst_week_start();
$weekStart = vd_valid_week_start($_GET['week_start'] ?? null, $currentWeekStart);
```
と選択中の週を受け付ける実装になっているのに対し、月については同等の呼び出し (`vd_valid_month_start($_GET['month_start'] ?? null, $currentMonthStart)`) が存在せず、lib.phpに定義済みの `vd_valid_month_start()` 関数が rank_check.php 内で未使用のまま残っている。ランキング画面には前月・翌月へ移動できる「今月」タブ(v1.104.0)が存在し、週間タブと同様に月間タブでも過去月を選んだ状態を維持できる設計であることから、順位プレビューも本来は選択中の月を反映する想定で week_start と対になる month_start 実装が漏れていると考えられる。この結果、フロント側が選択中の月開始日を rank_check.php へ渡していても無視され、常に当月の順位・パーセンタイル・トップスコアが返り、レスポンスにも `month_start` がエコーバックされない(`week_start` は返している)。
3. 期待動作:
rank_check.php が `month_start` パラメータを受け取り、`vd_valid_month_start()` で不正値・未来月を現在月へフォールバックした上で、その月の `monthly_rank` / `monthly_total` / `monthly_percentile` / `monthly_top` を算出し、レスポンスに `week_start` と同様に `month_start` を含めて返す。
4. 修正方針:
- rank_check.php 冒頭付近で `$currentMonthStart = vd_jst_month_start();` を定義し、`$monthStart = vd_valid_month_start($_GET['month_start'] ?? null, $currentMonthStart);` に置き換える。
- `$monthEnd` は既存の `vd_month_end_from_start($monthStart)` を使って算出する (`vd_jst_month_end()` の直接呼び出しをやめる)。
- レスポンスJSONに `'month_start' => $monthStart,` を追加し、week_start と同じ形で返却する。
- 併せてJS側 (play.php 等) が結果画面で選択中の月をこのパラメータとして送信しているか確認し、送信していない場合は合わせて実装する。
ゲームオーバー時の順位プレビューAPI (pages/rank_check.php) は、週間ランキング用の週開始日は `$_GET['week_start']` を受け取り `vd_valid_week_start()` で検証しているのに対し、月間ランキング用の月開始日は `$_GET['month_start']` を一切参照せず `$monthStart = vd_jst_month_start();` で常に「今月」に固定されている。
2. 根拠・発生しそうな条件:
コード上、週については
```
$currentWeekStart = vd_jst_week_start();
$weekStart = vd_valid_week_start($_GET['week_start'] ?? null, $currentWeekStart);
```
と選択中の週を受け付ける実装になっているのに対し、月については同等の呼び出し (`vd_valid_month_start($_GET['month_start'] ?? null, $currentMonthStart)`) が存在せず、lib.phpに定義済みの `vd_valid_month_start()` 関数が rank_check.php 内で未使用のまま残っている。ランキング画面には前月・翌月へ移動できる「今月」タブ(v1.104.0)が存在し、週間タブと同様に月間タブでも過去月を選んだ状態を維持できる設計であることから、順位プレビューも本来は選択中の月を反映する想定で week_start と対になる month_start 実装が漏れていると考えられる。この結果、フロント側が選択中の月開始日を rank_check.php へ渡していても無視され、常に当月の順位・パーセンタイル・トップスコアが返り、レスポンスにも `month_start` がエコーバックされない(`week_start` は返している)。
3. 期待動作:
rank_check.php が `month_start` パラメータを受け取り、`vd_valid_month_start()` で不正値・未来月を現在月へフォールバックした上で、その月の `monthly_rank` / `monthly_total` / `monthly_percentile` / `monthly_top` を算出し、レスポンスに `week_start` と同様に `month_start` を含めて返す。
4. 修正方針:
- rank_check.php 冒頭付近で `$currentMonthStart = vd_jst_month_start();` を定義し、`$monthStart = vd_valid_month_start($_GET['month_start'] ?? null, $currentMonthStart);` に置き換える。
- `$monthEnd` は既存の `vd_month_end_from_start($monthStart)` を使って算出する (`vd_jst_month_end()` の直接呼び出しをやめる)。
- レスポンスJSONに `'month_start' => $monthStart,` を追加し、week_start と同じ形で返却する。
- 併せてJS側 (play.php 等) が結果画面で選択中の月をこのパラメータとして送信しているか確認し、送信していない場合は合わせて実装する。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (vegetable-drop))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「合体ドロップ」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=vegetable-drop
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/vegetable-drop/
ご利用ありがとうございます!
ご要望いただいた「合体ドロップ」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=vegetable-drop
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/vegetable-drop/
ご利用ありがとうございます!
Echo
Iris