chore(release): reconcile v1.0.1/v1.0.2 into main + cut v1.0.3#5
Merged
Conversation
…mium launch (v1.0.1) The portable desktop app showed "Error invoking remote method 'h2p:convert': [object Object]" on any failure: the IPC layer rejected with a plain object, which Electron can't serialize, so the real cause was lost. Errors are now carried as a tagged result and re-thrown in the renderer with the original message/code/candidates intact. Also harden first-run reliability: headless Chromium launches with a longer startup timeout (antivirus often scans the freshly-unpacked ~240MB Chromium on first run, exceeding Puppeteer's default 30s and surfacing as a failed convert), and a genuine launch failure now throws a clear, actionable message. Adds an env-gated headless self-test (H2P_SELFTEST=<file.html>) for diagnostics. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The one-file portable re-unpacked ~650 MB (Electron + bundled Chromium) to a temp folder on EVERY launch, so the window took a long time to appear and looked suspicious. Switch the Windows target to an NSIS installer (per-user, no admin, assisted UI, Start-menu/Desktop shortcuts, uninstaller): it unpacks once at install time and every launch is near-instant. No conversion-engine changes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts: # CHANGELOG.md # src/convert.js
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.
Why
The published GitHub Releases v1.0.1 and v1.0.2 were built from a line that was never merged into
main— somainwas missing the shipped Electron reliability fixes and the NSIS installer, while the releases were missing the recent font work.git merge-base --is-ancestor v1.0.2 mainwas false. This reconciles both and cuts v1.0.3.What
Merges the
v1.0.2tag intomain(real merge commit, so the release commits enter history) and resolves conflicts to keep both sides:2e1eb5b): readable IPC errors (electron/main.js,preload.js),launchBrowser()with a 120 s timeout + friendly message +H2P_SELFTEST(src/convert.js).888f0da): NSIS installer build config (package.json).Then finalizes the release:
version→ 1.0.3, CHANGELOG[Unreleased]→ [1.0.3] with [1.0.2]/[1.0.1] history restored.Conflict resolution
src/convert.js— kept the woff2 helpers andlaunchBrowser; bothpuppeteer.launchcall sites uselaunchBrowser.CHANGELOG.md— merged both histories, ordered 1.0.3 → 1.0.2 → 1.0.1 → 1.0.0.package.json— NSIS build config +test/test:fontsscripts + version 1.0.3.Verify
npm test→ 2 pass / 0 fail.node --checkclean on convert.js / electron/main.js / preload.js. package.json valid, version 1.0.3.Building/publishing the v1.0.3 installer asset is a separate step (to be confirmed).