@windypro-rourou/dsh-logcat 0.6.0-preview.3 → 0.6.0-preview.4

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/lib/client.js CHANGED
@@ -225,6 +225,7 @@ window.__ModuleLoader__.load({
225
225
  const [screenImg, setScreenImg] = useState(null);
226
226
  const [screenText, setScreenText] = useState("");
227
227
  const [screenOn, setScreenOn] = useState(false);
228
+ const [hostScreenCapable, setHostScreenCapable] = useState(false);
228
229
  const panelOpen = useSyncExternalStore(controller.subscribe, controller.getSnapshot).panelOpen;
229
230
 
230
231
  const wsRef = useRef(null);
@@ -404,6 +405,7 @@ window.__ModuleLoader__.load({
404
405
  setDevices(body.devices ?? []);
405
406
  setStreaming(body.streaming ?? []);
406
407
  setEventsStreaming(body.eventsStreaming ?? []);
408
+ setHostScreenCapable(body.screenCapable === true);
407
409
  setCurrentPackage(body.currentPackage ?? "");
408
410
  setCurrentVersion(body.currentVersion ?? "");
409
411
  setLatestVersion(body.latestVersion ?? "");
@@ -975,17 +977,19 @@ window.__ModuleLoader__.load({
975
977
  : tab === "screen"
976
978
  ? h("div", { className: "lc-screen" },
977
979
  h("div", { className: "lc-screen-bar" },
978
- h("span", { className: "lc-dot " + (screenOn ? "on" : "off") }),
979
- h("span", null, screenOn ? "投屏中 (~1fps)" : "投屏未开启"),
980
+ h("span", { className: "lc-dot " + (screenOn && hostScreenCapable ? "on" : "off") }),
981
+ h("span", null, !hostScreenCapable ? "宿主版本过旧" : (screenOn ? "投屏中 (~1fps)" : "投屏未开启")),
980
982
  h("input", { placeholder: "输入文字后回车发送…", value: screenText, onChange: (e) => setScreenText(e.target.value), onKeyDown: (e) => { if (e.key === "Enter") sendScreenText(); }, style: { flex: 1, minWidth: 140 } }),
981
983
  h("button", { type: "button", className: "lc-btn", onClick: downloadScreen, title: "下载当前帧 PNG" }, "下载"),
982
984
  h("span", { className: "lc-screen-hint" }, "点击=点按 · 拖动=滑动"),
983
985
  ),
984
- h("div", { className: "lc-screen-img", ref: screenWrapRef, onMouseDown: screenMouseDown, onMouseUp: screenMouseUp, onMouseLeave: screenMouseUp },
985
- screenImg !== null
986
- ? h("img", { ref: screenImgRef, src: screenImg, alt: "设备屏幕", draggable: false })
987
- : h("div", { className: "lc-empty" }, "等待画面…(设备连接后自动开始,1fps)"),
988
- ),
986
+ !hostScreenCapable
987
+ ? h("div", { className: "lc-empty" }, "⚠ 运行中的 GUI 宿主版本过旧(0.6.0-preview.1)——请重启 GUI(dsh web)后刷新,投屏功能才会生效")
988
+ : h("div", { className: "lc-screen-img", ref: screenWrapRef, onMouseDown: screenMouseDown, onMouseUp: screenMouseUp, onMouseLeave: screenMouseUp },
989
+ screenImg !== null
990
+ ? h("img", { ref: screenImgRef, src: screenImg, alt: "设备屏幕", draggable: false })
991
+ : h("div", { className: "lc-empty" }, "等待画面…(设备连接后自动开始,1fps)"),
992
+ ),
989
993
  )
990
994
  : eventsOn
991
995
  ? (filteredEvents.length === 0
package/lib/index.js CHANGED
@@ -890,6 +890,7 @@ function makeRoutes(engine) {
890
890
  devices: engine.deviceList(),
891
891
  streaming: [...engine.streams.keys()],
892
892
  eventsStreaming: [...engine.eventsStreams.keys()],
893
+ screenCapable: true,
893
894
  currentPackage: engine.currentPackage,
894
895
  currentVersion: OWN_MANIFEST.version,
895
896
  latestVersion,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@windypro-rourou/dsh-logcat",
3
3
  "description": "Android Logcat viewer for the dsh web GUI: auto-connects to any adb device in debug mode, live logcat stream with level/keyword filters, pause/clear/export, plus agent tools (logcat_recent). Hot-pluggable — mounted via ~/.dsh/cordis.patch.yml + a profile node_modules copy, no dsh source changes.",
4
- "version": "0.6.0-preview.3",
4
+ "version": "0.6.0-preview.4",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.22.0",
7
7
  "engines": {