fix(build): point Windows hidden-imports at their post-refactor package paths - #115
Merged
Merged
Conversation
…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>
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.
chore: slim the repo root(1cc5929) movedsession_hooks.pyandsetup_hook.pyintoinstaller/, butscripts/build_windows.ps1kept passing the bare top-level names to PyInstaller:Both modules still reached the bundle through
main.py's staticfrom 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 atscripts/build_windows.ps1:71-79exists to catch.Verification
Rebuilt on Windows 10 (19045) with Python 3.13.15 and inspected the packaged exe:
warn-usage.txtreports no missing module for either namewintray.app,tui.app,installer.session_hooks,installer.setup_hookusage.exelaunches and spawns itsmsedgewebview2.exechildWider 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 checkclean,mypyclean 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:67falls back to reading the deletedwintray.py, but theimportlib.import_module("wintray.app")above it always succeeds (every third-party import inwintray/app.pyis lazy, so it imports on the macOS CI runner without thewindowsextra). Unreachable, and CI onmainis green.build/pyinstaller-spec/usage.speccarries the same stale names but is regenerated by every build and is gitignored.🤖 Generated with Claude Code