105 Commits

Author SHA1 Message Date
Serhiy Mytrovtsiy
dec8f08749 feat: added flag emoji instead of country code in the popup view, and countryCode and flag options to the Text widget (#2916) 2026-02-23 19:26:00 +01:00
Serhiy Mytrovtsiy
0f03dccc07 feat: changed minimum macOS version to macOS 11.15 (Big Sur) 2026-02-22 15:52:36 +01:00
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
2bbd118516 feat: small redesign in the Network popup view. Moved interface details to the dedicated section, added interface dns servers (#2789), added interface speed (#2702) 2025-12-26 18:14:10 +01:00
Serhiy Mytrovtsiy
ab7dffdf3a fix: moved WKWebView initialization to the moment when it should be displayed, which prevents the initialization of the web view on app start and silences some system logs 2025-12-25 19:26:04 +01:00
Serhiy Mytrovtsiy
3cad4f49dd feat: added a check if the macOS widget is active before updating the read value in the user defaults. It will prevent unnecessary writes when the widget is not enabled (#2733) 2025-12-02 21:00:52 +01:00
Serhiy Mytrovtsiy
3cd4d6b204 feat: moved App settings from the menu to the bottom part of the sidebar 2025-09-23 16:59:26 +02:00
Serhiy Mytrovtsiy
71c25169a0 fix: adjusted popup label width to better fit long translations (#2485) 2025-04-19 13:59:33 +02:00
Serhiy Mytrovtsiy
5ad92bf2fd feat: updated login process to Stats Remote 2025-04-03 18:53:31 +02:00
Serhiy Mytrovtsiy
a9f72cda99 fix: fixed line and bar charts title labels 2025-03-22 22:47:53 +01:00
Serhiy Mytrovtsiy
5a7e4b7e55 feat: added threshold for network status notification 2025-03-07 17:36:21 +01:00
Serhiy Mytrovtsiy
e4e447f83d feat: adjusted memory format to be more readable (#2416) 2025-02-26 19:26:03 +01:00
Serhiy Mytrovtsiy
42d5409a70 fix: another try to adjust the CPU stress test to prevent the compiler from optimizing it (#2391) 2025-02-25 18:46:58 +01:00
Serhiy Mytrovtsiy
9ab2b045db fix: fixed performance cores count in the pCores stress test 2025-02-22 18:44:07 +01:00
Serhiy Mytrovtsiy
fa7b3bbf49 fix: adjusted CPU stress test to prevent compiler to optimize it (#2391) 2025-02-19 18:47:41 +01:00
Serhiy Mytrovtsiy
61c5e0df77 fix: fixed memory allocation in the GPU stress test (#2388) 2025-02-11 16:40:16 +01:00
Serhiy Mytrovtsiy
9ae1388428 feat: added CPU, GPU, ANE, RAM, and PCI powers from IOReport (#2346) 2025-02-08 10:55:48 +01:00
Serhiy Mytrovtsiy
f9b522aeb3 feat: changed icons to text buttons for application settings import/export/reset 2025-02-06 16:33:42 +01:00
Serhiy Mytrovtsiy
11158df5b1 feat: added stress tests for CPU efficiency and performance cores and GPU 2025-02-04 16:38:28 +01:00
Serhiy Mytrovtsiy
687df76aeb fix: hidden public IP from combined view if public address disabled in the popup settings (#2330) 2025-01-14 16:54:31 +01:00
Serhiy Mytrovtsiy
3e056562b3 feat: added CPU frequency for m4 (#2285) 2025-01-10 22:45:08 +01:00
andrewr
713eb73787 fix: fixed some memory leaks (#2306) 2025-01-05 16:23:19 +01:00
Serhiy Mytrovtsiy
9aaffea7af fix: limited the label width in the popup view to fix the value when the label is too long and cannot fit in the row (#2288) 2024-12-31 14:56:52 +01:00
Serhiy Mytrovtsiy
d68d691b18 feat: added efficiency and performance cores frequency and total cores frequency 2024-12-20 17:07:27 +01:00
Serhiy Mytrovtsiy
e103111c20 feat: moved from custom byte formatter to the internal 2024-12-18 11:43:11 +01:00
Serhiy Mytrovtsiy
3887157a7c feat: moved from binary to metric based size units to have the same calculation as macOS (#2230) 2024-12-17 14:13:58 +01:00
Serhiy Mytrovtsiy
9ed4ee5749 fix: fixed swiftlint error that appears in the new version of swiftlint 2024-10-18 16:44:03 +02:00
Serhiy Mytrovtsiy
8d677d0e77 feat: added calendar to the Clock module that could be hidden in the settings (#2170) 2024-10-15 18:25:41 +02:00
Serhiy Mytrovtsiy
f053555492 feat: added Text widget to the Network module with a description of the value that could be used in it (#1868) 2024-09-13 19:08:40 +02:00
Serhiy Mytrovtsiy
6fc3b58779 feat: added help button to the Preferences Row 2024-09-12 22:41:24 +02:00
Serhiy Mytrovtsiy
bcabd48fa4 feat: added Mini widget to the Sensors module. It has quite a lot of limitations and only one sensor could be visualized (I hope understandable why) (#2029) 2024-08-23 20:34:10 +02:00
Serhiy Mytrovtsiy
14d177fdc0 feat: small rearrange in the Network popup (#2045) 2024-08-16 14:21:33 +02:00
Serhiy Mytrovtsiy
62db63df4f feat: added an option to hide disks in the popup view (#1862) 2024-08-15 12:15:37 +02:00
Serhiy Mytrovtsiy
598dc2d5dd feat: small cleanup in the popup views 2024-07-24 19:15:15 +02:00
Serhiy Mytrovtsiy
2b70064eb5 feat: moved RAM notification settings to the new selectors 2024-05-09 17:34:33 +02:00
Serhiy Mytrovtsiy
eb882774bb feat: small codebase refactoring (mostly removed unused code and changes in access control) 2024-05-08 17:21:58 +02:00
Serhiy Mytrovtsiy
9e26cc36ba feat: moved CPU and GPU notification settings to the new selector that allows specifying custom threshold and not from a predefined list 2024-05-06 19:04:25 +02:00
Serhiy Mytrovtsiy
2c2689eed0 feat: enabled selecting public IP address in portal view (#1927) 2024-05-03 13:24:55 +02:00
Serhiy Mytrovtsiy
d5d70a299e feat: added fixed scale option for Network popup (#1787) 2024-04-29 21:56:12 +02:00
Serhiy Mytrovtsiy
f873fdaa3d feat: moved all modules settings to the new design 2024-04-24 06:10:27 +02:00
Serhiy Mytrovtsiy
5a34aea381 feat: redesigned App Settings to new style (Ventura-like) 2024-04-12 20:28:02 +02:00
Serhiy Mytrovtsiy
6482a43dea feat: added public IP address to the network portal view (#1842) 2024-03-20 19:26:48 +01:00
Serhiy Mytrovtsiy
eb13efce03 feat: changed no value behavior on a line chart. Starting from now no value will not visible on the chart. Before no value was presented as 0 which caused a little confusion. 2024-03-02 14:43:42 +01:00
Serhiy Mytrovtsiy
b392a9732c feat: updated GPU portal view 2024-01-23 19:12:14 +01:00
Serhiy Mytrovtsiy
3b9a9f4bd6 feat: added details to the CPU portal view 2024-01-20 19:05:12 +01:00
Serhiy Mytrovtsiy
b21630218c feat: initialized ProcessesView that will be common for all popups 2024-01-05 21:02:29 +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
987a709a48 feat: adjusted width of the box with top process value 2023-11-21 22:17:11 +01:00
Serhiy Mytrovtsiy
7ba4882cbf fix: changed top process value view to static width. To prevent strange glitches when the value view does not fit the value. Because the process name takes too much space. 2023-11-11 16:43:20 +01:00
Serhiy Mytrovtsiy
3f4a44c2fe fix: fixed out of bound the number in the process view (#1667) 2023-11-02 18:30:10 +01:00