Skip to content

fix: oidc login fallback for privacy browsers via redis state store#434

Merged
Movm merged 13 commits intotest-branchfrom
master
Jan 30, 2026
Merged

fix: oidc login fallback for privacy browsers via redis state store#434
Movm merged 13 commits intotest-branchfrom
master

Conversation

@Movm
Copy link
Copy Markdown
Collaborator

@Movm Movm commented Jan 30, 2026

Summary

  • Adds Redis-backed OIDC state store as fallback for privacy browsers (Ecosia, Brave, etc.) that block session cookies on cross-origin redirects from Keycloak
  • On callback, if the session cookie is missing, recovers OIDC session data from Redis using the state URL parameter
  • No impact on existing cookie-based login flow — Redis store errors are non-blocking

Test plan

  • npm run build passes for API package
  • Normal login flow via gruenerator.eu still works (cookie path unchanged)
  • Ecosia/Brave user tests login — API logs show Redis state fallback successful
  • Verify Redis key oidc:state:* is consumed (deleted) after callback

Movm added 13 commits January 30, 2026 02:36
Add docling-serve (pre-built CPU image from quay.io) as a Docker
sidecar for local PDF/DOCX/PPTX/image-to-Markdown conversion,
replacing reliance on the Mistral cloud OCR API.

- Add doclingIntegration.ts client calling /v1/convert/file
- Route OCR via OCR_PROVIDER env var (default: mistral)
- Fall back to Mistral when Docling is unavailable or errors
- Add ocr service to docker-compose.prod.yml with healthcheck
- Fix PDF.js worker path using createRequire for monorepo hoisting
feat(api): add Docling-Serve sidecar for self-hosted document OCR
dorny/paths-filter needs a previous commit to compare against.
With fetch-depth: 1 (default), workflow_dispatch has no 'before'
ref, causing it to fall back to last-commit-only detection.
…-depth

fix(ci): fetch 2 commits for paths-filter on workflow_dispatch
Wrap the custom user notebooks UI and fetchQACollections call
behind import.meta.env.DEV so they only render/run in dev mode.
…rompt-cleanup

refactor: hide Meine Notebooks section in production
…utton

- Include custom_prompt in getProfile() response (was silently dropped)
- Replace autosave with explicit Save button for custom_prompt
- Track dirty state so button only shows when prompt has unsaved changes
…rompt-cleanup

fix: persist custom_prompt and replace autosave with save button
Vorarbeit (notebook enrich) should not be a feature icon in the
balanced mode dropdown.
…ure-icon

fix: comment out Vorarbeit button from model selector dropdown
Privacy browsers (Ecosia, Brave, etc.) block session cookies on
cross-origin redirects from Keycloak, causing session_not_found errors.
Store OIDC state data in Redis keyed by the cryptographic state param
and recover it on callback when the cookie is missing.
@Movm Movm merged commit ac359ba into test-branch Jan 30, 2026
15 of 16 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.

1 participant