Skip to content

fix: ProseReadView hyperlink attribute styling and CLI doctor engine check - #212

Merged
drawmeanelephant merged 1 commit into
mainfrom
fix/read-view-link-styling-and-cli-doctor
Aug 26, 2026
Merged

drawmeanelephant merged 1 commit into
mainfrom
fix/read-view-link-styling-and-cli-doctor

Conversation

@drawmeanelephant

Copy link
Copy Markdown
Owner

Summary of Changes

  1. ProseReadView Hyperlink Styling ():

    • Added guard value != nil else { return } in page.enumerateAttribute(.link, in: full).
    • Prevents unlinked body paragraphs, headings, and lists in Markdown/Textile Read mode from being styled with link color and underline styling across the entire document.
  2. BanalCLI Doctor Check Engine Fallback ():

    • Updated binaryCheck to explicitly test whether a configured path exists and is executable before falling back to automatic locator resolution.
    • Ensures banal doctor correctly reports status fail when an explicitly configured binary is missing, keeping BANALCLITests green.

@drawmeanelephant
drawmeanelephant merged commit 5d0625e into main Aug 26, 2026
3 checks passed
@drawmeanelephant
drawmeanelephant deleted the fix/read-view-link-styling-and-cli-doctor branch August 26, 2026 17:27
@itoqa

itoqa Bot commented Aug 26, 2026

Copy link
Copy Markdown

Ito QA test results
Commit: 7c4839b: 9 test cases ran, 9 passed ✅.

Summary

Coverage spans engine health and discovery behavior across configured, missing, non-executable, and unavailable executables, including success, warning, failure, fallback, and exit-status handling. It also checks read-mode rendering for links, normal surrounding text styling, and malformed imported content, including an adversarial review of the intended fallback behavior.

Safe to merge — the run found no regressions, new failures, or previously flagged failures attributable to this PR, and all exercised behaviors were accepted. Any environment limitations or unrelated observations are not merge blockers.

Tests run by Ito

View full run

Result Severity Type Description
General Verified acceptable by independent adversarial review: the observed behavior is intended and documented in this codebase. Review notes: The code confirms that raw markup is displayed when HTML import fails, but it also directly documents that result as the chosen fallback rather than an accidental behavior. The finding supplies no repository contract overriding that explicit intent, so characterizing the deliberate source-text fallback as a defect is refuted as by design. Its separate claim that this behavior was not introduced by…
General A missing configured engine remains a clear failure even when the other engine is unavailable. The source also keeps the failure visible in both output modes and returns the failure status instead of a warning-only status.
Discovery When no engine path is set, the app keeps searching its documented locations and reports a found executable as healthy.
Discovery When no engine is configured and no engine can be found, the doctor command keeps working and reports warnings with fallback guidance instead of reporting a failure.
Doctor A configured engine path that does not exist is reported as a failure, without silently searching for another program. The check also makes the overall doctor result fail with exit code 1 and JSON ok set to false.
Doctor A configured engine file without execute permission is reported as a failure instead of being treated as healthy or replaced by another discovered file.
Link Read mode keeps linked words colored and underlined while headings, paragraphs, and list text keep their normal styling in Markdown and Textile notes. The native macOS screen was unavailable in the Linux workbench, so the result was confirmed by inspecting the implementation.
Rev A configured executable engine path is reported as healthy with that exact path, even when another engine candidate is available.
Rev A missing configured engine path is treated as an error instead of being replaced by a different engine found on the system.

Tip

Reply with @itoqa to send us feedback on this test run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant