DSH 0.1.7-alpha.2 removed the visible [role="status"] turn status. The running label now lives inside a <button data-turn-process> and reads "Deep diving for 12s" (en) / "深度求索中,用时12s" (zh), rewritten every second with the live duration. The only remaining [role="status"] is a visually hidden screen-reader announcement, which the plugin previously rewrote by mistake while the visible label went untouched. - Locate the label via [data-turn-process], falling back to the legacy [role="status"] text node on DSH <= 0.1.5. - Match running labels by locale-aware prefix so duration rewording and future locales keep working. - Release the claim when the label stops meaning "a turn is running", so the final "Worked for 12s" is never clobbered. - Restore the label synchronously from the MutationObserver fast path: observer callbacks run before paint, so React's per-second duration rewrite no longer flashes the stock text through. - Never touch the visually hidden announcement; screen readers still get the real status. - Wrap the effect in try/catch so an unexpected error disables the plugin instead of breaking the chat view. - 29 new phrases (125 total). - Test suite expanded to twelve checks covering both DOM layouts, turn-end release, and phrase-list integrity.
32 lines
650 B
JSON
32 lines
650 B
JSON
{
|
|
"name": "@based-dsh-diving/dsh-plugin",
|
|
"description": "Replace DeepSeek Harness's running-turn status label with rotating, chronically online loading text.",
|
|
"version": "0.1.2",
|
|
"type": "module",
|
|
"main": "index.js",
|
|
"exports": {
|
|
".": "./index.js",
|
|
"./client": "./client.js",
|
|
"./package.json": "./package.json"
|
|
},
|
|
"files": [
|
|
"index.js",
|
|
"client.js",
|
|
"cordis.patch.yml",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"license": "MIT",
|
|
"scripts": {
|
|
"test": "node test/client.test.mjs"
|
|
},
|
|
"dsh": {
|
|
"bundle": {
|
|
"patch": "./cordis.patch.yml"
|
|
},
|
|
"client": {
|
|
"platform": "web"
|
|
}
|
|
}
|
|
}
|