roku-debug 0.23.16 → 0.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/Exceptions.d.ts +4 -0
  3. package/dist/Exceptions.js.map +1 -1
  4. package/dist/FileUtils.js +4 -9
  5. package/dist/FileUtils.js.map +1 -1
  6. package/dist/LaunchConfiguration.d.ts +20 -2
  7. package/dist/PerfettoManager.d.ts +7 -1
  8. package/dist/PerfettoManager.js +11 -6
  9. package/dist/PerfettoManager.js.map +1 -1
  10. package/dist/RendezvousTracker.d.ts +2 -2
  11. package/dist/RendezvousTracker.js +14 -41
  12. package/dist/RendezvousTracker.js.map +1 -1
  13. package/dist/RokuECP.d.ts +11 -4
  14. package/dist/RokuECP.js +48 -62
  15. package/dist/RokuECP.js.map +1 -1
  16. package/dist/SceneGraphDebugCommandController.d.ts +28 -2
  17. package/dist/SceneGraphDebugCommandController.js +100 -4
  18. package/dist/SceneGraphDebugCommandController.js.map +1 -1
  19. package/dist/adapters/DebugProtocolAdapter.d.ts +6 -0
  20. package/dist/adapters/DebugProtocolAdapter.js +30 -11
  21. package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
  22. package/dist/adapters/TelnetAdapter.d.ts +6 -0
  23. package/dist/adapters/TelnetAdapter.js +21 -13
  24. package/dist/adapters/TelnetAdapter.js.map +1 -1
  25. package/dist/adapters/TelnetRequestPipeline.d.ts +3 -4
  26. package/dist/adapters/TelnetRequestPipeline.js.map +1 -1
  27. package/dist/debugProtocol/DebugProtocolClientReplaySession.js +1 -1
  28. package/dist/debugProtocol/DebugProtocolClientReplaySession.js.map +1 -1
  29. package/dist/debugProtocol/client/DebugProtocolClient.d.ts +14 -2
  30. package/dist/debugProtocol/client/DebugProtocolClient.js +33 -18
  31. package/dist/debugProtocol/client/DebugProtocolClient.js.map +1 -1
  32. package/dist/debugProtocol/client/DebugProtocolClientPlugin.d.ts +2 -3
  33. package/dist/debugSession/BrightScriptDebugSession.d.ts +68 -9
  34. package/dist/debugSession/BrightScriptDebugSession.js +286 -110
  35. package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
  36. package/dist/debugSession/Events.d.ts +5 -5
  37. package/dist/debugSession/Events.js +15 -2
  38. package/dist/debugSession/Events.js.map +1 -1
  39. package/dist/interfaces.d.ts +8 -1
  40. package/dist/interfaces.js.map +1 -1
  41. package/dist/managers/BreakpointManager.d.ts +9 -5
  42. package/dist/managers/BreakpointManager.js +22 -11
  43. package/dist/managers/BreakpointManager.js.map +1 -1
  44. package/dist/managers/LocationManager.js +2 -2
  45. package/dist/managers/LocationManager.js.map +1 -1
  46. package/dist/managers/ProjectManager.d.ts +56 -1
  47. package/dist/managers/ProjectManager.js +146 -23
  48. package/dist/managers/ProjectManager.js.map +1 -1
  49. package/dist/util.d.ts +46 -2
  50. package/dist/util.js +71 -1
  51. package/dist/util.js.map +1 -1
  52. package/package.json +6 -6
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isProtocolUpdate = exports.isProtocolResponse = exports.isProtocolRequest = exports.DebugProtocolClient = void 0;
4
- const Net = require("net");
5
4
  const debounce = require("debounce");
6
5
  const EventEmitter = require("eventemitter3");
7
6
  const semver = require("semver");
@@ -44,6 +43,7 @@ const ActionQueue_1 = require("../../managers/ActionQueue");
44
43
  const PluginInterface_1 = require("../PluginInterface");
45
44
  const BreakpointVerifiedUpdate_1 = require("../events/updates/BreakpointVerifiedUpdate");
46
45
  const ExceptionBreakpointErrorUpdate_1 = require("../events/updates/ExceptionBreakpointErrorUpdate");
