Commit d2788ce
feat(debug-console): fix invalid websocket host and let clients choose network
The debug session URL was built as wss://Invalid Value:65479/debug/join on any
processor without a control subnet. DebugWebsocketSink.Url hard-coded ethernet
adapter id 1 as "the CS LAN adapter" and guarded it with IsNullOrEmpty, but
CrestronEthernetHelper.GetEthernetParameter does not return null or empty for an
absent adapter - it returns the literal string "Invalid Value". The guard passed,
the bad host won, and the fallback URL that would have rescued it was never built
because GetAdapterdIdForSpecifiedAdapterType threw instead.
Add ProcessorEthernetInfo, which resolves addresses by adapter type rather than
guessed index and returns null for the SDK's sentinel, and use it wherever the
processor's own addresses are read.
The session handlers now return every network the websocket is reachable on so a
client on either side of the processor can pick, since a tech may be on the LAN or
on the control subnet:
- networks[] lists each reachable address as {id, label, host, url}
- ?network=lan|cslan|current selects one; an unavailable id falls back to
auto-selection rather than failing
- without an explicit choice, the request's Host header picks the side the client
is already on
- port and path are returned so a client that already knows the processor's
address can build the URL itself - the debug app was served from the processor,
so window.location.hostname is by definition an address that reaches it
url and fallbackUrl keep their existing meaning, so the current dev tools app
works untouched.
Also:
- CreateCert validated no parameters, so a CN=Invalid Value.Invalid Value cert was
possible; it now falls back to the IP address and adds the control subnet IP and
bare hostname to the SAN list
- DebugSessionRequestHandler's outer catch logged and returned nothing, leaving
the browser on a hung request; it now sends a 500
- RoutingFeedbackSessionRequestHandler carried the same duplicated URL logic and
gets the same treatment
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CshF5gZ4qiGbEWZWB9Mi2U1 parent 325ac4d commit d2788ce
8 files changed
Lines changed: 611 additions & 125 deletions
File tree
- src
- PepperDash.Core.Tests
- PepperDash.Core
- Logging
- PepperDash.Essentials.Core/Web
- RequestHandlers
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | | - | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
57 | 61 | | |
58 | 62 | | |
59 | 63 | | |
60 | 64 | | |
61 | | - | |
62 | | - | |
63 | | - | |
| 65 | + | |
64 | 66 | | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
70 | 83 | | |
71 | 84 | | |
72 | 85 | | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
73 | 105 | | |
74 | 106 | | |
75 | 107 | | |
| |||
131 | 163 | | |
132 | 164 | | |
133 | 165 | | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
139 | 187 | | |
140 | | - | |
141 | | - | |
| 188 | + | |
142 | 189 | | |
143 | 190 | | |
144 | 191 | | |
| |||
162 | 209 | | |
163 | 210 | | |
164 | 211 | | |
165 | | - | |
| 212 | + | |
166 | 213 | | |
167 | 214 | | |
| 215 | + | |
| 216 | + | |
168 | 217 | | |
169 | 218 | | |
| 219 | + | |
| 220 | + | |
170 | 221 | | |
171 | 222 | | |
172 | 223 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
0 commit comments