Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ The export is deliberately incomplete. Hidden, collapsed, paginated,
dynamically unloaded, diff, checks, files-changed, and complete review-thread
content may be omitted.

Here, visible means CSS-rendered or potentially visible. The extractor excludes
content hidden by `hidden` or `inert`, `display: none`, hidden or collapsed
visibility, or zero opacity. It does not guarantee that extracted content is
Comment on lines +31 to +33

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Qualify the descendant visibility guarantee

When a rendered body or comment contains a nested opacity: 0 or [inert] element, isVisiblyRendered checks only the extraction root and its ancestors before reading the root's complete innerText; opacity and inert do not remove that descendant text from innerText. The new wording therefore promises an exclusion the implementation does not enforce. Either limit the claim to body/comment extraction roots and their ancestors or filter hidden descendants before export.

AGENTS.md reference: AGENTS.md:L62-L73

Useful? React with 👍 / 👎.

inside the viewport, unobscured, or currently on-screen.

## Install locally

1. Clone or download this repository.
Expand Down
7 changes: 7 additions & 0 deletions docs/06_mv3_design.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,13 @@ files-changed content is outside the completeness claim.
The extractor uses visible `innerText` for page-derived body and comment
content. It does not fall back to hidden `textContent`.

In this contract, visible means CSS-rendered or potentially visible. Elements
hidden by `hidden` or `inert`, `display: none`, hidden or collapsed visibility,
or zero opacity are excluded. The extractor does not claim that retained
content is inside the viewport, unobscured, or currently on-screen. Viewport
clipping, IntersectionObserver-based checks, and occlusion detection remain
outside the runtime design.

## Rendering principle

Page-derived content is rendered through `textContent` or form-control
Expand Down