@furayoshi/dsh-widechat 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 FraYoshi
3
+ Copyright (c) 2025 Francesco Yoshi Gobbo
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -4,9 +4,10 @@ A [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) plugin tha
4
4
 
5
5
  **Compatibility**
6
6
  | DSH version | min version |
7
- | :--- | :--- |
8
- | `0.1.2-rc.1` | `0.8` |
9
- | `0.1.1-rc.1` | `<0.8` |
7
+ |:-------------|:------------|
8
+ | `0.1.5-rc.2` | `0.8.1` |
9
+ | `0.1.2-rc.1` | `0.8.0 |
10
+ | `0.1.1-rc.1` | `<0.8.0` |
10
11
 
11
12
  **NOTE**: as at the current state, this packages has been heavily vibecoded, including most of this README. I might rewrite it at the later date, but you have been warned :)
12
13
 
@@ -126,7 +127,7 @@ The CSS override is intentionally minimal — it touches three things, one per s
126
127
  max-height: calc(<composerMaxHeightPct>vh - 64px) !important; /* ceiling on the textarea */
127
128
  }
128
129
  .uV2eYG_hero .uV2eYG_scroll { max-height: calc(<composerMaxHeightPct>vh - 132px) !important; }
129
- .-NDN2W_root { text-align: <statsAlign> !important; }
130
+ .bOPqQW_root { justify-content: <statsAlign> !important; }
130
131
  ```
131
132
 
132
133
  `chatGutterPct` and `userBubblePct` are **percentages of the cell**; `composerMaxHeightPct` is a **percentage of the viewport**. The cell grows when the sidebar collapses to the rail (56px from 280px), so the column and the bubble grow with it — and the gutter stays at the same percentage. The composer cap, in contrast, is absolute to the viewport so the conversation above is always visible regardless of the sidebar state.
@@ -156,7 +157,7 @@ Invalid values are dropped to the defaults and a `console.warn` is logged with t
156
157
 
157
158
  ### This plugin overrides internal CSS-module class hashes
158
159
 
159
- `.wSkVaW_root`, `.EvIC1a_column`, `.uV2eYG_card`, `.uV2eYG_scroll`, `.Sixlwa_userStack`, `.-NDN2W_root` are CSS-Modules-generated class names from the DSH UI packages — since 0.1.2 the root and composer hashes come from `@deepseek-ai/dsh-client-ui-conversation` and the column, bubble and stats hashes from the new `@deepseek-ai/dsh-client-ui-chat`. Their hashes (the part after the underscore) are recomputed every time the owning package is rebuilt. Any release of those packages can therefore silently break this plugin — specifically, if the shipped rule that reads the variable or has the matching class name changes shape, our override no longer reaches it.
160
+ `.wSkVaW_root`, `.EvIC1a_column`, `.uV2eYG_card`, `.uV2eYG_scroll`, `.Sixlwa_userStack`, `.bOPqQW_root` are CSS-Modules-generated class names from the DSH UI packages — since 0.1.2 the root and composer hashes come from `@deepseek-ai/dsh-client-ui-conversation` and the column, bubble and stats hashes from the new `@deepseek-ai/dsh-client-ui-chat`. Their hashes (the part after the underscore) are recomputed every time the owning package is rebuilt. Any release of those packages can therefore silently break this plugin — specifically, if the shipped rule that reads the variable or has the matching class name changes shape, our override no longer reaches it.
160
161
 
161
162
  After upgrading DSH, check whether the chat column widens, the user bubble stays right-aligned at the configured width, the composer's inner scroll caps at the configured height (and never gets smaller than 52 px), and the stats line still aligns. If any of those regress, the upstream CSS-module hashes changed; see "Updating" below.
162
163
 
@@ -185,7 +186,7 @@ When the upstream hashes change, the fix is mechanical but unavoidable until DSH
185
186
  - `.uV2eYG_card` — the composer card (no override — see "How it works" for why) — `dsh-client-ui-conversation`
186
187
  - `.uV2eYG_scroll` — the composer's inner textarea scroll (we cap its max-height; we floor it at 52px so the trigger row stays below the typing area) — `dsh-client-ui-conversation`
187
188
  - `.Sixlwa_userStack` — the user-message bubble stack (we set its max-width) — `dsh-client-ui-chat`
188
- - `.-NDN2W_root` — the session-stats line (we set its text-align) — `dsh-client-ui-chat`
189
+ - `.bOPqQW_root` — the session-stats line (we set its `justify-content`) — `dsh-client-ui-chat`
189
190
 
190
191
  The hashes live in `dsh-client-ui-conversation/lib/client.js` and `dsh-client-ui-chat/lib/client.js` (in the profile's `node_modules`). Since 0.1.2 the CSS is inlined as `const css$N = "..."` strings, so search for the rule you're overriding (e.g. `chat-content-width`) and read the class hash out of the selector. To update:
191
192
 
@@ -342,13 +342,13 @@ const dictionaries = {
342
342
  * user bubble, stats line). They are recomputed on every upstream
343
343
  * rebuild; when they change this file is what needs updating.
344
344
  *
345
- * Current targets (DSH 0.1.2-rc.1):
345
+ * Current targets (DSH 0.1.5-rc.2):
346
346
  * wSkVaW_root conversation root (dsh-client-ui-conversation)
347
347
  * EvIC1a_column chat column, max-width: var(--dsh-chat-content-width)
348
348
  * uV2eYG_card composer card
349
349
  * uV2eYG_scroll composer inner scroll
350
350
  * Sixlwa_userStack user-message bubble stack (dsh-client-ui-chat)
351
- * -NDN2W_root session stats line (dsh-client-ui-chat)
351
+ * bOPqQW_root session stats line (dsh-client-ui-chat)
352
352
  */
353
353
  /** Validate and clamp a single field. Returns `fallback` on any deviation. */
354
354
  function clampInt(value, min, max, fallback) {
@@ -404,7 +404,7 @@ function resolveConfig(raw, defaults) {
404
404
  * The composer card inherits the same cap through
405
405
  * `--dsh-composer-card-max-width`, which the shipped composer CSS
406
406
  * already reads. The stats line aligns to the user's choice via
407
- * `.-NDN2W_root { text-align: ... }`.
407
+ * `.bOPqQW_root { justify-content: ... }`.
408
408
  */
409
409
  function buildStylesheet(config) {
410
410
  const cap = `calc(100% - ${config.chatGutterPct * 2}%)`;
@@ -460,8 +460,8 @@ function buildStylesheet(config) {
460
460
  max-height: calc(${cmh} - 132px) !important;
461
461
  }
462
462
 
463
- .-NDN2W_root {
464
- text-align: ${config.statsAlign} !important;
463
+ .bOPqQW_root {
464
+ justify-content: ${config.statsAlign === "left" ? "flex-start" : config.statsAlign === "right" ? "flex-end" : "center"} !important;
465
465
  }
466
466
  `;
467
467
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@furayoshi/dsh-widechat",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "DeepSeek Harness plugin: widens the conversation column, sets the user-bubble width and composer max height, and right-aligns the session stats strip, with a settings-row UI to tune all four. Built for the DSH client plugin slot `settings.general.item`.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",