mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-16 22:03:05 +08:00
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:
@@ -10,10 +10,13 @@ import os
|
|||||||
import json
|
import json
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Dict, List, Optional
|
from typing import Dict, List, Optional
|
||||||
|
import logging
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
|
||||||
from scripts.lib.ecc_dashboard_runtime import launch_terminal, maximize_window
|
from scripts.lib.ecc_dashboard_runtime import launch_terminal, maximize_window
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# DATA LOADERS - Load ECC data from the project
|
# DATA LOADERS - Load ECC data from the project
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
@@ -112,9 +115,9 @@ def load_skills(project_path: str) -> List[Dict]:
|
|||||||
if line.startswith('# '):
|
if line.startswith('# '):
|
||||||
description = line[2:].strip()[:100]
|
description = line[2:].strip()[:100]
|
||||||
break
|
break
|
||||||
except:
|
except Exception:
|
||||||
pass
|
logger.debug("Failed to parse skill file %s", skill_file, exc_info=True)
|
||||||
|
|
||||||
# Determine category
|
# Determine category
|
||||||
category = "General"
|
category = "General"
|
||||||
item_lower = item.lower()
|
item_lower = item.lower()
|
||||||
@@ -186,9 +189,9 @@ def load_commands(project_path: str) -> List[Dict]:
|
|||||||
if line.startswith('# '):
|
if line.startswith('# '):
|
||||||
description = line[2:].strip()
|
description = line[2:].strip()
|
||||||
break
|
break
|
||||||
except:
|
except Exception:
|
||||||
pass
|
logger.debug("Failed to parse command file %s", item, exc_info=True)
|
||||||
|
|
||||||
commands.append({
|
commands.append({
|
||||||
'name': cmd_name,
|
'name': cmd_name,
|
||||||
'description': description or cmd_name.replace('-', ' ').title()
|
'description': description or cmd_name.replace('-', ' ').title()
|
||||||
@@ -280,8 +283,8 @@ class ECCDashboard(tk.Tk):
|
|||||||
try:
|
try:
|
||||||
self.icon_image = tk.PhotoImage(file='assets/images/ecc-logo.png')
|
self.icon_image = tk.PhotoImage(file='assets/images/ecc-logo.png')
|
||||||
self.iconphoto(True, self.icon_image)
|
self.iconphoto(True, self.icon_image)
|
||||||
except:
|
except Exception:
|
||||||
pass
|
logger.debug("Failed to load window icon", exc_info=True)
|
||||||
|
|
||||||
self.minsize(800, 600)
|
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 = tk.PhotoImage(file='assets/images/ecc-logo.png')
|
||||||
self.logo_image = self.logo_image.subsample(2, 2)
|
self.logo_image = self.logo_image.subsample(2, 2)
|
||||||
ttk.Label(header_frame, image=self.logo_image).pack(side=tk.LEFT, padx=(0, 10))
|
ttk.Label(header_frame, image=self.logo_image).pack(side=tk.LEFT, padx=(0, 10))
|
||||||
except:
|
except Exception:
|
||||||
pass
|
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 = ttk.Label(header_frame, text="ECC Dashboard", font=('Open Sans', 18, 'bold'))
|
||||||
self.title_label.pack(side=tk.LEFT)
|
self.title_label.pack(side=tk.LEFT)
|
||||||
@@ -897,22 +900,12 @@ Project: github.com/affaan-m/everything-claude-code"""
|
|||||||
def update_widget_colors(widget):
|
def update_widget_colors(widget):
|
||||||
try:
|
try:
|
||||||
widget.configure(background=bg_color)
|
widget.configure(background=bg_color)
|
||||||
except:
|
except Exception:
|
||||||
pass
|
logger.debug("Cannot set background on %s", widget.__class__.__name__, exc_info=True)
|
||||||
for child in widget.winfo_children():
|
for child in widget.winfo_children():
|
||||||
try:
|
update_widget_colors(child)
|
||||||
child.configure(background=bg_color)
|
|
||||||
except:
|
update_widget_colors(self)
|
||||||
pass
|
|
||||||
try:
|
|
||||||
update_widget_colors(child)
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
|
||||||
update_widget_colors(self)
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: canary-watch
|
name: canary-watch
|
||||||
description: Use this skill to monitor a deployed URL for regressions after deploys, merges, or dependency upgrades.
|
description: Use this skill to monitor and verify a deployed URL after releases — checks HTTP endpoints, SSE streams, static assets, console errors, and performance regressions after deploys, merges, or dependency upgrades. Smoke / canary / post-deploy verification.
|
||||||
origin: ECC
|
origin: ECC
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user