From de61851eb53fa12b53c2d7b4f8e5b1a56f27ec26 Mon Sep 17 00:00:00 2001 From: yujiezhang-ops Date: Thu, 6 Aug 2026 11:16:31 +0800 Subject: [PATCH] fix: free the covered sidebar controls, unify selects, give OpenClaw a mark Three reported problems, verified in the running app before changing anything. The language picker was not missing, it was unreachable. .task-center is position: fixed at the viewport's lower-left corner and contributes no height to the sidebar's flex column, so the rows margin-top: auto pushes to the bottom ended up underneath it: rendered, visible, in the accessibility tree, and taking no clicks. elementFromPoint at the select's centre returned the overlay's SPAN. The theme row survived only because it cleared the overlay by 2px, which is why this read as one button disappearing rather than a dead strip along the bottom. The sidebar now reserves --task-center-reserve at its bottom edge. Three numbers have to agree to avoid the collision -- the trigger's height, its viewport offset, and the gap -- so they live in one token instead of as separate magic numbers, and nudging bottom or z-index to dodge would only move the collision to a different window height. Selects are unified. All four were appearance: auto with no appearance: none anywhere in the stylesheets, so they rendered as native macOS controls here and as something else again on Windows and Linux while the rest of the UI stayed consistent. They now share one rule with a drawn arrow and the existing tokens. Two consequences worth knowing: the open