Repository navigation
Releases: yinnho/diting
Releases · yinnho/diting
Release list
v0.8.3
diting v0.8.3
Slider CAPTCHAs, the deterministic media pipeline, and a skill-side
jurisdiction clarification.
Engine:
- pointer capture: Element.setPointerCapture / releasePointerCapture /
hasPointerCapture with a capture registry and got/lostpointercapture
events. Drag-slider CAPTCHAs (the "hold the slider and drag it to the
right" wall) call setPointerCapture in their pointerdown handler and
track pointermove on the handle itself — the API being absent made the
handler throw at the press, so sliders could not be dragged at all.
The session/CDP mouse chains now honor capture: while a pointer is
captured, moves and the release dispatch to the captured element with
real coordinates, and pointerup releases as Chrome does implicitly.
Media pipeline (authored HTML in, fixed bytes out):
- /screenshot {html}: literal HTML renders straight to PNG — no URL, no
robots check, no network - /video {html}: CSS keyframe animations (or window.__timelines JS
orchestrations) render frame-by-frame through a virtual clock into an
MP4 — same input, same bytes - /render layout family: cover (WeChat-crop-safe square 1024x1024 and
wide 1080x460 with a dashed crop guide), card (square with
accent-spined body rows), title (vertical 1080x1920 opener frame)
Session:
- snapshots pierce open shadow DOM — ref=eN coverage completes on
componentized sites
Skill:
- tool-jurisdiction note: another tool's site policy governs that tool,
not diting — a user instruction to open a site in diting is not
overridden by a different tool's refusal
v0.8.2
diting v0.8.2 Field-report fixes (from the 10-27 multi-store publishing run) plus the output-pipeline batch. Engine fixes: - dynamic scripts: createElement → appendChild (empty) → el.src = url now loads — the most common loader idiom (webpack/jsonp, lazy chunk injection) silently no-op'd because insertion consumed the start slot on an empty script and the src setter never re-triggered preparation - lazy-chunk resilience: a network-shaped failure on a dynamic script fetch (status 0 / 5xx) retries once after 75ms — 4xx and policy refusals fail fast; a transient miss on one chunk no longer kills the whole flow until a manual refresh - Location part getters (origin/protocol/host/…) share one parsed URL per href — heavy pages re-parsed the same URL thousands of times, each read paying a fresh new URL() plus a document_url op round-trip Output pipeline: - page-set JPEG encodes fan out across the blocking pool instead of a serial loop (30-page deck: 2.4s of encode wall collapses to the slowest single page) - video frame pump overlaps: the ffmpeg stdin write owns its own writer thread, so x264 backpressure no longer stalls the V8 thread painting the next frame - render/encode pipelining: each band hands its rgba to the encoder the moment it paints (6-page A4 PDF: 20.7s → 7.3s)
v0.8.1
diting v0.8.1 Search-stack batch, seven fixes in one release: - merge quality: per-engine score rescale (verbosity no longer decides consensus), CN/social tracking-param dedup (18 params), highest-score title pick - time_range end-to-end: native SERP filters for Baidu/Bing/Sogou/DDG plus merge-time demotion for engines without date filtering - overall search deadline: DITING_SEARCH_DEADLINE_SECS (default 9s); late engines surface as slow in engine_errors - persistent search cache: the SQLite searches table finally gets a reader — restarts stop re-paying the network - engine health: 3 consecutive transients cool an engine 90s; post- cooldown probation merges its hits at half weight until one clean success; /engines exposes streak and probation - section-located snippets: hits against cached pages prefix their snippet with [§ heading] — the agent sees where on the page the match landed Engine batch: UA default link color, upload MIME inference from extension, XHR abort/reentrancy contract tests. Memory figures re-measured: ~25 MB cold start, <40 MB steady static use.
v0.8.0
docs: e-commerce publish guide 调研素材(六轮搜索):四类现有路径(人工专员 3-6K/月、SaaS 铺货 50-60 元/月只覆盖有接口平台、定制 RPA 数万到数十万死于改版、 开放平台 API 高门槛)+ 2026 无货源风控新规(合规精细化是唯一活 路)。三大死穴:接口覆盖不了长尾、脚本死于改版、不懂失败原因。 以七年运营第一人称成文:flow 沉淀零 token 重放、失败回执精确到 SKU 行、拟真不碰滑块、成本结构清晰、多平台只是再教一遍。 落地建议与平台合规提示随文。
v0.7.0
chore: silence the screenshot-conditional re-export lint