fix: cell-network name, install error surfacing, health history cleanup
Unit Tests / test (push) Successful in 11m22s
Unit Tests / test (push) Successful in 11m22s
- docker-compose.services.yml: change external network name from pic_cell-network to cell-network so store-service compose files can find it. The project-prefixed name was overriding the explicit name: cell-network fix in docker-compose.yml when both files were merged by make start. - service_store.py: normalize docker compose stderr into the error key in the 400 response so the Store page shows the actual failure reason instead of the generic fallback message. - app.py: skip health checks for email/calendar/files managers when those optional store services are not installed — prevents false Down alerts and unnecessary noise in health history. - Logs.jsx: remove Email/Calendar/Files columns from the health history table; they are optional store services, not core builtins that should always appear. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+11
-2
@@ -519,9 +519,18 @@ def perform_health_check():
|
||||
'timestamp': datetime.utcnow().isoformat(),
|
||||
'alerts': []
|
||||
}
|
||||
|
||||
|
||||
# email/calendar/files are optional store services — only check them when installed
|
||||
_installed_store_ids = set(config_manager.get_installed_services())
|
||||
_OPTIONAL_STORE_MANAGERS = frozenset({'email_manager', 'calendar_manager', 'file_manager'})
|
||||
|
||||
# Get health from each service
|
||||
for service_name in service_bus.list_services():
|
||||
if service_name in _OPTIONAL_STORE_MANAGERS:
|
||||
# Map manager name to store service id (strip _manager suffix)
|
||||
store_id = service_name.replace('_manager', '')
|
||||
if store_id not in _installed_store_ids:
|
||||
continue
|
||||
try:
|
||||
service = service_bus.get_service(service_name)
|
||||
if hasattr(service, 'health_check'):
|
||||
@@ -531,7 +540,7 @@ def perform_health_check():
|
||||
result[service_name] = health
|
||||
except Exception as e:
|
||||
result[service_name] = {'error': str(e), 'status': 'offline'}
|
||||
|
||||
|
||||
# Health alerting logic — alert only when a service container is not running
|
||||
global service_alert_counters
|
||||
for service_name in service_bus.list_services():
|
||||
|
||||
Reference in New Issue
Block a user