46
+ const roku_deploy_1 = require("roku-deploy");
47
47
  class DebugProtocolClient {
48
48
  constructor(options) {
49
49
  this.logger = logging_1.logger.createLogger(`[dpclient]`);
@@ -92,7 +92,6 @@ class DebugProtocolClient {
92
92
  this.isDestroyingIOSocket = false;
93
93
  this.options = {
94
94
  controlPort: 8081,
95
- host: undefined,
96
95
  //override the defaults with the options from parameters
97
96
  ...options !== null && options !== void 0 ? options : {}
98
97
  };
@@ -136,17 +135,27 @@ class DebugProtocolClient {
136
135
  //in rare cases, this event is fired after the debugger has closed, so make sure the event emitter still exists
137
136
  this.emitter.emit(eventName, data);
138
137
  }
138
+ /**
139
+ * Create the transport used to reach one of the device's debug protocol ports (the control port
140
+ * or the io port): a raw tcp socket for a local device, or the RCE instance api's
141
+ * `/api/v0/ports/<port>` WebSocket for a cloud device. Extracted to a protected method so tests
142
+ * can substitute a fake socket.
143
+ */
144
+ createRokuDeploySocket(options) {
145
+ return (0, roku_deploy_1.createRokuDeploySocket)(options);
146
+ }
139
147
  /**
140
148
  * A collection of sockets created when trying to connect to the debug protocol's control socket. We keep these around for quicker tear-down
141
149
  * whenever there is an early-terminated debug session
142
150
  */
143
151
  async establishControlConnection() {
144
152
  const connection = await new Promise((resolve) => {
145
- const socket = new Net.Socket({
146
- allowHalfOpen: false
153
+ const socket = this.createRokuDeploySocket({
154
+ device: this.options.device,
155
+ port: this.options.controlPort
147
156
  });
148
157
  util_1.util.registerSocketLogging(socket, this.logger, 'ControlSocket');
149
- socket.connect({ port: this.options.controlPort, host: this.options.host }, () => {
158
+ socket.connect(() => {
150
159
  resolve(socket);
151
160
  });
152
161
  });
@@ -631,14 +640,22 @@ class DebugProtocolClient {
631
640
  /**
632
641
  * Sometimes a request arrives that we don't understand. If that's the case, this function can be used
633
642
  * to discard that entire response by discarding `packet_length` number of bytes
643
+ * @returns true if bytes were actually discarded, false if the buffer was left untouched
634
644
  */
635
645
  discardNextResponseOrUpdate() {
646
+ //an unparseable pre-handshake buffer is a fragmented handshake still accumulating, not an
647
+ //unknown message, so there's no packet length to recover with yet. never discard here
648
+ if (!this.isHandshakeComplete) {
649
+ return false;
650
+ }
636
651
  const response = GenericV3Response_1.GenericV3Response.fromBuffer(this.buffer);
637
- if (response.success && response.data.packetLength > 0) {
652
+ if (response.success && response.data.packetLength > 0 && response.data.packetLength <= this.buffer.length) {
638
653
  this.logger.warn(`Unsupported response or updated encountered. Discarding ${response.data.packetLength} bytes:`, JSON.stringify(this.buffer.slice(0, response.data.packetLength + 1).toJSON().data));
639
654
  //we have a valid event. Clear the buffer of this data
640
655
  this.buffer = this.buffer.slice(response.data.packetLength);
656
+ return true;
641
657
  }
658
+ return false;
642
659
  }
643
660
  logEvent(event) {
644
661
  var _a;
@@ -673,9 +690,9 @@ class DebugProtocolClient {
673
690
  //if the event failed to parse, or the buffer doesn't have enough bytes to satisfy the packetLength, exit here (new data will re-trigger this function)
674
691
  if (!responseOrUpdate) {
675
692
  this.logger.info('Unable to convert buffer into anything meaningful', this.buffer);
676
- //if we have packet length, and we have at least that many bytes, throw out this message so we can hopefully recover
677
- this.discardNextResponseOrUpdate();
678
- return false;
693
+ //if we have packet length, and we have at least that many bytes, throw out this message so we can hopefully recover.
694
+ //if we actually discarded bytes, there may be another full message right behind it in the same buffer, so keep looping
695
+ return this.discardNextResponseOrUpdate();
679
696
  }
680
697
  if (!responseOrUpdate.success || responseOrUpdate.data.packetLength > this.buffer.length) {
681
698
  this.logger.log(`event parse failed. ${(_a = responseOrUpdate === null || responseOrUpdate === void 0 ? void 0 : responseOrUpdate.data) === null || _a === void 0 ? void 0 : _a.packetLength} bytes required, ${this.buffer.length} bytes available`);
@@ -903,19 +920,17 @@ class DebugProtocolClient {
903
920
  */
904
921
  connectToIoPort(update) {
905
922
  if (update.success) {
906
- // Create a new TCP client.
907
- this.ioSocket = new Net.Socket({
908
- allowHalfOpen: false
923
+ // Create a new client socket to the io port the device just opened
924
+ this.ioSocket = this.createRokuDeploySocket({
925
+ device: this.options.device,
926
+ port: update.data.port
909
927
  });
910
928
  util_1.util.registerSocketLogging(this.ioSocket, this.logger, 'IoSocket');
911
929
  // Send a connection request to the server.
912
- this.logger.log(`Connect to IO Port ${this.options.host}:${update.data.port}`);
930
+ this.logger.log(`Connect to IO Port ${update.data.port}`);
913
931
  //sometimes the server shuts down before we had a chance to connect, so recover more gracefully
914
932
  try {
915
- this.ioSocket.connect({
916
- port: update.data.port,
917
- host: this.options.host
918
- }, () => {
933
+ this.ioSocket.connect(() => {
919
934
  // If there is no error, the server has accepted the request
920
935
  this.logger.log('TCP connection established with the IO Port.');
921
936
  this.connectedToIoPort = true;
@@ -946,7 +961,7 @@ class DebugProtocolClient {
946
961
  return true;
947
962
  }
948
963
  catch (e) {
949
- this.logger.error(`Failed to connect to IO socket at ${this.options.host}:${update.data.port}`, e);
964
+ this.logger.error(`Failed to connect to IO socket at port ${update.data.port}`, e);
950
965
  this.emit('app-exit');
951
966
  }
952
967
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DebugProtocolClient.js","sourceRoot":"","sources":["../../../src/debugProtocol/client/DebugProtocolClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DebugProtocolClient.js","sourceRoot":"","sources":["../../../src/debugProtocol/client/DebugProtocolClient.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- /// <reference types="node" />
4
3
  import type { DebugProtocolClient } from './DebugProtocolClient';
5
- import type { Socket } from 'net';
4
+ import type { RokuDeploySocket } from 'roku-deploy';
6
5
  import type { ProtocolRequest, ProtocolResponse, ProtocolUpdate } from '../events/ProtocolEvent';
7
6
  export interface DebugProtocolClientPlugin {
8
7
  onServerConnected?(event: OnServerConnectedEvent): void | Promise<any>;
@@ -15,7 +14,7 @@ export interface DebugProtocolClientPlugin {
15
14
  }
16
15
  export interface OnServerConnectedEvent {
17
16
  client: DebugProtocolClient;
18
- server: Socket;
17
+ server: RokuDeploySocket;
19
18
  }
20
19
  export interface ProvideResponseOrUpdateEvent {
21
20
  client: DebugProtocolClient;
@@ -53,6 +53,11 @@ export declare class BrightScriptDebugSession extends LoggingDebugSession {
53
53
  locationManager: LocationManager;
54
54
  sourceMapManager: SourceMapManager;
55
55
  rokuDeploy: RokuDeploy;
56
+ /**
57
+ * A short human-readable identifier for the target device, safe for log and error messages
58
+ * (never includes credentials like the rceToken)
59
+ */
60
+ private get deviceLabel();
56
61
  private componentLibraryServer;
57
62
  private rokuAdapterDeferred;
58
63
  /**
@@ -81,6 +86,13 @@ export declare class BrightScriptDebugSession extends LoggingDebugSession {
81
86
  * Cleared once the ProgressEndEvent is sent.
82
87
  */
83
88
  private launchProgressId;
89
+ /**
90
+ * Sends the deferred ProgressEndEvent for the launch progress bar (sendLaunchProgress holds it
91
+ * back for UX). Kept here so shutdown can flush it immediately: the adapter can exit before the
92
+ * delay elapses, which would otherwise leave the client's progress notification stuck open.
93
+ * Cleared once the event has been sent.
94
+ */
95
+ private flushLaunchProgressEnd;
84
96
  /**
85
97
  * The first encountered compile error, will be used to send to the client as a runtime error (nicer UI presentation)
86
98
  */
@@ -98,6 +110,12 @@ export declare class BrightScriptDebugSession extends LoggingDebugSession {
98
110
  * Get a promise that resolves when the roku adapter is ready to be used
99
111
  */
100
112
  private getRokuAdapter;
113
+ /**
114
+ * The normalized launch config for this session. The resolved type has no `host` (so nothing in
115
+ * the session can read or write it) and a concrete `device` config, which is the only way the
116
+ * debugger addresses the device. The raw `LaunchConfiguration` exists only as launchRequest's
117
+ * DAP input; normalizeLaunchConfig converts it.
118
+ */
101
119
  private launchConfiguration;
102
120
  private initRequestArgs;
103
121
  private exceptionBreakpoints;
@@ -177,11 +195,19 @@ export declare class BrightScriptDebugSession extends LoggingDebugSession {
177
195
  */
178
196
  prepareMainProject(): Promise<void>;
179
197
  /**
180
- * Inject breakpoint STOP statements into the staged main project and create the zip package.
181
- * Runs after the DAP `InitializedEvent` so client-side `setBreakpoints` requests have landed
182
- * before any STOPs are written to the staged .brs files (telnet path) and before the zip is sealed.
198
+ * Validate every breakpoint against the staged projects and (telnet only) write STOP statements into the
199
+ * staged .brs files. Runs after the DAP `InitializedEvent` so client-side `setBreakpoints` requests have
200
+ * landed before any STOPs are written. Validates the main project and every component library in ONE pass:
201
+ * a breakpoint is only failed when it can't be placed in any project, so validating per project would fail
202
+ * every other project's breakpoints. Must complete before `postfixComponentLibraries` renames the complib
203
+ * files so telnet STOPs are written to the original file names.
204
+ */
205
+ private writeBreakpoints;
206
+ /**
207
+ * Create the main project's zip package (or run the configured packageTask). Must run AFTER
208
+ * `applyLibraryReferencePostfixes` so any rewritten `Library` statements are included in the zip.
183
209
  */
184
- private packageMainProject;
210
+ private zipMainProject;
185
211
  /**
186
212
  * Accepts custom events and requests from the extension
187
213
  * @param command name of the command to execute
@@ -192,12 +218,45 @@ export declare class BrightScriptDebugSession extends LoggingDebugSession {
192
218
  */
193
219
  protected prepareComponentLibraries(componentLibraries: ComponentLibraryConfiguration[]): Promise<void>;
194
220
  /**
195
- * Inject breakpoint STOPs into the staged complibs, seal their zips, install installable ones,
196
- * and start static file hosting. Runs in `configurationDoneRequest` (after `InitializedEvent`)
197
- * so client-side `setBreakpoints` requests have landed before the staged .brs files are written
198
- * and the zips are sealed.
221
+ * Postfix each staged complib's own files (rename its `.brs` files with the `__lib<index>` postfix and
222
+ * rewrite its `uri=` references). Runs in `configurationDoneRequest` AFTER `writeBreakpoints` so any
223
+ * telnet STOPs have already been written to the original file names. Kept separate from zipping so the
224
+ * cross-project `Library` reference rewrite can run after EVERY project is postfixed but before any zip
225
+ * is sealed.
226
+ */
227
+ protected postfixComponentLibraries(componentLibraries: ComponentLibraryConfiguration[]): Promise<void>;
228
+ /**
229
+ * Seal every component library's zip, install the installable ones (in order), and start static file
230
+ * hosting. Must run AFTER `applyLibraryReferencePostfixes` so each zip contains the rewritten `Library`
231
+ * statements.
232
+ */
233
+ protected zipServeAndInstallComponentLibraries(componentLibraries: ComponentLibraryConfiguration[], port: number): Promise<void>;
234
+ /**
235
+ * Delete every component library installed on the device.
236
+ *
237
+ * A complib can only depend on complibs the user declared BEFORE it, so the user's configured order is already
238
+ * dependency order. Deleting in the REVERSE of that order therefore deletes each complib before the ones it
239
+ * depends on, avoiding compile errors entirely. We use that reverse order as the delete priority.
240
+ *
241
+ * Anything still installed that the user did NOT configure (e.g. leftovers from a previous session) has no known
242
+ * order, so we fall back to compile-error tolerance for those: deleting a complib while another still references
243
+ * it fails with a compile error, which we ignore and retry later (after its dependent is gone). We finish when
244
+ * every complib is gone, and fail if the only complibs left are ones that can never be deleted.
245
+ */
246
+ private deleteAllComponentLibraries;
247
+ /**
248
+ * Is this error the device reporting a compile failure (which, during complib deletion, means another
249
+ * installed complib still references the one we tried to delete)?
250
+ */
251
+ private isComponentLibraryDependencyCompileError;
252
+ /**
253
+ * Did the component-library delete actually succeed, even though the device also reported a compile error?
254
+ * When we delete a complib that a dependent still references, the device reports BOTH a compile error AND a
255
+ * `Delete Succeeded` message - meaning the complib really was removed. roku-deploy attaches the parsed device
256
+ * messages (`{ errors, infos, successes }`) to the thrown error as `rokuMessages`; we look for the success there.
257
+ * Absence of that success message means the delete did NOT happen, so it should be treated as a failure/retry.
199
258
  */
200
- protected packageAndHostComponentLibraries(componentLibraries: ComponentLibraryConfiguration[], port: number): Promise<void>;
259
+ private wasComponentLibraryDeleteSuccessful;
201
260
  protected sourceRequest(response: DebugProtocol.SourceResponse, args: DebugProtocol.SourceArguments): void;
202
261
  /**
203
262
  * Called every time a breakpoint is created, modified, or deleted, for each file. This receives the entire list of breakpoints every time.