Skip to content

feat(ini): LOGOUT_URI を NENE_LOGOUT_URI で env override 可能にする (#277)#284

Merged
hideyukiMORI merged 2 commits into
mainfrom
feat/277-logout-uri-env-override
May 21, 2026
Merged

feat(ini): LOGOUT_URI を NENE_LOGOUT_URI で env override 可能にする (#277)#284
hideyukiMORI merged 2 commits into
mainfrom
feat/277-logout-uri-env-override

Conversation

@hideyukiMORI
Copy link
Copy Markdown
Owner

Summary

  • `ini/xSystemIni.php` の `const LOGOUT_URI = '/';` を env-override 可能に: `getenv('NENE_LOGOUT_URI')` があれば使う、無ければ default `/`。
  • `compose.yaml` の app environment に `NENE_LOGOUT_URI: "${NENE_LOGOUT_URI:-/}"` を追加。
  • `docs/development/docker.md` の Environment Variables section に使用例を追記 (`/auth/login` 等)。
  • default `/` 維持なので既存 deployment 無変更。FT5 finding F-2 への対応 (closes feat(ini): LOGOUT_URI を NENE_LOGOUT_URI で env override 可能にする (F-2 from FT5) #277)。

Test plan

  • env 未設定 → `LOGOUT_URI` = `/` (既存挙動)
  • `NENE_LOGOUT_URI=/auth/login` → `LOGOUT_URI` = `/auth/login`
  • markdown 更新: section 構造 + コード block 整合確認
  • FT5 trial clone で同等の手動書き換えが動作していた実績あり

🤖 Generated with Claude Code

ini/xSystemIni.php の const LOGOUT_URI は hard-coded '/' で、protected
HTML page を unauth で叩いた時の redirect 先を変更できなかった。
カスタム login page (/auth/login 等) を持つアプリで、unauth visitor が
index splash に飛ばされて何のシグナルも出ない UX になっていた
(FT5 で実走確認、ini 直書き換えで workaround していた)。

他の NENE_* env var (NENE_PORT, NENE_DB_TYPE 等) と同じ pattern で
env override:

  const LOGOUT_URI = (getenv('NENE_LOGOUT_URI') !== false)
      ? (string)getenv('NENE_LOGOUT_URI') : '/';

compose.yaml の app environment に NENE_LOGOUT_URI 行追加、
docs/development/docker.md の Environment Variables section に
使用例を追記。default '/' は維持なので既存 deployment は無変更。

Closes #277.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hideyukiMORI hideyukiMORI force-pushed the feat/277-logout-uri-env-override branch from 4d7a44b to a4e7de7 Compare May 21, 2026 12:59
直前のコミット (#284 初版) で
  const LOGOUT_URI = (getenv(...) !== false) ? ... : '/';
と書いたが、PHP の const 宣言は constant expression に限定され
getenv() 呼び出しは許されないため
  PHP Fatal error: Constant expression contains invalid operations
in ini/xSystemIni.php on line 125
で全リクエストが 500 になる致命バグだった (CI で発覚)。

xSystemIni.php の DB_* / SESSION_* と同じ define() + \$getEnv()
helper パターンに揃えて修正。挙動は仕様通り (default '/'、
NENE_LOGOUT_URI で上書き可能)。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hideyukiMORI hideyukiMORI merged commit 48b179e into main May 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(ini): LOGOUT_URI を NENE_LOGOUT_URI で env override 可能にする (F-2 from FT5)

1 participant