Native artifact acceptance: CDP harness, A01-A12 execution, two defects found - #87
Merged
Merged
Conversation
Drives the real Obsidian export dialog over the DevTools protocol with trusted renderer input. Documented accommodations: switching the test vault from macOS default native menus to DOM menus, and launching with anti-throttling flags so native-render batches match foreground-user conditions. Includes the A01-A12 case runners, A03/A04 disk-state re-verification, and the T6.3 independent-tool inspection script.
Third native attempt executed A01-A12 in real Obsidian 1.13.7 via the CDP harness; prior blockers were macOS defaulting to native Electron menus. All twelve cases collected evidence. Two defects block the Native artifacts gate: EPUB export of task lists emits a bare <li> (invalid XHTML, EPUBCheck RSC-005), and HTML batch export writes nested-note attachment paths relative to the batch root, breaking images in nested documents. Vault restoration from the prior session was completed and hash-verified.
…ument Two defects found by the native acceptance run (T6, A11/A02): - The fallback converter emitted a bare <li class="task"> for task-list items, which is invalid XHTML in EPUB chapters (EPUBCheck RSC-005: element "li" not allowed in body). Consecutive task lines now form a single <ul class="task-list">. - HTML batch exports rewrote app:// attachment URLs to paths relative to the shared assets root, so nested documents referenced assets that only resolve from the batch root. rewriteAppProtocolUrls now accepts the rendered file's location and resolves references from it; the Markdown bundle already did this correctly. Regression tests: EPUB chapter content-model check (every li in a list, checkbox glyphs preserved), fallback HTML task-list structure, and per-file asset path resolution at three nesting depths.
…PASS D1/D2 fixed with regression tests (413/413 tests, lint and build clean). Affected native cases rerun in real Obsidian against build e371765a: A11 EPUB passes EPUBCheck 0/0/0 with the task list wrapped in a ul; A02/A03 HTML batches reference shared assets from each document's own directory and the nested page renders its image in Chrome. Vault restored and hash-verified after the run. Remaining native scope is the non-macOS platform rows.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Executes the native artifact acceptance (T6) for 1.0.0 on macOS and records the results.
The two previous automation attempts were blocked because macOS Obsidian defaults to native (Electron) context menus when
nativeMenusis unset, so right-click menus never appear in the DOM and neither accessibility-level nor DOM-level automation could drive them. This attempt launches Obsidian with a DevTools debugging port and drives the real export dialog through trusted renderer input (real context menus, real modal, real export pipeline; no mocks).What's included
scripts/native-acceptance/: the CDP harness (case runners A01–A12, disk-state re-verification, T6.3 independent-tool inspections) with a README documenting the two required environment accommodations (DOM menus for the test vault; anti-throttling launch flags so native-render batches match foreground-user conditions).docs/releases/1.0.0/readiness.md: the Native artifacts row moves from BLOCKED to executed, with evidence for all twelve cases and two defects that block the gate:<li class="task">without a<ul>wrapper (src/formats/html-document.ts:138), failing EPUBCheck RSC-005.srcrelative to the batch root (nested/part.html→assets/landscape.png), so images 404 from nested pages; the Markdown bundle writes the correct../assets/form.Verification
--failonwarnings(A01/A02 clean; A11 fails with D1), LibreOffice 26.8 opens all sampled DOCX,unzip -t, PDFKit page/sentinel checks, Chrome headless renders.--failonwarnings0/0/0, and nested HTML batch pages reference shared assets from their own directory (verified in Chrome).Release impact: the Native artifacts gate is PASS on macOS. T9/T10 remain blocked on the non-macOS platform rows per the plan's rules.