fix: salvage dashboard and canary-watch PRs (#1915)

Salvage focused changes from #1910 and #1911 on a maintainer-owned branch after full CI.

- enrich canary-watch discovery terms for post-deploy verification prompts
- narrow dashboard bare except handlers, add debug logging, and avoid double-configuring widgets

Co-authored-by: EunCHanPark <93873648+EunCHanPark@users.noreply.github.com>
Co-authored-by: shenchangmin <503228482@qq.com>
This commit is contained in:
Affaan Mustafa
2026-05-15 01:57:21 -04:00
committed by GitHub
parent 8cfadfea28
commit 4546a2c144
2 changed files with 19 additions and 26 deletions

View File

@@ -10,10 +10,13 @@ import os
import json
from pathlib import Path
from typing import Dict, List, Optional
import logging
import webbrowser
from scripts.lib.ecc_dashboard_runtime import launch_terminal, maximize_window
logger = logging.getLogger(__name__)
# ============================================================================
# DATA LOADERS - Load ECC data from the project
# ============================================================================
@@ -112,9 +115,9 @@ def load_skills(project_path: str) -> List[Dict]:
if line.startswith('# '):
description = line[2:].strip()[:100]
break
except:
pass
except Exception:
logger.debug("Failed to parse skill file %s", skill_file, exc_info=True)
# Determine category
category = "General"
item_lower = item.lower()
@@ -186,9 +189,9 @@ def load_commands(project_path: str) -> List[Dict]:
if line.startswith('# '):
description = line[2:].strip()
break
except:
pass
except Exception:
logger.debug("Failed to parse command file %s", item, exc_info=True)
commands.append({
'name': cmd_name,
'description': description or cmd_name.replace('-', ' ').title()
@@ -280,8 +283,8 @@ class ECCDashboard(tk.Tk):
try:
self.icon_image = tk.PhotoImage(file='assets/images/ecc-logo.png')
self.iconphoto(True, self.icon_image)
except:
pass
except Exception:
logger.debug("Failed to load window icon", exc_info=True)
self.minsize(800, 600)
@@ -344,8 +347,8 @@ class ECCDashboard(tk.Tk):
self.logo_image = tk.PhotoImage(file='assets/images/ecc-logo.png')
self.logo_image = self.logo_image.subsample(2, 2)
ttk.Label(header_frame, image=self.logo_image).pack(side=tk.LEFT, padx=(0, 10))
except:
pass
except Exception:
logger.debug("Failed to load header logo", exc_info=True)
self.title_label = ttk.Label(header_frame, text="ECC Dashboard", font=('Open Sans', 18, 'bold'))
self.title_label.pack(side=tk.LEFT)
@@ -897,22 +900,12 @@ Project: github.com/affaan-m/everything-claude-code"""
def update_widget_colors(widget):
try:
widget.configure(background=bg_color)
except:
pass
except Exception:
logger.debug("Cannot set background on %s", widget.__class__.__name__, exc_info=True)
for child in widget.winfo_children():
try:
child.configure(background=bg_color)
except:
pass
try:
update_widget_colors(child)
except:
pass
try:
update_widget_colors(self)
except:
pass
update_widget_colors(child)
update_widget_colors(self)
self.update()