disinto/docker
Claude 30e19f71e2
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful
fix: vision(#623): Forgejo OAuth gate for disinto-chat (#708)
Gate /chat/* behind Forgejo OAuth2 authorization-code flow.

- Extract generic _create_forgejo_oauth_app() helper in lib/ci-setup.sh;
  Woodpecker OAuth becomes a thin wrapper, chat gets its own app.
- bin/disinto init now creates TWO OAuth apps (woodpecker-ci + disinto-chat)
  and writes CHAT_OAUTH_CLIENT_ID / CHAT_OAUTH_CLIENT_SECRET to .env.
- docker/chat/server.py: new routes /chat/login (→ Forgejo authorize),
  /chat/oauth/callback (code→token exchange, user allowlist check, session
  cookie). All other /chat/* routes require a valid session or redirect to
  /chat/login. Session store is in-memory with 24h TTL.
- lib/generators.sh: pass FORGE_URL, CHAT_OAUTH_CLIENT_ID,
  CHAT_OAUTH_CLIENT_SECRET, EDGE_TUNNEL_FQDN, DISINTO_CHAT_ALLOWED_USERS
  to the chat container environment.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 01:52:16 +00:00
..
agents fix: update AD-002 docs and stale comments to reflect CLAUDE_CONFIG_DIR isolation (#647) 2026-04-11 21:38:52 +00:00
chat fix: vision(#623): Forgejo OAuth gate for disinto-chat (#708) 2026-04-12 01:52:16 +00:00
edge fix: bug: disinto-edge crashes on cold disinto up — clones from forgejo before forgejo HTTP is ready (#665) 2026-04-11 23:28:01 +00:00
reproduce fix: refactor: lib/env.sh — split into a defined-surface shared lib; entrypoints own context-specific paths (#674) 2026-04-11 13:21:30 +00:00
runner fix: fix: stop baking credentials into git remote URLs — use clean URLs + existing credential helper everywhere (#604) 2026-04-10 17:04:10 +00:00
index.html feat: edge proxy + staging container to docker stack (#807) 2026-03-28 07:58:17 +01:00