Repository navigation
Replies: 1 comment
你这条我能给出确切机制:Linux 上
|
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
name: Bug report
about: "Add Workspace" button is unresponsive on Linux desktop (native directory picker never surfaces)
title: "[Bug] Add Workspace unresponsive on Linux desktop — native picker (zenity) dialog never surfaces"
labels: bug
Environment
0.2.0-rc.2XDG_SESSION_TYPE=wayland) with XWayland (DISPLAY=:0)zenityandkdialogSSH_CONNECTION/SSH_TTYunset)http://127.0.0.1:3080What happened
Clicking the sidebar "Add workspace" (+) button produces no visible response —
no OS dialog, no in-app dialog, no error toast.
Root cause
@deepseek-ai/dsh-host-directory-picker-autoresolves the interaction at boot(
resolveDirectoryPickerBackendinpackages/host/directory-picker-auto/src/resolve.ts):So the composition mounts
dsh-host-directory-picker-native+dsh-client-ui-directory-picker-native. The native backend then runs:On this machine the zenity dialog does not surface in front of the browser
(presumably a Wayland/XWayland session mismatch, or the dialog opens on a
different display/workspace). Because the native client occupant
(
NativeDirectoryFlow) is renderless and itspick()promise stays pendingwhile zenity is open, the workspace flow stays busy:
createWorkspaceShortcutControls().addthen silently ignores subsequent clicks(its
directoryBusyguard), so every further click on "Add workspace" is ano-op.
Net effect: no dialog, no error, no feedback.
Steps to reproduce
zenityinstalled andDISPLAYset, start
dsh --profile web.http://127.0.0.1:3080in the browser.Workaround
Pin the interaction to the in-app browser picker in the profile's
cordis.patch.yml:Suggested fixes
dialog cannot wedge
directoryBusyforever, and surface the failure to theuser.
resolveDirectoryPickerBackendmore conservative on Linux — e.g. preferbrowseon Wayland sessions, or when the browser origin is not on the samedisplay.
pick()canrelease the busy state instead of silently swallowing further clicks.
All reactions