Skip to content

fix(build): point Windows hidden-imports at their post-refactor package paths - #115

Merged
aqua5230 merged 2 commits into
mainfrom
fix/windows-build-hidden-import-paths
Aug 27, 2026
Merged

fix(build): point Windows hidden-imports at their post-refactor package paths#115
aqua5230 merged 2 commits into
mainfrom
fix/windows-build-hidden-import-paths

Conversation

@aqua5230

Copy link
Copy Markdown
Owner

chore: slim the repo root (1cc5929) moved session_hooks.py and setup_hook.py into installer/, but scripts/build_windows.ps1 kept passing the bare top-level names to PyInstaller:

        --hidden-import session_hooks `
        --hidden-import setup_hook `

Both modules still reached the bundle through main.py's static from installer import session_hooks, setup_hook, so the shipped bundle was never broken. But the two flags were dead config of exactly the kind that produced the unusable v0.29.34-36 bundles, which is what the post-build assertion at scripts/build_windows.ps1:71-79 exists to catch.

Verification

Rebuilt on Windows 10 (19045) with Python 3.13.15 and inspected the packaged exe:

  • warn-usage.txt reports no missing module for either name
  • archive still contains wintray.app, tui.app, installer.session_hooks, installer.setup_hook
  • the packaged usage.exe launches and spawns its msedgewebview2.exe child

Wider Windows check on this branch's base

Alongside this fix I ran the full Windows surface on 5fa8796, all green: pytest 1519 passed / 23 skipped (all macOS- or POSIX-only), ruff check clean, mypy clean across 217 files, every CLI subcommand, the statusline hook, the TUI dashboard, all 14 tray panels, and WebView2 rendering a panel with zero JS errors.

Two stale references were found and deliberately left alone:

  • scripts/check_panel_parity.py:67 falls back to reading the deleted wintray.py, but the importlib.import_module("wintray.app") above it always succeeds (every third-party import in wintray/app.py is lazy, so it imports on the macOS CI runner without the windows extra). Unreachable, and CI on main is green.
  • build/pyinstaller-spec/usage.spec carries the same stale names but is regenerated by every build and is gitignored.

🤖 Generated with Claude Code

aqua5230 and others added 2 commits August 27, 2026 23:52
…ge paths

`chore: slim the repo root` moved session_hooks.py and setup_hook.py into
installer/, but build_windows.ps1 kept passing the bare top-level names to
PyInstaller. Both modules still reached the bundle through main.py's static
`from installer import session_hooks, setup_hook`, so the bundle was never
broken -- but the two flags were dead config of exactly the kind that shipped
the unusable v0.29.34-36 bundles.

Verified by rebuilding: warn-usage.txt reports no missing module for either
name, the archive still contains wintray.app, tui.app, installer.session_hooks
and installer.setup_hook, and the packaged exe launches with its WebView2
child process.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@aqua5230
aqua5230 merged commit 49d4df5 into main Aug 27, 2026
7 checks passed
@aqua5230
aqua5230 deleted the fix/windows-build-hidden-import-paths branch August 27, 2026 17:34
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