diff --git a/deploy/check-latest-fail.py b/deploy/check-latest-fail.py new file mode 100644 index 0000000..ecdba0c --- /dev/null +++ b/deploy/check-latest-fail.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 +import paramiko, json, re + +c = paramiko.SSHClient() +c.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +c.connect("10.10.0.10", username="localadministrator", password="Bbt9115xty9176!", timeout=20, allow_agent=False, look_for_keys=False) + +_, o, e = c.exec_command( + "docker exec coolify-db psql -U coolify -d coolify -t -c " + "\"SELECT id,status,substring(logs from 1 for 8000) FROM application_deployment_queues ORDER BY id DESC LIMIT 1;\"", + timeout=60, +) +o.channel.recv_exit_status() +raw = (o.read() + e.read()).decode(errors="replace") +print(raw[-10000:]) +# extract Failed to compile section +if "Failed to compile" in raw: + m = re.search(r"Failed to compile\.[\s\S]{0,2000}", raw) + if m: + print("\n--- ERROR ---\n", m.group(0)[:1500]) +c.close() \ No newline at end of file diff --git a/deploy/check-latest-fail2.py b/deploy/check-latest-fail2.py new file mode 100644 index 0000000..84fa712 --- /dev/null +++ b/deploy/check-latest-fail2.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 +import paramiko, json + +c = paramiko.SSHClient() +c.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +c.connect("10.10.0.10", username="localadministrator", password="Bbt9115xty9176!", timeout=20, allow_agent=False, look_for_keys=False) + +_, o, e = c.exec_command( + "docker exec coolify-db psql -U coolify -d coolify -t -A -c " + "\"SELECT logs FROM application_deployment_queues WHERE id=1120;\"", + timeout=120, +) +o.channel.recv_exit_status() +raw = (o.read() + e.read()).decode(errors="replace") +# find build errors +for needle in ["Failed to compile", "Type error", "ERROR:", "error TS", "not assignable"]: + idx = raw.rfind(needle) + if idx >= 0: + print(raw[idx:idx+2500]) + print("\n---\n") +c.close() \ No newline at end of file diff --git a/src/components/CannedMessagesPanel.tsx b/src/components/CannedMessagesPanel.tsx index b602f88..e5a5f97 100644 --- a/src/components/CannedMessagesPanel.tsx +++ b/src/components/CannedMessagesPanel.tsx @@ -89,10 +89,6 @@ export function CannedMessagesPanel({ compact, onSelect }: CannedMessagesPanelPr await refresh(); }; - if (!capabilities.canUseQuickReplies && !compact) { - return ; - } - if (compact) { return (
@@ -114,6 +110,10 @@ export function CannedMessagesPanel({ compact, onSelect }: CannedMessagesPanelPr ); } + if (!capabilities.canUseQuickReplies) { + return ; + } + return ( diff --git a/src/components/PhotoGalleryManager.tsx b/src/components/PhotoGalleryManager.tsx index 82b8ea7..2253c5d 100644 --- a/src/components/PhotoGalleryManager.tsx +++ b/src/components/PhotoGalleryManager.tsx @@ -42,9 +42,6 @@ export function PhotoGalleryManager({ onVerifyClick }: PhotoGalleryManagerProps) const [message, setMessage] = useState(""); const [loading, setLoading] = useState(true); const fileRef = useRef(null); - if (!capabilities.canUploadPhotos) { - return ; - } useEffect(() => { let cancelled = false; @@ -116,6 +113,10 @@ export function PhotoGalleryManager({ onVerifyClick }: PhotoGalleryManagerProps) } }; + if (!capabilities.canUploadPhotos) { + return ; + } + if (loading) { return

Loading gallery...

; }