Skip to content

feat: add verified macOS runtime - #1

Merged
Alex-ghost599 merged 5 commits into
developfrom
feat--macos-runtime
Jul 19, 2026
Merged

feat: add verified macOS runtime#1
Alex-ghost599 merged 5 commits into
developfrom
feat--macos-runtime

Conversation

@Alex-ghost599

@Alex-ghost599 Alex-ghost599 commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Problem

CapsWriter Offline's client/runtime assumptions are Windows-specific, so the upstream code cannot complete a real microphone-to-foreground-app workflow on macOS.

Changes

  • add a reproducible Python 3.12 environment managed by uv
  • add macOS audio capture, streaming resampling, global shortcut, clipboard-safe text injection, and app packaging paths
  • use Right Shift as the default macOS hold-to-talk key while preserving the existing Windows CapsLock/X2 behavior
  • bind the local server to loopback and add frame, segment, buffer, and connection limits
  • document macOS build, permissions, operation, and validation without machine-specific identifiers

Verification

  • uv lock --check
  • bash scripts/lint_macos_port.sh
  • uv run pytest -q: 40 passed, 1 skipped on macOS
  • Windows regression: 36 passed, 5 skipped
  • physical microphone -> local Paraformer -> TextEdit and Chrome completed with clipboard restoration
  • packaged arm64 app passed codesign --verify --deep --strict

Scope

This PR targets only this fork's develop branch. It does not create or request any upstream PR.

The current app uses ad-hoc signing for local use. Distribution still requires Developer ID signing and notarization. Native macOS APIs do not expose reliable Caps Lock hold duration, so Caps Lock requires an external remapping or driver layer.

@Alex-ghost599
Alex-ghost599 merged commit c8adb6e into develop Jul 19, 2026
2 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