From 2bd9bc6138a3c4a91cd6787a0e3500fe39d411ad Mon Sep 17 00:00:00 2001 From: bbassie <17990055+bbassie@users.noreply.github.com> Date: Fri, 26 Jun 2026 12:24:34 +0000 Subject: [PATCH] Fill table link cells with a block link instead of an overlay Replace the absolutely-positioned a::after overlay with display:block on the link. The overlay covered sibling cell content (the restart-required icon), swallowing its hover so the tooltip never triggered. A block link fills the cell width without overlapping siblings. Also skip rendering the assigned-host link when an instance has no assigned host, avoiding a dead /hosts/undefined/view link. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/web_ui/src/components/InstanceList.tsx | 4 ++-- packages/web_ui/src/style.css | 15 ++++++--------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/packages/web_ui/src/components/InstanceList.tsx b/packages/web_ui/src/components/InstanceList.tsx index 45919f64..630d349e 100644 --- a/packages/web_ui/src/components/InstanceList.tsx +++ b/packages/web_ui/src/components/InstanceList.tsx @@ -59,12 +59,12 @@ export default function InstanceList(props: InstanceListProps) { key: "assignedHost", className: "table-link-cell", render: (_, instance) => - e.stopPropagation()} > {hostName(instance.assignedHost)} - + } , sorter: (a, b) => strcmp(hostName(a.assignedHost), hostName(b.assignedHost)), diff --git a/packages/web_ui/src/style.css b/packages/web_ui/src/style.css index f574c1b1..8fc041c2 100644 --- a/packages/web_ui/src/style.css +++ b/packages/web_ui/src/style.css @@ -10,15 +10,12 @@ body { cursor: pointer; } -/* Make a table name-cell link fill the whole cell, so the entire cell is - clickable and right-click "open in new tab"-able, not just the text. */ -.table-link-cell { - position: relative; -} -.table-link-cell a::after { - content: ""; - position: absolute; - inset: 0; +/* Make a table link-cell's link fill the cell width, so the whole column + width is clickable and right-click "open in new tab"-able, not just the + text. Uses display:block rather than an overlay so sibling content (e.g. + the restart-required icon) stays interactive. */ +.table-link-cell a { + display: block; } .login-container {