137 Commits
Author SHA1 Message Date
世界 3ed2341355 Improve oom-killer 2026-04-23 08:12:53 +08:00
世界 7a57cfeb88 Minor fixes 2026-04-23 08:12:53 +08:00
世界 22e1941e5e Fix crash handler 2026-04-23 08:12:53 +08:00
世界 cd48f1abf6 tools: Network Quality and STUN 2026-04-23 08:12:52 +08:00
世界 b48f4ad97f Tools View & Crash Report & OOM Report 2026-04-23 08:12:52 +08:00
世界 73180f0230 Add support for MAC and hostname rule items 2026-04-23 08:12:52 +08:00
世界 5318c1b84c Fix thread-safety crash in ProfileUpdateTask
Snapshot @Published properties before async suspension points to
prevent SIGBUS from corrupted pointers due to concurrent access.
2026-04-20 05:45:36 +08:00
世界 d461714de8 Fix alert copy 2026-04-20 05:45:12 +08:00
世界 a09170256d Minor fixes 2026-04-20 05:28:31 +08:00
世界 63d1d0fe3f Add GitHub update checker and installer 2026-03-30 23:02:42 +08:00
世界 f9fa896326 Set DNS matchDomains when include routes have no default route
Without this, the system ignores the NE's DNS server when IPv4
include routes don't contain 0.0.0.0/0 (e.g. segment routing).
Only applied conditionally to avoid breaking macOS Internet Sharing.
2026-03-11 17:53:46 +08:00
世界 efa6088884 Fix widget toggle not disabling On Demand before stopping VPN
Store wasOnDemandEnabled flag in providerConfiguration so the widget
can restore On Demand state on next start. Clear the flag when On
Demand is explicitly disabled in settings or when starting from the
main app.
2026-03-09 13:20:53 +08:00
世界 c7e1f667c3 Persist log and connection search state across tabs 2026-03-06 10:09:56 +08:00
世界 486769c1ab Fix Internet Sharing not working 2026-03-05 18:43:04 +08:00
世界 c8199ca3da Fix Packet Tunnel options not working 2026-03-05 18:43:04 +08:00
世界 b92e63ef88 Remove memory limit settings on macOS 2026-02-27 15:17:58 +08:00
世界 76541292d6 Fix tvOS pasteboard usage and simplify AlertState error copy flow 2026-02-09 15:54:03 +08:00
世界 8897e6deeb refactor: improve alert error context and copy action 2026-02-08 18:25:55 +08:00
世界 a86dfc26d1 Reformat code 2026-02-08 18:23:42 +08:00
世界 2e682d746c Fix main-thread blocking I/O 2026-02-05 02:37:02 +08:00
世界 4ae421cd04 Fix security-scoped URL access balancing 2026-02-04 22:32:02 +08:00
世界 1a4990fa51 Fix OutboundGroup equality check 2026-02-04 18:54:41 +08:00
世界 9d4ce37e94 Fix duplicate traffic updates 2026-01-16 20:08:33 +08:00
世界 12c8bff2d4 refactor: CommandClient & Connections 2026-01-16 20:08:33 +08:00
世界 c479921a4f refactor: apply connection events 2026-01-15 08:16:44 +08:00
世界 066c7d59ea Export iCloud profiles as local 2026-01-13 18:43:49 +08:00
世界 7abf01b828 Fix iCloud profile export crash 2026-01-13 18:19:01 +08:00
世界 42d1107c53 Fix profile save file not working
SwiftUI only supports one fileExporter modifier per view hierarchy.
When multiple fileExporter modifiers are attached, only the last one
takes effect. Unified ProfileExportDocument and ProfileJSONExportDocument
into a single ProfileAnyExportDocument to use one fileExporter for both
file types.
2026-01-13 17:05:12 +08:00
世界 b726d76d7c Fix packet tunnel start options persistence 2026-01-13 15:46:25 +08:00
世界 69e7ac9ad2 Reformat code 2026-01-12 08:17:59 +08:00
世界 d542c2e52a refactor: Tab view accessory compat 2026-01-09 19:46:22 +08:00
世界 e95640c8f9 Fix menu bar status item 2026-01-08 22:12:45 +08:00
世界 b0f1eed827 Add ANSI color contrast adjustment for log view
Automatically adjust log text colors when contrast against background
is below WCAG AA standard (4.5:1). Light mode darkens colors, dark mode
lightens them. Supports iOS, macOS, and tvOS.
2026-01-08 22:12:45 +08:00
世界 6b589cb771 Add screenshot generator 2026-01-08 16:13:20 +08:00
世界 d201789720 Signal file provider changes on VPN status update 2026-01-06 01:06:56 +08:00
世界 ce0d7ead88 Rewrite menu bar extra with AppKit 2026-01-05 19:19:11 +08:00
世界 8a62a58ce7 Fix XPC validation 2026-01-05 15:42:56 +08:00
世界 59317f3c79 refactor: Fix macOS standalone application 2026-01-05 01:21:24 +08:00
世界 81d6827334 Refactor to eliminate hardcoded identifiers
Read package identifier and app group ID from Info.plist at runtime
via AppConfiguration. This enables SFM.System to use TeamID-prefixed
app group format required by macOS Sequoia, fixing the privacy prompt
when accessing app group data.
2026-01-03 02:46:52 +08:00
世界 64e2ece819 Minor fixes 2026-01-03 00:55:17 +08:00
世界 52db9bbb39 Refactor QR scan and share and add QRS support 2026-01-02 16:27:26 +08:00
世界 313cb5d213 Add save file option for profile sharing
Add "Save File" and "Save Content JSON" options to profile share menu,
allowing users to save profiles directly to a chosen location using
fileExporter instead of the system share sheet.
2026-01-01 20:25:28 +08:00
世界 e2c378d42b Add QR scanner support for macOS with camera selection
- Refactor QR scanner into separate Scanner module for iOS and macOS
- Add camera selection menu for devices with multiple cameras
- Use Vision framework for QR detection on macOS
- Remove tvOS QR scanner support (continuity camera)
- Add camera entitlement and usage description for macOS
- Fix minor issues in Intents and ExtensionProvider
2026-01-01 18:18:03 +08:00
世界 58b5e9d732 Add custom on-demand rules support 2025-12-30 00:18:43 +08:00
世界 90a1022ec2 Fix multiple status streams when reconnecting 2025-12-19 19:26:16 +08:00
世界 9be752ea94 Minor fixes 2025-12-13 19:30:33 +08:00
世界 2da9397ef6 Auto-select newly created or imported profile 2025-12-07 18:12:47 +08:00
世界 39338ab133 Restart service when settings change 2025-12-07 10:28:51 +08:00
世界 bd5e5f3a79 Use relative time format for Last Updated 2025-12-06 22:27:42 +08:00
世界 f3ab29cda7 Fix status refresh 2025-12-06 22:01:44 +08:00