Skip to content

fix: readable errors + first-run reliability (v1.0.1) and installer instead of portable (v1.0.2)#1

Open
mmoollee101-lab wants to merge 3 commits into
mainfrom
fix/v1.0.1-portable-errors
Open

fix: readable errors + first-run reliability (v1.0.1) and installer instead of portable (v1.0.2)#1
mmoollee101-lab wants to merge 3 commits into
mainfrom
fix/v1.0.1-portable-errors

Conversation

@mmoollee101-lab

Copy link
Copy Markdown
Owner

Released as v1.0.1. Merges the fix into main (protected, so via PR).

Why

The v1.0.0 portable showed Conversion failed — Error invoking remote method 'h2p:convert': [object Object] and hid the real cause: the IPC layer rejected with a plain object Electron can't serialize.

Changes

  • electron/main.js, electron/preload.js: carry engine errors as a tagged result and re-throw in the renderer with original message/code/candidates intact.
  • src/convert.js: launch headless Chromium with a longer startup timeout (first-run AV scan of the ~240MB bundled Chromium could exceed Puppeteer's 30s default); clear error on genuine launch failure.
  • electron/main.js: env-gated headless self-test (H2P_SELFTEST=<file.html>) for diagnostics.
  • package.json / CHANGELOG.md: bump to 1.0.1.

Verification

Built the 1.0.1 portable and ran it end-to-end (self-extract → packaged runtime) on a real 20-slide Korean deck: detect + convert succeed, 16 MB editable .pptx, fonts embedded.

🤖 Generated with Claude Code

mmoollee101-lab and others added 3 commits June 18, 2026 21:18
…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>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mmoollee101-lab mmoollee101-lab changed the title fix: readable conversion errors + first-run Chromium reliability (v1.0.1) fix: readable errors + first-run reliability (v1.0.1) and installer instead of portable (v1.0.2) Jun 18, 2026
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