Commit Graph

77 Commits

Author SHA1 Message Date
Peter Steinberger
fbb2a577c9
fix(input): type printable characters with key events 2026-05-08 12:07:24 +01:00
Peter Steinberger
b6df8b09e5
fix: harden AXorcist command handling 2026-05-08 09:01:46 +01:00
Peter Steinberger
931e59e80c
fix(axorcist): release hotkey modifiers reliably 2026-05-07 02:18:46 +01:00
Winn Cook
1a0c312e39
fix(axorcist): preserve CFRange values in ValueUnwrapper (#4) 2026-05-06 06:44:36 +01:00
Peter Steinberger
761ae3048f
style: apply formatting cleanup 2026-05-04 02:10:00 +01:00
Peter Steinberger
aee41fac5b chore: add 0.1.0 changelog 2026-01-18 07:21:15 +00:00
Peter Steinberger
61cb791e03 style: wrap debug logs 2026-01-15 03:52:37 +00:00
Peter Steinberger
c596eddb9e fix(input): generate proper multi-click events 2025-12-18 00:41:57 +00:00
Peter Steinberger
0f434842f9 fix(input): support digit keys in hotkeys 2025-12-17 15:08:25 +00:00
Peter Steinberger
e9c950698c fix(ax): avoid expensive debug formatting 2025-12-13 19:32:43 +00:00
Peter Steinberger
c0257fcba4 style(lint): fix swiftlint warnings 2025-12-13 10:39:34 +00:00
Peter Steinberger
1bcf8a28c1 chore: format AXorcist 2025-11-19 20:19:19 +01:00
Peter Steinberger
7a999ba69e feat: expose AXSheets helpers 2025-11-19 20:09:30 +01:00
Peter Steinberger
39e300e216 Add shared async timeout helper for AX operations 2025-11-19 02:53:24 +01:00
Peter Steinberger
89cbe7a274 Add AX wrappers and input driver coverage 2025-11-19 01:01:29 +01:00
Peter Steinberger
d3452ddadf fix: stream axorc output in tests 2025-11-14 04:14:45 +00:00
Peter Steinberger
aa1e5623ea style: conform url guard formatting 2025-11-13 02:23:05 +00:00
Peter Steinberger
1df242f977 fix(axorcist): harden CF bridges and refresh coverage 2025-11-13 02:12:18 +00:00
Peter Steinberger
eed1ead6fb style: enforce safe CF casting 2025-11-13 01:30:56 +00:00
Peter Steinberger
7aa64423d8 style: satisfy swiftlint 2025-11-12 23:59:58 +00:00
Peter Steinberger
0ca1293248 chore: refresh docs and fix activation warnings 2025-11-12 23:41:15 +00:00
Peter Steinberger
b7adcd229d fix: route CLI parsing through Commander 2025-11-12 15:56:47 +00:00
Peter Steinberger
cebf27a814 style: apply formatting and code cleanup
Standardize code style across all AXorcist source and test files
2025-11-12 15:32:27 +00:00
Peter Steinberger
578644d899 style: silence swiftlint warnings 2025-11-12 15:02:01 +00:00
Peter Steinberger
d87f554380 chore: sync Peekaboo updates 2025-11-12 14:35:19 +00:00
Peter Steinberger
e60af95a58 Complete Swift 6 concurrency and CF constants migration
- Add comprehensive CFConstants.swift wrapper for thread-safe CF constant access
- Update all CF constant usage across 10+ files to use CFConstants wrapper
- Fix Swift 6 concurrency issues in GlobalAXLogger (nonisolated with Task wrapping)
- Make all types Sendable/Equatable: CFConstants, AXValueWrapper, AXElementData, AnyCodable, ErrorDetail
- Add comprehensive Equatable implementation for AnyCodable with mixed type support
- Fix all test infrastructure issues: Comment struct usage, nil comparisons, assertion types
- Update 35+ test assertions across 5 test files for proper XCTest compatibility
- Resolve all actor isolation and concurrency warnings
- Ensure clean build with zero compilation errors and warnings

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-02 22:49:47 +01:00
Peter Steinberger
ed6e6eff92 Additional Swift 6 concurrency fixes
- Fix remaining global variable concurrency issues
- Fix AX constant access patterns
- Add proper Sendable conformance

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-02 21:59:27 +01:00
Peter Steinberger
eab52d8783 Fix Swift 6 concurrency issues
- Make GlobalAXLogger Sendable with @MainActor
- Add nonisolated(unsafe) to global variables in ElementSearch
- Fix AX constant access in AXTrustUtil and AXPermissionHelpers
- Make notification handlers @Sendable in RunningApplicationHelper
- Fix lastState capture issue in permissionChanges AsyncStream

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-02 21:55:06 +01:00
Peter Steinberger
b0fef02e0f Fix test issues 2025-06-01 13:04:34 +01:00
Peter Steinberger
cfa1e40d54 add documentation 2025-05-29 12:02:27 +02:00
Peter Steinberger
7bc3425d7d Improve documentation 2025-05-29 11:28:38 +02:00
Peter Steinberger
c57014548d run swiftformat 2025-05-29 05:49:22 +02:00
Peter Steinberger
d278a88022 split up larger files 2025-05-29 05:41:09 +02:00
Peter Steinberger
4826d2bfa3 swiftformat 2025-05-29 01:17:08 +02:00
Peter Steinberger
3bdb9f7b53 Move window management into AXorcist 2025-05-28 15:35:04 +02:00
Peter Steinberger
9a93e58f29 Add new enum-based perform action API 2025-05-28 03:44:30 +02:00
Peter Steinberger
2825818341 Support focussed element 2025-05-27 20:38:13 +02:00
Peter Steinberger
3256ab817d MOAAAR! 2025-05-27 19:34:46 +02:00
Peter Steinberger
1cc0706e53 Gruelsome debugging day 2025-05-27 18:50:00 +02:00
Peter Steinberger
dda8425768 fix camel case conversion issue 2025-05-27 14:09:11 +02:00
Peter Steinberger
1495c5519d cleanup, docs, linting 2025-05-27 13:18:34 +02:00
Peter Steinberger
dbd7759fed Improve readme, logging, linting 2025-05-27 12:00:52 +02:00
Peter Steinberger
18ef3c50d0 more linting 2025-05-27 11:26:06 +02:00
Peter Steinberger
df13d2f372 format + lint 2025-05-27 11:06:48 +02:00
Peter Steinberger
789bde944c break apart large files 2025-05-27 10:07:01 +02:00
Peter Steinberger
dacf59720b Major refactor 2025-05-27 03:07:10 +02:00
Peter Steinberger
4ab17ede7f Refactor for DOM queries 2025-05-26 17:13:32 +02:00
Peter Steinberger
3cd8752dcd Implement new DOM-based path finding logic 2025-05-26 16:09:00 +02:00
Peter Steinberger
1dec9388aa cleanup 2025-05-26 02:07:06 +02:00
Peter Steinberger
cb2d7055f0 The fight continues 2025-05-25 22:15:54 +02:00