fix: social login providers now work from DB config without restart
- Extract all OAuth registration into _setup_social_providers() with a _register_oauth_client() helper that clears the authlib _clients cache so credentials can change without a restart - Add refresh_social_providers() public function called after every settings reload (lifespan startup + settings_sync live reload) - Fix connections page linked status to use _get_effective() (DB-aware) instead of the stale startup-time SOCIAL_PROVIDERS dict - Fix oauth_configured template variable similarly - Add tests: DB-driven linked status, stale-provider clearing, register_oauth_client cache-clear, refresh function coverage Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com> Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/ef15910f-fd25-469a-814b-9e1fb40659c9
This commit is contained in:
@@ -71,6 +71,16 @@ def notify_settings_updated() -> None:
|
||||
except Exception as exc:
|
||||
logger.warning(f"Could not reload in-process settings: {exc}")
|
||||
|
||||
# Re-register OAuth / social-login providers so that any provider whose
|
||||
# credentials were just saved (or updated) in the database is active
|
||||
# immediately on the login page — no restart required.
|
||||
try:
|
||||
from app.auth import refresh_social_providers
|
||||
|
||||
refresh_social_providers()
|
||||
except Exception as exc:
|
||||
logger.warning(f"Could not refresh social login providers after settings update: {exc}")
|
||||
|
||||
# Re-check OCR language availability in the background whenever settings
|
||||
# are updated. This ensures that if a user changes tesseract_language or
|
||||
# easyocr_languages via the UI, the new language data is downloaded without
|
||||
|
||||
Reference in New Issue
Block a user