Commit Graph

8 Commits

Author SHA1 Message Date
Alex Goodkind
20030a2a1c feat: added better fan control for M3/M4 Apple Silicon (#2924)
* Fix Ftst key handling for Apple Silicon fan control

* Update CFBundleVersion to 747 in Info.plist

Signed-off-by: Alex Goodkind <alex@goodkind.io>

* Update TeamId and SMC.Helper certificate identifier in Info.plist

Signed-off-by: Alex Goodkind <alex@goodkind.io>

* Add debug logging to SMC fan control functions

* Use writeWithRetry for Apple Silicon fan control writes and bump helper version to 1.0.3

* SMC fan control: serialize ops, Ftst timing, verification, logging

- Helper: serial queue for setFanMode/setFanSpeed/resetFanControl
- smc.swift: 3s wait after Ftst=1, longer mode retry (100ms), SMC result logging
- helpers: per-fan verification with cancel-on-supersede, clearer logs
- smc.swift: neutral write logs (no 'succeeded'), FAILED on error

* - Updated error handling in SMCHelper to suppress expected XPC errors (codes 4097 and 4099) during helper updates/restarts.
- Removed unnecessary debug print statement in ModeButtons for improved log clarity.

* Update version numbers in Info.plist files to 752 and change TeamId for SMC.Helper

* Add FanMode.auto3 and isAutomatic, re-add F%dMd write in automatic path, use isAutomatic in countManualFans; bump SMC Helper to 1.0.24

* Apple Silicon fan control: direct-first writes, strip diagnostic bloat

Try direct F%dMd=1 write before Ftst unlock (instant on M1, fallback
on M3/M4). Remove verification system, diagnostic prints, dead code.

* Apple Silicon fan control: direct-first writes

Try direct F%dMd=1 write before Ftst unlock (instant on M1,
fallback on M3/M4).

Bump helper to 1.0.2/3, Stats/Widgets to 751.

---------

Signed-off-by: Alex Goodkind <alex@goodkind.io>
2026-02-22 15:17:23 +01:00
Serhiy Mytrovtsiy
c10759f7a1 feat: added certificate verification to the helper app. It will verify the incoming connection certificate if it's Stats. If not the connection will not be opened. It prevents abusing the helper app by 3d party applications to access the helper interface. Thanks @senzee1984 for finding and helping solve that problem. This commit will force the update of the helper app and will require a password for users who have installed the helper. 2024-12-14 19:35:21 +01:00
Serhiy Mytrovtsiy
e39584241e feat: initialized first widget for the CPU module 2024-07-02 21:09:37 +02:00
Serhiy Mytrovtsiy
96f007641a lang: added translation for notifications menu 2023-12-23 15:41:52 +01:00
Serhiy Mytrovtsiy
c3c44652c2 feat: added powermetrics read to the SMC helper (maybe will be used in the feature) 2023-12-21 18:18:54 +01:00
Serhiy Mytrovtsiy
7049fb1458 feat: added an SMC helper update process on the start 2023-03-11 17:11:19 +01:00
Serhiy Mytrovtsiy
2c9b02a65a fix: disabled automatic signing. There must be manual signing with Developer ID. Also added python script that updates the SMPrivilegedExecutables to fit the signing team ID. It's required for the SMC helper tool. 2022-11-20 14:31:21 +01:00
Serhiy Mytrovtsiy
e9bc4cc5d3 feat: moved from the AppleScript for asking a root access when manipulating the fans to the Helper (SMJobBless + XPC) (#1173) 2022-11-18 22:51:34 +01:00