Commit 6d97be9
committed
fix(daemon): port probe 5000-5019 + exec bit on single-file binaries
v0.2.8 — three issues surfaced during E2E testing of v0.2.7:
1. Daemon hardcoded to port 5000. macOS Sequoia's AirPlay Receiver
(ControlCenter) binds that port with SO_REUSEADDR so Kestrel fails
with AddressInUseException on startup — app launches, daemon dies
silently, user sees "waiting for backend" forever. Now probes 5000
through 5019 and uses the first free port; Electron already reads
the actual port from the tmp port file so reconnection is automatic.
2. BinaryDownloader.ExtractAsync's single-file path (hint=bin/exe or
no extension) called File.Copy with no chmod — GitHub serves the
file as 0644, so ~/.wdc/binaries/mkcert/1.4.4/mkcert-v1.4.4-darwin-arm64
arrived without the execute bit. Every mkcert CLI invocation died
with EACCES until the user manually chmod+x'd it. SSL site creation
silently failed because of this — cert.pem was never written. Now
sets UserExecute|GroupExecute|OtherExecute on Unix after the copy.
3. Frontend + daemon bumped to 0.2.8 to ship the fix.
Pulls nks.wdc.apache-v1.0.8 via stage-plugins: Apache now re-renders
httpd.conf on graceful reload, so `Listen 443` is emitted when an SSL
cert exists (v0.2.7 had the 443 vhost but no Listen binding → ERR_CONN
on https).1 parent 1861790 commit 6d97be9
5 files changed
Lines changed: 45 additions & 7 deletions
File tree
- src
- daemon/NKS.WebDevConsole.Daemon
- Binaries
- frontend
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
113 | 132 | | |
114 | 133 | | |
115 | 134 | | |
| |||
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
213 | 232 | | |
214 | 233 | | |
215 | 234 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments