feat: auto-sync extension registry from Gitea on startup
Every time the server starts (including after deploy), it syncs the extension registry from Gitea before serving requests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -993,8 +993,21 @@ class APIHandler(BaseHTTPRequestHandler):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# Load modules from DB; fall back to static list if DB unavailable
|
||||
_load_modules_from_db()
|
||||
# Sync extensions from Gitea and load into DB on every startup
|
||||
try:
|
||||
result = sync_extension_registry()
|
||||
if result['status'] == 'ok':
|
||||
changes = result['added'] + result['reactivated'] + result['deactivated']
|
||||
if changes:
|
||||
print(f"[init] Registry synced — added: {result['added']}, reactivated: {result['reactivated']}, deactivated: {result['deactivated']}")
|
||||
else:
|
||||
print(f"[init] Registry synced — no changes ({len(MODULES)} modules)")
|
||||
else:
|
||||
print(f"[init] Registry sync failed: {result.get('message', '')}")
|
||||
_load_modules_from_db()
|
||||
except Exception as e:
|
||||
print(f"[init] Registry sync error: {e}")
|
||||
_load_modules_from_db()
|
||||
if not MODULES:
|
||||
MODULES.update(_MODULES_FALLBACK)
|
||||
print(f"[init] Using static fallback: {len(MODULES)} modules")
|
||||
|
||||
Reference in New Issue
Block a user