Skip to content

Bring Swift workflows and macOS accessibility fixes to Python - #25

Merged
hideouts-io merged 9 commits into
mainfrom
codex/python-ui-crash-fixes
Oct 15, 2026
Merged

hideouts-io merged 9 commits into
mainfrom
codex/python-ui-crash-fixes

Conversation

@hideouts-io

@hideouts-io hideouts-io commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

The Python toolkit lacked the Swift firmware, local security analysis, simulator and Xcode workflows, and macOS accessibility could crash while target inventories changed. This candidate brings those workspaces and the redesigned interface to Python, repairs Qt Cocoa accessibility ownership, and stabilizes inventory updates, reopening and physical Command shortcuts.

Combo inventories now use populated detached models, retain valid selected identifiers and invalidate removed targets without clearing live accessibility rows. Application activation restores hidden or minimized windows while retaining modal/floating focus and fullscreen/maximized state. Intended Command shortcuts use Qt's macOS Control modifier; Command-Control-S retains both modifiers. The native Cocoa verifier exercises real accessibility rows during repeated inventory changes inside an actual modal event loop.

The firmware/helper packaging and privacy boundaries remain explicit. The optional universal firmware helpers retain their separate deployment floor, checked corresponding-source archives, native SBOM bindings and host-only transport validation. Source setup instructions and both-architecture smoke triggers remain included in this review branch.

Hosted Xcode setup now initializes the selected CoreSimulator inventory once before the operational readiness check. This addresses the cold catalog/cache behavior documented by the runner-image maintainer. The existing five-minute setup bound, 60-second readiness deadline, failure propagation and downstream assertions remain unchanged; no retries, service resets or simulator boots are added. The setup script rejects execution outside a disposable GitHub-hosted runner. Shell syntax and that denial guard were checked locally; hosted initialization passed on both architectures, followed by operational readiness in 2.538 seconds on Apple Silicon and 1.893 seconds on Intel.

Verification

Current candidate: 5671a037988c4c4941dc93962c8e24596e3f8886.

Local checks on the exact focused candidate passed:

  • 205 tests with python -m unittest discover -s tests -v.
  • Python compilation, collector/local-DDI/IPA-inspector help and pinned pymobiledevice3 11.15.1 entry point.
  • All 49 guided-help routes and host-only Apple-tool readiness.
  • Offscreen GUI smoke with 186 action buttons and 64 layout/theme/size checks.
  • Strict documentation build, scoped diff review and whitespace checks.

Local UI checks for this publication step ran offscreen. Earlier native acceptance of the corresponding combo/window/keyboard changes in the canonical standalone application covered cold startup, normal and hidden reopening, real keyboard-modal focus and physical Command shortcuts. Earlier minimized/fullscreen/floating results retain their recorded artifact scopes. The canonical application also contains independent local MVT indicator work outside this focused update; that native evidence is not an exact artifact test of this PR revision. The exact hosted candidate must pass both frozen builds and its native Cocoa verifier.

Hosted checks on this head all passed: source CI, Python CodeQL, documentation build, dependency review, and both frozen macOS builds. Run evidence: source CI, Python CodeQL, documentation, dependency review and Apple Silicon/Intel frozen builds. Each frozen build passed 205 source tests, 186 packaged action checks and 64 packaged layout/theme/size checks. Bundle validation covered 157 Mach-O files on Apple Silicon and 159 on Intel, plus strict signatures, release metadata, helper/source/SBOM bindings and nonempty output archives. The Cocoa verifier is mandatory in the fail-fast build; its individual cycle output is retained in build-local logs rather than exposed by the public job log. The aggregate CodeQL badge remains neutral because of the historical Swift configuration on main; the Python analysis itself passed, with all 49 changed Python paths freshly extracted and no findings.

Coverage and publication boundaries

  • No physical-device mutation or minimum-supported-macOS runtime acceptance was performed. Offscreen checks do not establish native foreground presentation.
  • Windows and Linux application integration remains the final project phase after current macOS TODOs and applicable acceptance gates. Existing documentation/dependency infrastructure does not change that priority.
  • The CycloneDX generator reports an incomplete root dependency graph. Successful SBOM inventory and hash-binding checks do not establish complete dependency edges.
  • Bundles are ad-hoc signed; hosted builds do not establish Developer ID signing or Apple notarization.
  • No credentials, private device data, archive contents or local evidence artifacts are included.
  • Existing full-SHA Action pins, required checks, review rules, disclosure notices and protected publication gates are preserved.
  • This draft remains unmerged. Release and documentation publication require their separate authorization and protected approvals.

Add adaptive workspace styling, SVG navigation icons and safe UI previews; remove the retired Ecosystem Tools surface and reject its saved profile destination. Rebuild matching Qt 6.9.3 Cocoa with parent-ownership guards and verify its source, licenses, native accessibility behavior and final bundle metadata. Repair the pinned Nuitka import-probe deadlock in dedicated build environments.

Validation: 196 source tests, 186-action offscreen smoke, 64 layout/theme checks, 49 live-help routes, strict documentation build and compile/shell checks passed. The Qt producer recipe matches the locally verified native/frozen build. Intel runtime and hosted candidate packaging checks remain unverified. Unified patch context includes its required blank-line marker.
Pin the installed Xcode 16.4 for source and native packaging jobs, register its first-launch components on disposable GitHub-hosted runners, and verify initialization before the unchanged bounded CoreSimulator inventory and native integration checks.

Local validation: 196 tests, shell syntax, YAML parsing and both host/selection denial paths passed. Hosted reruns are required to verify the cold-runner fix; no inventory deadline or test assertion was relaxed.
Route source setup and verification through the repaired Cocoa environment,
document manual protected Pages publication, and describe release tags without
claiming signatures. Include release workflow and bundled license/source notices
in both native frozen-smoke PR builds.

Validation: 196 tests, 186-action offscreen GUI smoke, Python compilation,
strict MkDocs build, workflow YAML/trigger/matrix checks, and staged diff review
passed. Hosted checks are required at the resulting candidate revision.
@hideouts-io
hideouts-io marked this pull request as ready for review October 15, 2026 02:45
@hideouts-io
hideouts-io merged commit 4f9aec3 into main Oct 15, 2026
8 checks passed
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