Repository navigation
Upstream request: let a declared trusted host satisfy the client's settings trust #7382
ArndRosemeier
started this conversation in
General
Replies: 0 comments
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.
Uh oh!
There was an error while loading. Please reload this page.
#Upstream request: let a declared trusted host satisfy the client's settings trust
Target:
deepseek-ai/deepseek-harness(observed on dsh 0.1.5-rc.2)Summary
When the dsh web UI is served through a reverse proxy or tunnel — for example behind Cloudflare
Access — the Settings pages do not render for the remote browser:
Coding, sessions, file views and the
/apisurface all work normally. Only the host-privilegedsettings surfaces are withheld.
Why it happens
dsh-client-connectionclassifies the page:and the settings shell derives persistence from that state when it applies:
With a remote page the mirror is process-local and has no view, so every settings page — models,
general, plugins — reports unavailable.
describeFace.ensure()returning no view is what themodal surfaces.
dsh web --trusted-host(andweb-app'strustedHosts) declares authorities for the/apiHost fence, which is a separate mechanism: the client bundle never reads
trustedHostsat all.connection's own config exposes only timing keys, so there is no configuration path to thesettings surface in a proxy-served deployment.
Proposal — any of these would be sufficient
trustedHostsas satisfying the client's settings trust, eitherby folding it into
isLoopbackor by introducing a separateisTrustedHostthat the settingsshell honours.
dsh web --allow-remote-settingsorconnection.settingsTrust: [...].from a declared trusted authority.
Context for the argument
authentication belongs to the proxy (Cloudflare Access, oauth2-proxy, Tailscale, …), so the
loopback check blocks legitimate use rather than adding protection.
host filesystem access — so the incremental exposure from rendering the settings is small.
browser running on the host). That works, but it is an awkward requirement for a UI whose whole
point is remote access.
All reactions