Skip to content

Conversation

@kendonB
Copy link
Collaborator

@kendonB kendonB commented Jan 9, 2026

Title

Fix failing CI checks: Qt/PySide compatibility, platform deps, ubuntu-latest runner

Description

This PR improves cross-platform compatibility (especially macOS/Linux CI) by:

  • Adding a small Qt compatibility layer (castervoice/lib/qt.py) to support both PySide2 and PySide6 (enum/access differences + exec vs exec_).
  • Updating Qt UI modules to use that wrapper:
    • castervoice/asynch/hud.py
    • castervoice/asynch/settingswindow.py
    • castervoice/asynch/hmc/h_launch.py
    • castervoice/asynch/hmc/homunculus.py
  • Making natlink optional in castervoice/lib/ctrl/mgr/engine_manager.py so imports/mode changes don’t fail on non-Windows systems.
  • Hardening/fixing edge cases in castervoice/rules/core/text_manipulation_rules/text_manipulation_support.py (argument validation + cursor/selection offset calculations, including TeXstudio paths).
  • Updating requirements-mac-linux.txt to use platform markers for dragonfly2 extras and Qt bindings.
  • Switching the Linux GitHub Actions runner to ubuntu-latest in .github/workflows/testrunner.yml.

Motivation and Context

CI environments (and non-Windows installs) were failing

How Has This Been Tested

  • python3 -m compileall on the modified modules (syntax check).
  • GitHub Actions workflow completed here.
  • Cursor BugBot check
  • Codex Review Agent check

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue or bug)

Checklist

  • I have read the CONTRIBUTING document.
  • My code follows the code style of this project.
  • I have checked that my code does not duplicate functionality elsewhere in Caster.
  • My code implements all the features I wish to merge in this pull request.
  • My change requires a change to the documentation.
  • I have added tests to cover my changes.
  • All new and existing tests pass.

Maintainer/Reviewer Checklist

  • Basic functionality has been tested and works as claimed.
  • New documentation is clear and complete.
  • Code is clear and readable.

…s for PySide6 on macOS. Adjust event handling and UI components in HUD and settings windows to utilize new Qt attributes. Ensure consistent application execution method across modules.
…r handling in text manipulation functions. Adjust Dragonfly import logic to handle missing natlink gracefully and improve regex matching for dictation and character modes.
@LexiconCode LexiconCode merged commit d4d03a0 into dictation-toolbox:master Jan 9, 2026
3 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.

2 participants