diff --git a/web_interface/blueprints/api_v3/system.py b/web_interface/blueprints/api_v3/system.py index a0eb3370..f18fe968 100644 --- a/web_interface/blueprints/api_v3/system.py +++ b/web_interface/blueprints/api_v3/system.py @@ -129,11 +129,12 @@ def get_auto_update_status(): try: config = api_v3.config_manager.load_config() if api_v3.config_manager else {} return jsonify({'status': 'success', 'data': auto_update.describe_status(config)}) - except Exception: - # Details stay in the log: exception text can carry file paths. + except Exception as e: + # describe_exception redacts credentials; the detail is kept on purpose + # (see test_web_error_detail.py) so a failure is diagnosable from the UI. logger.error("get_auto_update_status failed", exc_info=True) - return jsonify({'status': 'error', - 'message': 'Could not read automatic update status; see logs for details'}), 500 + return jsonify({'status': 'error', 'message': 'Could not read automatic update status', + 'details': describe_exception(e)}), 500 @api_v3.route('/system/auto-update/dismiss', methods=['POST'])