Commit Graph

161 Commits

Author SHA1 Message Date
wanghongenpin
cc6c454eff feat(selection): update clear method and improve selection action bar visibility 2026-05-19 19:48:09 +08:00
testercengdong
202050b35f fix(macos): use libproc FFI for process info to eliminate fork leak
Replace Process.run('lsof') and Process.run('ps') in the request hot
path with direct libproc syscalls (proc_listpids, proc_pidinfo,
proc_pidfdinfo, proc_pidpath) via dart:ffi.

Each Process.run on macOS goes through fork()+execvp(). In a
multi-threaded Dart VM the forked child can deadlock before exec on
mutexes that were held by other threads at fork time (POSIX fork()
only clones the calling thread, leaving cloned mutex state with no
owners in the child). Under proxy load (~500 concurrent requests),
roughly 2% of the fork()s deadlock; the orphaned children inherit the
listening proxy fd and pin it for the lifetime of the system, so the
port stays bound even after the parent app exits.

libproc syscalls do not spawn child processes, so they avoid the fork
problem entirely. They are also about an order of magnitude faster
than spawning lsof per request.

Windows and Linux paths are unchanged (independent follow-up).

Verified end-to-end on macOS 26.4 / Darwin 25.4:
- 500 concurrent curl through the proxy: 0 fork leaks (was ~2% before)
- Process icons still resolve correctly for .app bundles (Chrome,
  Safari, Lark, etc.)
- 9099 frees immediately on app exit (no orphan listeners)

Fixes #763
2026-05-11 15:23:59 +08:00
wanghongenpin
0c6acb2567 feat: add minimize to tray functionality (#711) 2026-05-07 20:31:21 +08:00
wanghongenpin
3eb4986496 1.2.7-beta 2026-04-12 18:47:18 +08:00
wanghongenpin
bcd8af3e2d feat: add XML and HTML formatting support (#721) 2026-04-04 00:59:46 +08:00
wanghongenpin
7c9c4066dd refactor: improve request management and auto-read handling (#718) 2026-03-25 02:44:05 +08:00
wanghongenpin
f8345c32c2 1.2.6-beta 2026-03-01 20:46:35 +08:00
wanghongenpin
7e6360b4b6 android set system proxy (#574) 2026-02-06 14:27:23 +08:00
wanghongenpin
02bc02880c v1.2.5 2026-01-30 18:11:16 +08:00
wanghongenpin
ed6942eabd 1.2.3-beta 2026-01-21 16:14:56 +08:00
wanghongenpin
c181767878 Enhance script management with remote URL support and improved logging (#490) 2026-01-19 09:19:03 +08:00
wanghongenpin
5bac0e500b Add RequestParams widget to display query parameters in request (#635) 2026-01-07 20:56:31 +08:00
wanghongenpin
cc503dc42a Refactor request crypto UI and enhance AES key handling (#500)(#335)(#472) 2026-01-06 00:18:15 +08:00
wanghongenpin
ce6ee05de4 Add text and list display to HTTP headers 2025-12-30 22:02:52 +08:00
wanghongenpin
63942b94f5 macos system button (#633) 2025-12-25 03:30:54 +08:00
wanghongenpin
947361419c macos_window_utils 2025-12-22 02:48:00 +08:00
wanghongenpin
6db7564709 v1.2.3-beta 2025-12-18 00:57:11 +08:00
wanghongenpin
435529cd3b desktop init 2025-11-24 17:06:12 +08:00
wanghongenpin
90b5a946a5 fix ios26 share (#632) 2025-11-24 15:47:47 +08:00
wanghongenpin
63cc69e471 Reporting Server Usage Guide 2025-10-26 21:20:57 +08:00
wanghongenpin
e69dd2f71c Refactor image picking to use FilePicker and remove deprecated permissions 2025-10-21 23:54:36 +08:00
wanghongenpin
69c3f31b2f 1.2.2-beta 2025-10-19 00:39:23 +08:00
wanghongenpin
a1d65b5f13 json text search (#599)(#606) 2025-10-16 22:19:27 +08:00
wanghongenpin
74d71229ae Fixed page lag on large JsonText pages (#599)(#606) 2025-10-15 16:28:34 +08:00
wanghongenpin
3c5c2424a9 Details Open a new window 2025-09-26 18:02:24 +08:00
wanghongenpin
0aea691499 Certificate automatic installation and detection 2025-09-20 00:39:17 +08:00
wanghongenpin
f861beaa88 Windows Automatic Install Certificate 2025-09-18 23:55:23 +08:00
wanghongenpin
53fedc0713 1.2.1-pre 2025-09-05 07:43:00 +08:00
wanghongenpin
6030bd1456 http2 package size 2025-08-28 07:15:12 +08:00
wanghongenpin
26fe6115cd search highlight text 2025-08-21 17:15:56 +08:00
wanghongenpin
e5ad9df5b4 Merge branch 'stable'
# Conflicts:
#	pubspec.yaml
2025-08-21 06:17:50 +08:00
wanghongenpin
7ca849c03f Fix android some crash issues 2025-08-21 06:16:56 +08:00
wanghongenpin
2d76fb1b5c windows toolbar 2025-08-18 19:14:09 +08:00
wanghongenpin
9368391cef mac toolbar button 2025-08-17 08:49:44 +08:00
wanghongenpin
ac0e905cb7 Adjustment menu 2025-08-15 17:36:47 +08:00
wanghongenpin
1dcfeb851b remove windows_single 2025-08-15 02:57:53 +08:00
wanghongenpin
fc943dc52b 1.2.0 2025-08-11 02:13:41 +08:00
wanghongenpin
4ff95a3e00 1.2.0 beta 2025-08-10 16:56:51 +08:00
wanghongenpin
a571fec20e request map 2025-07-27 22:13:31 +08:00
wanghongenpin
f875ea6b5a Upgrade dependencies 2025-06-18 17:33:03 +08:00
wanghongenpin
9b0fc7a0ec ipv6 uri parse 2025-05-26 03:08:14 +08:00
wanghongenpin
af14228a73 json text 2025-05-17 14:18:03 +08:00
wanghongenpin
493fcc3ea0 support proxy http2 (#388)(#51) 2025-05-07 14:50:55 +08:00
wanghongenpin
34b15a0c5c auto mark read(#446) 2025-05-06 00:55:59 +08:00
wanghongenpin
ea07881b6f encoding support zstd (#459)(#455)(#404) 2025-05-05 18:05:24 +08:00
wanghongenpin
8106afd300 v1.1.8-pre 2025-04-14 06:13:54 +08:00
wanghongenpin
e29d0a3e4d flutter qr scan (#448) 2025-04-14 05:09:24 +08:00
wanghongenpin
ab905bb1fc check app version update 2025-04-13 23:10:50 +08:00
wanghongenpin
3ea6dce5cb file_picker macos compatibility (#442) 2025-04-13 05:53:41 +08:00
wanghongenpin
dd3b540dc4 Fix compatibility of scanned QR code versions (#448) 2025-04-13 04:20:21 +08:00