Skip to content

Release PreviewMD 1.8 with document and native UI fixes - #29

Merged
ashtree74 merged 9 commits into
mainfrom
codex/audit-fixes
Oct 6, 2026
Merged

ashtree74 merged 9 commits into
mainfrom
codex/audit-fixes

Conversation

@ashtree74

@ashtree74 ashtree74 commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

What changed?

Current edits survive save, PDF/print, copy and export. Rich serialization preserves code/frontmatter whitespace and literal Markdown markers; symlink saves update their targets, and Save As protects an already-open dirty destination. Outlines follow current parser headings, folder searches refresh after document changes, unavailable folders show a recoverable inline status, DOCX lists retain independent starts/restarts, and signup reopening isolates old requests and timers.

Large-document editing avoids repeated highlighting, serialization, hidden rendering and disk work. Wide tables follow actual width transitions and account for the leading gutter; the CSS contribution from PR #26 is credited to jedrzejsieracki.

Packaging uses the current SwiftPM product and explicitly preserves the selected linked SDK independently from the macOS 14 minimum. This restores native sidebar/toolbar styling and the compact centered reading-width panel. Each executable slice is validated for architecture, minimum OS and actual SDK, and CI now builds and verifies the complete bundle.

The final PreviewMD 1.8 (12) DMG is tracked in site/; release links, displayed size and JavaScript cache version are updated. Release receipt records Apple submission IDs and SHA-256 digests.

Refs #24, #25, #26. Findings, regression coverage, SDK diagnosis and follow-up order: audit report.

Why this approach?

Keep current document content authoritative, synchronize pending rendering before output, and invalidate affected cached work. Preserve the existing view hierarchy, offline rendering, native workspace and table expansion policy. Correct linker metadata restores system appearance without changing interface controls.

How was it tested?

  • 174 Swift tests passed, including a full rerun with the corrected selected SDK/linker tuple.
  • 9 Python server tests and 8 Node signup lifecycle tests passed.
  • ./scripts/release-app.sh: Developer ID signed with Hardened Runtime and secure timestamps; Apple accepted both app and final DMG, tickets stapled and Gatekeeper valid.
  • Final read-only DMG: app and embedded Quick Look both Universal 2, minimum macOS 14, selected SDK 27; strict signatures, bundle resources, licenses and Finder installation layout verified.
  • Live application checks: empty launch/final-tab closure, folder opening, current source saves and preview/outline, split/focus restoration, offline content, folder disappearance/recovery.
  • Live SDK comparison: native sidebar/toolbar styling and compact centered width panel restored; Focus entry and Escape restore the layout.
  • Live signup: download-triggered modal, static initial focus, visible keyboard focus, clean dismissal/reopening.
  • Independent post-fix reviews and git diff --check.

Visual evidence

Final native layout, with bundled showcase content:

Restored native layout

Signup initial focus

Contributor checklist

  • Scope is limited to audited regressions and reported editing/table problems.
  • New behavior has focused regression coverage; CI verifies packaged build metadata.
  • Offline rendering and document privacy remain intact.
  • Bundled third-party versions/licenses/notices remain intact; contributed CSS is credited.
  • No credentials, private documents or subscriber data added; captures use showcase/disposable content.
  • Every commit has a DCO sign-off; PreviewMD name/icon use follows TRADEMARKS.md.

Follow-ups or limitations

On the public #24 sample, source highlighting median improved 9.32 → 2.17 ms and warm rich serialization 6–8 → 0–1 ms. These component measurements exclude full native layout/bridge latency; keep #24 open for the reporter's workflow confirmation. #27's table policy and Windows work in #22 / #28 need separate decisions/review.

PreviewMD 1.8 (12) is signed and notarized. The tracked DMG is 7,269,630 bytes and matches the verified local release. Production website deployment remains separate.

ashtree74 and others added 9 commits October 6, 2026 19:13
Co-authored-by: jedrzejsieracki <jedrzejsieracki@users.noreply.github.com>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Record the regression audit, validation results and remaining GitHub follow-ups.

Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
Signed-off-by: Adam Jesionkiewicz <adam@jesion.pl>
@ashtree74 ashtree74 changed the title Fix document integrity, editing latency and workspace regressions Release PreviewMD 1.8 with document and native UI fixes Oct 6, 2026

@ashtree74 ashtree74 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Final self-review of b84cb51 completed. No additional actionable blockers found in document state/save handling, rich serialization, preview/output synchronization, editor performance caches, outline/folder refresh, signup lifecycle, or Universal 2 packaging and SDK metadata.

Validation: 174 Swift, 9 Python and 8 Node tests passed. Both required checks (Swift and site tests; DCO sign-off) are green on this exact revision. The final 1.8 (12) application and DMG passed Developer ID signature, notarization ticket and Gatekeeper verification; both app and Quick Look executables contain arm64 and x86_64. Visual verification covered the restored native sidebar/toolbar and centered reading-width control.

Residual follow-ups remain documented: #24 needs confirmation in the reporter's full editing workflow; #27 table policy and Windows work are separate scope. Screenshots now use immutable commit URLs so deleting the task branch will not break the evidence.

This is a self-review recorded as COMMENT, not an independent approval. The repository owner's explicitly configured pull-request merge exception is being used for the requested merge; branch protection settings are unchanged.

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