Back to home

wanglaixiang-cyber

dsh-composer-scroll-hide

DSH plugin: composer auto-hide on scroll, follows the message flow and tracks the back-to-bottom float

Stars
0
Language
JavaScript
Created
Aug 16, 2026
Updated
Aug 16, 2026

Introduction

dsh-composer-scroll-hide

A DSH browser-side plugin that makes the composer follow the message flow while scrolling.

Features

  • Scroll up: the input bar slides off-screen at the same speed as the content, so it never covers the history you are reading
  • Browsing history: while paging down through history, the input bar stays hidden — it never pops in early
  • Back to latest: the input bar only rides back in over the final stretch of the return to the latest message (about one composer height), settling fully at the bottom
  • Float tracking: the app's "back to bottom" float button moves together with the input bar and lands 16px above the bottom edge once the bar is fully hidden

Install

dshpm install github:wanglaixiang-cyber/dsh-composer-scroll-hide --profile <profile-name>

Development

For local development, link the package into a profile:

"dsh-composer-scroll-hide": "link:/path/to/dsh-composer-scroll-hide"

Edits to lib/client.js are picked up by client-hmr within about a second — no page refresh, no restart.

How it works (short)

  • Listens to scroll events on the [data-conversation-scroll] scrollport (passive — never blocks scrolling)
  • Composer offset = min(distance to bottom, composer height): position-driven, so any state (re-attach, jump, resize) converges on the next scroll
  • Syncs the --dsh-composer-height custom property, which drives the back-to-bottom float's clearance so the float tracks the bar
  • The seat height is cached via ResizeObserver; the transform is written at most once per frame (requestAnimationFrame)

License

MIT