dsh-project-deck 0.1.5 → 0.1.6

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.
@@ -357,7 +357,11 @@ function render(){
357
357
  const banner = $('wxBanner');
358
358
  if (banner) {
359
359
  banner.style.display = wxStale ? 'block' : 'none';
360
- if (wxStale) banner.innerHTML = '⚠️ 微信通道 context_token 已过期:这段时间的播报<b>不会排队堆积</b>。在微信里给 bot 发任意一句话,下一轮播报自动恢复。';
360
+ if (wxStale) {
361
+ banner.innerHTML = (WX && WX.mode === 'ilink')
362
+ ? '⚠️ 微信还没连接:点下面「连接微信」扫码,<b>扫码后还要在微信里给 bot 发一句话</b>,之后播报就能推送到微信。'
363
+ : '⚠️ 微信通道 context_token 已过期:这段时间的播报<b>不会排队堆积</b>。在微信里给 bot 发任意一句话,下一轮播报自动恢复。';
364
+ }
361
365
  }
362
366
  $('nextText').textContent = S.daemon.nextRun ? shortTime(S.daemon.nextRun) : '—';
363
367
 
package/backend/panel.py CHANGED
@@ -47,6 +47,16 @@ P = load_deck()
47
47
 
48
48
 
49
49
  # ── 数据汇总 ────────────────────────────────────────────────
50
+ def channel_stale_now():
51
+ d = P.delivery_cfg()
52
+ if d['type'] == 'ilink':
53
+ w = P.wechat_status()
54
+ return not (w['logged'] and w['hasContext'])
55
+ if d['type'] == 'wxpush':
56
+ return P.channel_stale()
57
+ return not P.delivery_status().get('ok')
58
+
59
+
50
60
  def wechat_view():
51
61
  d = P.delivery_cfg()
52
62
  if d['type'] == 'ilink':
@@ -127,7 +137,7 @@ def snapshot():
127
137
  'daemon': {'running': bool(P.daemon_status()), 'pid': P.daemon_status() or 0,
128
138
  'lastRun': last, 'nextRun': (last + interval * 3600) if last else 0},
129
139
  'wechat': dict(wechat_state(),
130
- stale=P.channel_stale(),
140
+ stale=channel_stale_now(),
131
141
  fails=P.channel_state().get('fails', 0),
132
142
  lastError=P.channel_state().get('lastError', '')),
133
143
  'counts': {
@@ -784,6 +794,7 @@ class Handler(http.server.BaseHTTPRequestHandler):
784
794
  self.send_header('Content-Type', 'application/json; charset=utf-8')
785
795
  self.send_header('Content-Length', str(len(body)))
786
796
  self.send_header('Access-Control-Allow-Origin', '*')
797
+ self.send_header('Cache-Control', 'no-store')
787
798
  self.end_headers()
788
799
  self.wfile.write(body)
789
800
 
@@ -796,6 +807,7 @@ class Handler(http.server.BaseHTTPRequestHandler):
796
807
  self.send_response(200)
797
808
  self.send_header('Content-Type', 'text/html; charset=utf-8')
798
809
  self.send_header('Content-Length', str(len(body)))
810
+ self.send_header('Cache-Control', 'no-store')
799
811
  self.end_headers()
800
812
  self.wfile.write(body)
801
813
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-project-deck",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "DeepSeek Harness plugin: a project deck for your repos — registry, dashboard, scheduled WeChat reports, auto-discovery, multi-node scanning.",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",