From 0072951221e422836b312318fe4545ea886e204e Mon Sep 17 00:00:00 2001 From: Marian Paul Date: Tue, 27 Jan 2026 10:04:58 +0100 Subject: [PATCH] Fix latest build issues from master --- start_ui.py | 19 +++++++++++++++++-- ui/package-lock.json | 6 +++--- ui/src/components/ConversationHistory.tsx | 2 +- ui/src/components/DebugLogViewer.tsx | 8 ++++---- ui/src/components/ProjectSelector.tsx | 2 +- ui/src/components/ScheduleModal.tsx | 2 +- ui/src/components/ThemeSelector.tsx | 2 +- ui/tsconfig.node.json | 1 + 8 files changed, 29 insertions(+), 13 deletions(-) diff --git a/start_ui.py b/start_ui.py index ae06b2a..3e619c1 100644 --- a/start_ui.py +++ b/start_ui.py @@ -137,10 +137,25 @@ def check_node() -> bool: def install_npm_deps() -> bool: - """Install npm dependencies if node_modules doesn't exist.""" + """Install npm dependencies if node_modules doesn't exist or is stale.""" node_modules = UI_DIR / "node_modules" + package_json = UI_DIR / "package.json" + package_lock = UI_DIR / "package-lock.json" - if node_modules.exists(): + # Check if npm install is needed + needs_install = False + + if not node_modules.exists(): + needs_install = True + elif package_json.exists(): + # If package.json or package-lock.json is newer than node_modules, reinstall + node_modules_mtime = node_modules.stat().st_mtime + if package_json.stat().st_mtime > node_modules_mtime: + needs_install = True + elif package_lock.exists() and package_lock.stat().st_mtime > node_modules_mtime: + needs_install = True + + if not needs_install: print(" npm dependencies already installed") return True diff --git a/ui/package-lock.json b/ui/package-lock.json index b9af1ec..2c33986 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -3024,7 +3024,7 @@ "version": "19.2.9", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.9.tgz", "integrity": "sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "csstype": "^3.2.2" @@ -3034,7 +3034,7 @@ "version": "19.2.3", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, + "devOptional": true, "license": "MIT", "peerDependencies": { "@types/react": "^19.2.0" @@ -3658,7 +3658,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/d3-color": { diff --git a/ui/src/components/ConversationHistory.tsx b/ui/src/components/ConversationHistory.tsx index cbafe79..a9e701a 100644 --- a/ui/src/components/ConversationHistory.tsx +++ b/ui/src/components/ConversationHistory.tsx @@ -168,7 +168,7 @@ export function ConversationHistory({