Skip to content

docs: handoff for v1.2.14 Windows pair failures (3 findings)#105

Merged
BitHighlander merged 1 commit into
developfrom
docs/handoff-1.2.14-windows-pair
Apr 8, 2026
Merged

docs: handoff for v1.2.14 Windows pair failures (3 findings)#105
BitHighlander merged 1 commit into
developfrom
docs/handoff-1.2.14-windows-pair

Conversation

@BitHighlander
Copy link
Copy Markdown
Collaborator

Summary

Captures the diagnostic work from a 1.2.14 Windows install session for the next agent to act on. Three distinct failure modes, all surfacing to the user as the same "splash never advances" symptom but caused by unrelated bugs in different layers.

# Finding Status
1 Invalid Version: vundefined.undefined.undefined on WebUSB pair In flightkeepkey/hdwallet#37
2 Native crash on USB unplug during in-flight WebUSB write (bad write → process gone) Open
3 Splash hangs forever when port 1646 is already bound Open

This PR adds only docs/HANDOFF-1.2.14-WINDOWS-PAIR.md — no code changes. The doc is the work order for whoever picks this up next.

What's in the doc

For each finding:

  • The user-visible symptom
  • Exact log evidence from vault-backend.log (timestamps, line content, timing gaps that distinguish synchronous failures from real USB roundtrips)
  • Root cause with file:line pointers
  • Status + suggested fix direction
  • Reproduction recipe

Plus:

  • A "what is NOT broken" section to prevent re-investigating the verified-intact download, the 1.2.14 @noble/hashes fix, the protobuf schema, and the frontend bundle
  • Verification recipes (how to grep the installed bundle to confirm the hdwallet bump landed; how to capture a fresh failure log)
  • Files-to-know table

What this PR is not

Why a doc PR

The investigation produced more context than is reasonable to keep in chat history or commit messages. A markdown file in docs/ survives, is greppable, and the next agent can land on it via WINDOWS- filename neighbors (WINDOWS-DEV-MODE.md, WINDOWS-OOB-REGRESSION.md, WINDOWS-QUIRKS.md).

Test plan

Captures the diagnostic work from a 1.2.14 Windows install session for
the next agent to act on. Three distinct failure modes, all surfacing
to the user as the same "splash never advances" symptom but caused by
unrelated bugs in different layers.

1. `Invalid Version: vundefined.undefined.undefined` on WebUSB pair —
   defensive fix in flight at keepkey/hdwallet#37 (with regression
   tests). Bumping the submodule pointer here is a follow-up after
   that PR merges.

2. Native crash on USB unplug during in-flight WebUSB write — bun
   process disappears with no JS error after libusb's `bad write`.
   Same family as the existing macOS attach-time SIGTRAP guard in
   engine-controller.ts:251-254. Open; suggested approach in the doc
   ranges from a process-supervisor band-aid to moving USB I/O into a
   child process.

3. Splash hangs forever when port 1646 is already bound — the FATAL
   exit message is in the backend log but the BrowserWindow is created
   before the port collision check, leaving an undecorated splash on
   screen. Open; fix is to move the collision probe before window
   creation and/or surface a "Vault is already running" UI state.

Doc includes log evidence for each finding, root-cause file pointers,
reproduction recipes, and an explicit "what is NOT broken" section to
prevent the next agent from re-investigating the verified-intact
download, the 1.2.14 @noble/hashes fix, the protobuf schema, and the
frontend bundle.
@BitHighlander BitHighlander merged commit 711e2e2 into develop Apr 8, 2026
2 checks passed
BitHighlander added a commit that referenced this pull request Apr 9, 2026
Bump version to 1.2.15 and pin hdwallet submodule to master (includes
keepkey/hdwallet#37 — Features version validation).

Changes since v1.2.14 pre-release:
- fix(win10): skip POSIX heartbeat watchdog on Windows (#107)
- fix: sync file logger — crash logs now survive native exceptions (#107)
- fix: boot environment dump for launch-context diagnostics (#107)
- fix: JS↔native boundary logging in engine-controller (#107)
- fix: port 1646 collision check before window creation (#106)
- fix: USB detach race guard on WebUSB pair (#106)
- fix: hdwallet Features version validation (hdwallet#37)
- docs: handoff for 1.2.14 Windows pair failures (#105)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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