Skip to content

Releases: Hjdd14/dsh-toolong-warning

v0.2.0 — draggable floating window, schema fallback and CI fixes

Choose a tag to compare

@Hjdd14 Hjdd14 released this 29 Sep 12:29

The floating window becomes draggable, and two host-side defects in the fallback
config path are fixed. Install or upgrade with:

dsh plugin --profile web add @hjdd14/dsh-toolong-warning

Added

  • The floating window is draggable. Press anywhere on the card (except its own
    controls) and move it, so it no longer has to sit over the page's top-right
    content. The position is remembered per browser — the same scope as the language
    choice and the threshold override, and deliberately not a profile setting,
    because it describes one person's screen rather than the conversation.
  • The window is kept reachable: a position is clamped so at least a grab-sized
    part stays on screen (allowing negative coordinates when the window is wider than
    the viewport, so its right-hand content is still reachable), and a moved window is
    pulled back after a resize, a rotation, or the warning card making it taller.
  • The Settings section grows a Reset window position row as soon as the window
    has been moved, and only then.
  • screenshots.json beside package.json, declaring the window screenshot
    (docs/overlay.png) for plugin-market storefronts. Screenshots are declared in
    the plugin's own repository, so changing them later needs no pull request on
    anyone else's repo.

Fixed

  • The fallback config descriptor now carries meta.volatile, the key the Settings
    form actually reads.
    It previously set a vol: true shorthand, so on a host
    where @deepseek-ai/schemastery was not resolvable — the case the fallback exists
    for — volatileForm found no editable field and the plugin's Settings section came
    up empty. schemastery itself sets meta.volatile, and
    @deepseek-ai/dsh-settings reads exactly that name.
  • A rejected config no longer carries a value. Under Standard Schema a failed
    validation reports issues alone; the fallback returned a partly repaired value
    beside them, which callers could mistake for a usable config.
  • The test suite no longer asserts anything about the machine it runs on. Three
    assertions did, and each one failed in CI while passing on a developer box, which
    is how a red main went unnoticed through three runs: the schema library being
    resolvable, a profile existing at ~/.dsh/profiles/web, and the settings label
    resolving to 长对话提醒 on a machine whose browser language is Chinese. The label
    case was the subtle one — the plugin picks its initial language from
    navigator.languages by design, so the assertion was reading the runner's locale.
    All three now assert the plugin's own contract, and the language chain is asserted
    directly on src/i18n.js with no globals involved.

Notes

  • Browser-half only for the drag feature: no host change, so no new dsh web process
    is required and moduleGeneration is unchanged. The bundle hot-reloads.
  • npm test is 446 assertions, 0 failures: 98 in test-detect.mjs, 104 in
    test-i18n.mjs, 49 in test-coldread.mjs, 98 in test-routes.mjs and 97 in
    check-client.mjs.

Full changelog: CHANGELOG.md

v0.1.1 — draggable floating window

Choose a tag to compare

@Hjdd14 Hjdd14 released this 27 Sep 05:21

Drag the floating window

The window was pinned to the top-right corner, where it could cover the page's own controls. It is
draggable now, and where you leave it is remembered.

Added

  • Draggable floating window — press anywhere on the card and move it. Controls inside it
    (Got it, Adjust thresholds, collapse, number fields) keep working.
  • Position is remembered per browser, next to the language choice and the threshold override.
    It is deliberately not a profile setting: it describes one person's screen, not the conversation.
  • The window stays reachable: clamped so at least a grab-sized part remains on screen, with
    negative coordinates allowed when the window is wider than the viewport, and pulled back after a
    resize, a rotation, or the warning card growing.
  • Reset window position row in the Settings section, shown once the window has been moved.

Notes

  • Browser half only. No host change, so no new dsh web process is required and
    moduleGeneration is unchanged.
  • Test coverage grew from 374 to 440 assertions (npm test).

Install

dsh plugin --profile web add @hjdd14/dsh-toolong-warning