dsh-long-message-fold: Collapse excessively long user messages in DSH Web

Maintained by constraint21, the client-side plugin `dsh-long-message-fold` masks the shipped `PlainUserText` renderer. It collapses long user message bodies to a preview height of 360px with a bottom `mask-image` fade-out and provides a "Expand All · N lines / Collapse" toggle. Short message layouts remain unchanged. The decision to collapse is based on actual overflow detected via `useLayoutEffect` and `ResizeObserver` (using `getBoundingClientRect().height` for inline state and `scrollHeight` for block state), avoiding collateral damage to single-line `nowrap` scenarios in QueueDock previews and submission echoes. It takes effect immediately upon installation without a toggle. Parameters include `MAX_HEIGHT(360)`, `FADE_HEIGHT(48)`, `REMEMBER_LIMIT(400)`, and `OBSERVE_MIN_CHARS(120)` defined at the top of `client.js`. Installation is handled via the DSH Plugin Manager's `install_bundle`, targeting `github:constraint21/dsh-long-message-fold`, or by pointing to a local absolute path after a `git clone`. Uninstallation can be performed using the `plugin_manager` action: `remove_bundle`. It depends on the slot `conversation.user.text.node` and the `@deepseek-ai/dsh-client-ui-conversation` Client package. It is registered only on the web platform, is licensed under the MIT license, has the package name `@local/dsh-long-message-fold`, and is set to `private: true`.

Read More