diff --git a/__init__.py b/__init__.py index 014ffec..1a68806 100644 --- a/__init__.py +++ b/__init__.py @@ -34,7 +34,24 @@ def castle_stop(): def castle_start(): """Initialize Castle extension background tasks""" from lnbits.tasks import create_permanent_unique_task + from .fava_client import init_fava_client + from .models import CastleSettings + # Initialize Fava client with default settings + # (Will be re-initialized if admin updates settings) + defaults = CastleSettings() + try: + init_fava_client( + fava_url=defaults.fava_url, + ledger_slug=defaults.fava_ledger_slug, + timeout=defaults.fava_timeout + ) + logger.info(f"Fava client initialized: {defaults.fava_url}/{defaults.fava_ledger_slug}") + except Exception as e: + logger.error(f"Failed to initialize Fava client: {e}") + logger.warning("Castle will not function without Fava. Please configure Fava settings.") + + # Start background tasks task = create_permanent_unique_task("ext_castle", wait_for_paid_invoices) scheduled_tasks.append(task)