Bundle
dsh-draft-shield
Marks the DSH Web GUI as untranslatable (html translate=no + google notranslate meta) so browser page-translation can never rewrite React-owned DOM and wipe composer drafts.
- Source
- johndfowler
- License
- MIT
- Updated
- Updated 6 days ago
Readme
# dsh-draft-shield DeepSeek Harness Web GUI plugin that stops browser page-translation from wiping composer drafts. ## Problem DSH uses a React-controlled textarea for its message composer. If the browser auto-translates the page (Chrome/Edge/Safari offer this when the GUI renders non-English UI), the translation pass rewrites DOM text nodes mid-typing — and React's next render loses control of the input, so **text you just typed disappears from the message box**. This shows up as: type a few characters, the box silently empties. Intermittent, worse while idle, and only in a browser with translation enabled for the site (incognito/extension-free tabs are unaffected). ## Fix Marks the document untranslatable at load: - `<html translate="no">` + `notranslate` class - `<meta name="google" content="notranslate">` Chrome, Edge, and Safari respect these markers and stop offering/applying translation — so nothing rewrites the DOM, and drafts survive, on every profile and device. ## Install ```sh cd /Users/jdf/.dsh/profiles/web pnpm add file:/path/to/dsh-draft-shield # then append "dsh-draft-shield" to dsh.profile.bundles in package.json, # and restart `dsh web`. ``` ## License MIT
Install
dsh plugin --profile web add github:johndfowler/dsh-draft-shield
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-draft-shield from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.