Skip to content

Release 1.0.2: improve watcher efficiency, OTP rules, and localization - #2

Open
weimo123 wants to merge 2 commits into
immanuel:mainfrom
weimo123:codex/otifier-1.0.2
Open

Release 1.0.2: improve watcher efficiency, OTP rules, and localization#2
weimo123 wants to merge 2 commits into
immanuel:mainfrom
weimo123:codex/otifier-1.0.2

Conversation

@weimo123

Copy link
Copy Markdown

What this solves

This PR packages the reliability and recognition improvements as version 1.0.2.

  • Prevents Notification Center Accessibility calls from blocking the app UI by moving scans to a utility queue, adding a short AX messaging timeout, bounding tree traversal, and using AX events plus a lightweight window fingerprint fallback instead of continuous full-tree polling.
  • Reduces idle work and energy usage while retaining compatibility backstop scans.
  • Recognizes OTP digits adjacent to Chinese text (for example, 178452为您的验证码) and grouped forms such as 583 920 and 583-920.
  • Processes notification windows independently so unrelated banners cannot influence extraction.
  • Provides a memory-only fallback for unrecognized notifications with numeric candidates; notification text expires after two minutes and is never persisted.
  • Adds one configurable keyword list that supports add/remove/edit through a single editor and can be reset to the project defaults.
  • Adds a JSON-configured menu localization system with a language selector for English, Simplified Chinese, Traditional Chinese, Japanese, Korean, Spanish, French, and German.
  • Localizes app status, permission prompts, rule dialogs, and confirmation notifications, and displays the app version in the menu panel.

Verification

  • make test — 62 tests passed
  • make app
  • Swift type-check with warnings treated as errors
  • codesign --verify --deep --strict on the built app bundle
  • Locally installed and exercised as version 1.0.2 on macOS

The existing energy-fix PR branch was intentionally left unchanged; this is a new, standalone PR containing the complete 1.0.2 change set.

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