DropSpace v0.3.0-preview.1
Pre-release
Pre-release
DropSpace v0.3.0-preview.1 — Smart Drag Detection v2 foundation
DropSpace v0.3.0-preview.1 is the first test build based on the Smart Drag Detection v2 project plan. It keeps Smart mode free of a permanent top-edge or full-screen drop target while broadening candidate detection beyond Explorer/Desktop process assumptions.
Official website: https://airanluo-dot.github.io/DropSpace/
Source-agnostic Smart candidates
- Continues passive pointer observation after a press from an unknown source and creates a generic candidate only after the Windows drag threshold is crossed.
- Keeps the proven Explorer/Desktop exact-item path as a high-confidence fast path.
- Accepts documented accessibility drag-start evidence from unknown providers without application-name hardcoding.
- Carries evidence level, evidence flags, session ID, and verification requirement through a serialized policy so stale timeouts and old callbacks cannot cancel a newer drag.
Ephemeral OLE verification probe
- Creates at most one 144-pixel hollow local OLE target only for a generic candidate; it does not exist while idle.
- Starts the pointer in a real 12-pixel Region hole, uses
WS_EX_NOACTIVATE,WS_EX_TOOLWINDOW,WS_EX_TOPMOST, and a 1/255 layered alpha, and never requests foreground focus. - Enforces a 60 ms hard lifetime, always reports
DROPEFFECT_NONE, and queues revoke/destruction outside theIDropTarget::DragEntercallback. - Begins speculative Dynamic Island reveal in parallel, commits file evidence when OLE verifies it, and reverses the reveal on rejection or timeout.
Shared OLE file classification
- Centralizes
CF_HDROP,Shell IDList Array, and virtual-file descriptor detection for the probe, Classic host, and visible Dynamic Island target. - Accepts file-system paths and Shell items that resolve to bounded file-system paths through the existing
AddPathsAsyncpipeline. - Recognizes
FileGroupDescriptorW+FileContentsas virtual-file evidence without reading content during verification. Safe streaming materialization is intentionally deferred to a later v0.3 Preview, so virtual-only drops are not yet accepted by this build. - Bounds item/PIDL parsing and keeps paths, filenames, and payload content out of diagnostics.
Validation in this Preview
- Extends Core policy tests for unknown candidates, strong-signal promotion, OLE verify/reject/timeout, stale-session races, and 1,000-session cleanup.
- Extends the Windows executable smoke with hollow Region, no-activate/tool-window/topmost styles, single-probe ownership, 60 ms timeout cleanup, double-dispose, and query-only
CF_HDROP/Shell/virtual/text classification checks. - Keeps Classic top-edge mode as an explicit compatibility fallback; Smart mode never silently switches to it.
Preview limitations
- Cross-process behavior still depends on each source application's OLE drag implementation. Explorer, Desktop, WeChat, QQ, Feishu/Electron, Office attachments, mixed-DPI monitors, cursor feedback, and false-reveal rate require recorded real-Windows testing before v0.3 Stable.
- Virtual files are detected but are not materialized in Preview.1.
- Public artifacts are unsigned unless release signing secrets are configured; SmartScreen may show an unknown-app prompt.
中文说明
- v0.3.0-preview.1 按 Smart Drag Detection v2 规划启动 3.0 测试序列:Unknown 来源按下后仍继续被动观察,越过系统拖拽阈值后建立通用候选;可信 UIA/WinEvent 拖拽信号不再被 Explorer-only 策略拒绝。
- 通用候选会并行启动推测性灵动岛 Reveal 与一个最多存在 60ms 的局部空心 OLE 探针。探针空闲时不存在、不抢焦点、不进入任务栏或 Alt+Tab、始终返回
DROPEFFECT_NONE,并在 COM 回调之外撤销和销毁。 - OLE 文件分类已统一支持
CF_HDROP、Shell IDList Array与虚拟文件描述符识别;本测试版只接收可安全解析的文件系统路径,虚拟文件流式落盘将在后续 v0.3 Preview 完成。 - 本版本没有按微信、QQ、飞书等进程名写特判,也没有轮询、注入、管理员权限、常驻顶部热区或常驻全屏透明窗口。