dsh-global-todo 0.4.6 → 0.4.7
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/CHANGELOG.md +11 -0
- package/docs/screenshots/panel-detail.png +0 -0
- package/docs/screenshots/panel-select.png +0 -0
- package/docs/screenshots/panel.png +0 -0
- package/lib/client.js +10 -3
- package/lib/index.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.4.7] — 2026-10-19
|
|
11
|
+
|
|
12
|
+
Verified against the running GUI this time, with measured numbers instead of arithmetic.
|
|
13
|
+
|
|
14
|
+
- **The card no longer overlaps the list by its own padding.** `width: 360px` was applied
|
|
15
|
+
content-box, so the card was 394px wide while the list reserved 380px — a 14px overlap that
|
|
16
|
+
only showed up in a live box measurement. It is `box-sizing: border-box` now (990–1350 against
|
|
17
|
+
a list ending at 970 at 1440×900).
|
|
18
|
+
- **Its vertical brackets come from the list, not the panel.** The panel fills the window, so
|
|
19
|
+
measuring its bottom put the card over the footer; the anchors now come from `.gt-groups`
|
|
20
|
+
(top + 10) and its bottom (+ 8 gap above the footer).
|
|
10
21
|
## [0.4.6] — 2026-10-19
|
|
11
22
|
|
|
12
23
|
The card existed; where it landed depended on a viewport assumption that the real shell does not
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/lib/client.js
CHANGED
|
@@ -50,7 +50,7 @@ window.__ModuleLoader__.load({
|
|
|
50
50
|
* different mechanisms (restart vs. hot reload), so "which one am I looking
|
|
51
51
|
* at" needs an answer that the bundle itself carries.
|
|
52
52
|
*/
|
|
53
|
-
const UI_REV = '
|
|
53
|
+
const UI_REV = 'ui30'
|
|
54
54
|
/** Last language resolved for the shell; module-level so a fetch failure can be worded too. */
|
|
55
55
|
let activeLang = 'zh'
|
|
56
56
|
|
|
@@ -1021,6 +1021,9 @@ button.gt-chip[data-on="1"] { color: var(--dsw-alias-label-primary); border-colo
|
|
|
1021
1021
|
always fill the window, and a viewport-centred offset put the card over the list. */
|
|
1022
1022
|
/* The var fallback matters for the static previews (server-rendered, so effects never
|
|
1023
1023
|
run): they assume the panel is the centred 980px column. */
|
|
1024
|
+
/* border-box matters: 360px is the whole card, so the list's 380px reservation leaves
|
|
1025
|
+
a gap instead of overlapping by the padding width. */
|
|
1026
|
+
box-sizing: border-box;
|
|
1024
1027
|
position: fixed; top: var(--gt-detail-top, 208px);
|
|
1025
1028
|
right: var(--gt-detail-right, max(24px, calc((100vw - 980px) / 2 + 24px)));
|
|
1026
1029
|
bottom: var(--gt-detail-bottom, 64px); width: 360px;
|
|
@@ -2216,10 +2219,14 @@ button.gt-chip[data-on="1"] { color: var(--dsw-alias-label-primary); border-colo
|
|
|
2216
2219
|
const element = innerRef.current
|
|
2217
2220
|
if (element === null) return
|
|
2218
2221
|
const rect = element.getBoundingClientRect()
|
|
2222
|
+
// Bracket the card against the scrolling list, not the panel box: the footer sits
|
|
2223
|
+
// below the list, and the panel's own bottom is below that.
|
|
2224
|
+
const groups = document.querySelector('.gt-groups')
|
|
2225
|
+
const list = groups === null ? null : groups.getBoundingClientRect()
|
|
2219
2226
|
setDetailAnchor({
|
|
2220
|
-
top: Math.round(rect.top +
|
|
2227
|
+
top: Math.round((list === null ? rect.top + 190 : list.top) + 10),
|
|
2221
2228
|
right: Math.round(window.innerWidth - rect.right + 20),
|
|
2222
|
-
bottom: Math.round(window.innerHeight - rect.bottom +
|
|
2229
|
+
bottom: Math.round(window.innerHeight - (list === null ? rect.bottom : list.bottom) + 8),
|
|
2223
2230
|
})
|
|
2224
2231
|
}
|
|
2225
2232
|
measure()
|
package/lib/index.js
CHANGED
|
@@ -35,7 +35,7 @@ import { createStore, resolveStorePath } from './store.js'
|
|
|
35
35
|
import { createTools } from './tools.js'
|
|
36
36
|
|
|
37
37
|
/** Must equal `package.json`'s version; `npm run check` enforces that. */
|
|
38
|
-
export const VERSION = '0.4.
|
|
38
|
+
export const VERSION = '0.4.7'
|
|
39
39
|
|
|
40
40
|
/** Plugin id. Also the Loader row id in `cordis.patch.yml`. */
|
|
41
41
|
export const name = 'dsh-global-todo'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-global-todo",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.7",
|
|
4
4
|
"icon": "./docs/icon.svg",
|
|
5
5
|
"description": "Global, cross-session todos for DeepSeek Harness: one list owned by the human and the agent together, with creation time, attached documents and links, and one-click hand-off to an agent session. 全局待办:跨会话一份清单,记录加入时间,可挂文档与地址,可一键交给 Agent 继续干。",
|
|
6
6
|
"type": "module",
|