Skip to content

Releases: yinnho/diting

v0.8.3

Choose a tag to compare

@github-actions github-actions released this 28 Oct 03:27

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

Choose a tag to compare

@github-actions github-actions released this 27 Oct 14:59
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

Choose a tag to compare

@github-actions github-actions released this 27 Oct 05:01
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

Choose a tag to compare

@github-actions github-actions released this 26 Oct 12:56
docs: e-commerce publish guide

调研素材(六轮搜索):四类现有路径(人工专员 3-6K/月、SaaS 铺货
50-60 元/月只覆盖有接口平台、定制 RPA 数万到数十万死于改版、
开放平台 API 高门槛)+ 2026 无货源风控新规(合规精细化是唯一活
路)。三大死穴:接口覆盖不了长尾、脚本死于改版、不懂失败原因。

以七年运营第一人称成文:flow 沉淀零 token 重放、失败回执精确到
SKU 行、拟真不碰滑块、成本结构清晰、多平台只是再教一遍。
落地建议与平台合规提示随文。

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 10:07
chore: silence the screenshot-conditional re-export lint