roku-debug 0.23.6 → 0.23.8

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.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
 
8
8
 
9
+ ## [0.23.8](https://github.com/rokucommunity/roku-debug/compare/0.23.7...v0.23.8) - 2026-05-19
10
+ ### Changed
11
+ - Inject breakpoint STOPs _after_ `InitializedEvent` ([#340](https://github.com/rokucommunity/roku-debug/pull/340))
12
+ - Defer DAP capabilities and InitializedEvent until after adapter connects ([#328](https://github.com/rokucommunity/roku-debug/pull/328))
13
+ - upgrade to [@rokucommunity/logger@0.3.12](https://github.com/rokucommunity/logger/blob/master/CHANGELOG.md#0312---2026-05-19). Notable changes since 0.3.11:
14
+ - Security enhancements ([#17](https://github.com/rokucommunity/logger/pull/17))
15
+ - upgrade to [brighterscript@0.72.2](https://github.com/rokucommunity/brighterscript/blob/master/CHANGELOG.md#0722---2026-05-19). Notable changes since 0.72.1:
16
+ - Security enhancements ([#1714](https://github.com/rokucommunity/brighterscript/pull/1714))
17
+ - upgrade to [roku-deploy@3.17.4](https://github.com/rokucommunity/roku-deploy/blob/master/CHANGELOG.md#3174---2026-05-19). Notable changes since 3.17.2:
18
+ - Security enhancements ([#263](https://github.com/rokucommunity/roku-deploy/pull/263))
19
+ - Add `autoLaunch` option to control `dev_autolaunch` on sideload ([#261](https://github.com/rokucommunity/roku-deploy/pull/261))
20
+ ### Fixed
21
+ - security enhancements ([#350](https://github.com/rokucommunity/roku-debug/pull/350))
22
+ - TelnetAdapter crash when methods are called after destroy ([#349](https://github.com/rokucommunity/roku-debug/pull/349))
23
+ - deferred capability handling for exception breakpoints ([#342](https://github.com/rokucommunity/roku-debug/pull/342))
24
+ - bug on windows with rdb file copying ([#343](https://github.com/rokucommunity/roku-debug/pull/343))
25
+ - sourcemap race in preprocessStagingFiles ([#339](https://github.com/rokucommunity/roku-debug/pull/339))
26
+
27
+
28
+
29
+ ## [0.23.7](https://github.com/rokucommunity/roku-debug/compare/0.23.6...v0.23.7) - 2026-05-11
30
+ ### Changed
31
+ - upgrade to [brighterscript@0.72.1](https://github.com/rokucommunity/brighterscript/blob/master/CHANGELOG.md#0721---2026-05-11). Notable changes since 0.72.0:
32
+ - feat: allow line continuation in .brs files when minFirmwareVersion >= 15.3 ([#1693](https://github.com/rokucommunity/brighterscript/pull/1693))
33
+ - upgrade to [roku-deploy@3.17.2](https://github.com/rokucommunity/roku-deploy/blob/master/CHANGELOG.md#3172---2026-05-05). Notable changes since 3.17.1:
34
+ - Expanded the default files array to include the locale folder ([#237](https://github.com/rokucommunity/roku-deploy/pull/237))
35
+
36
+
37
+
9
38
  ## [0.23.6](https://github.com/rokucommunity/roku-debug/compare/0.23.5...v0.23.6) - 2026-04-30
10
39
  ### Changed
11
40
  - Increase `app-ready` timeout to 60 seconds for slow Roku launches ([#334](https://github.com/rokucommunity/roku-debug/pull/334))
@@ -21,15 +21,20 @@ export declare class DebugProtocolAdapter {
21
21
  constructor(options: AdapterOptions & ConstructorOptions, projectManager: ProjectManager, breakpointManager: BreakpointManager, rendezvousTracker: RendezvousTracker, deviceInfo: DeviceInfo);
22
22
  private logger;
23
23
  /**
24
- * Indicates whether the adapter has successfully established a connection with the device
24
+ * Capabilities seeded from the device-info `brightscript-debugger-version`. Used as the
25
+ * source of truth for protocol capability questions before the debug protocol client has
26
+ * connected and completed its handshake.
25
27
  */
26
- connected: boolean;
28
+ private fallbackCapabilities;
29
+ /**
30
+ * The current authoritative capabilities for protocol-version-driven questions: the live
31
+ * client's capabilities once it exists, otherwise the device-info-seeded fallback.
32
+ */
33
+ private get capabilities();
27
34
  /**
28
- * Due to casing issues with the variables request on some versions of the debug protocol, we first need to try the request in the supplied case.
29
- * If that fails we retry in lower case. This flag is used to drive that logic switching
35
+ * Indicates whether the adapter has successfully established a connection with the device
30
36
  */
31
- private enableVariablesLowerCaseRetry;
32
- private supportsExecuteCommand;
37
+ connected: boolean;
33
38
  private compileClient;
34
39
  private compileErrorProcessor;
35
40
  private emitter;
@@ -86,9 +91,19 @@ export declare class DebugProtocolAdapter {
86
91
  on(eventname: 'unhandled-console-output', handler: (output: string) => any): any;
87
92
  private emit;
88
93
  /**
89
- * Does the current client support exception breakpoints? This value will be undefined if the client has not yet connected
94
+ * Does the current client support exception breakpoints? Resolved via the live client's
95
+ * capabilities when connected, otherwise the device-info-seeded fallback.
90
96
  */
91
- get supportsExceptionBreakpoints(): boolean | undefined;
97
+ get supportsExceptionBreakpoints(): boolean;
98
+ /**
99
+ * Does the current client support conditional breakpoints? Same fallback semantics as
100
+ * `supportsExceptionBreakpoints`.
101
+ */
102
+ get supportsConditionalBreakpoints(): boolean;
103
+ /**
104
+ * Does the current client support hit-count breakpoints?
105
+ */
106
+ get supportsHitConditionalBreakpoints(): boolean;
92
107
  /**
93
108
  * The debugger needs to tell us when to be active (i.e. when the package was deployed)
94
109
  */
@@ -217,6 +232,12 @@ export declare class DebugProtocolAdapter {
217
232
  * Sends a call to the ChanperfTracker to clear the current chanperf history
218
233
  */
219
234
  clearChanperfHistory(): void;
235
+ /**
236
+ * The most recently requested exception breakpoint filters. Stored so we can replay them
237
+ * to the debug protocol client once it connects (the session can send these before the
238
+ * device has launched and the client has finished its handshake).
239
+ */
240
+ private pendingExceptionBreakpointFilters;
220
241
  setExceptionBreakpoints(filters: ExceptionBreakpoint[]): Promise<import("../debugProtocol/events/responses/SetExceptionBreakpointsResponse").SetExceptionBreakpointsResponse>;
221
242
  private syncBreakpointsPromise;
222
243
  syncBreakpoints(): Promise<void>;
@@ -9,8 +9,8 @@ const ChanperfTracker_1 = require("../ChanperfTracker");
9
9
  const Constants_1 = require("../debugProtocol/Constants");
10
10
  const util_1 = require("../util");
11
11
  const logging_1 = require("../logging");
12
- const semver = require("semver");
13
12
  const DebugProtocolClient_1 = require("../debugProtocol/client/DebugProtocolClient");
13
+ const ProtocolCapabilities_1 = require("../debugProtocol/client/ProtocolCapabilities");
14
14
  const VariablesResponse_1 = require("../debugProtocol/events/responses/VariablesResponse");
15
15
  const customVariableUtils_1 = require("./customVariableUtils");
16
16
  const Exceptions_1 = require("../Exceptions");
@@ -19,17 +19,13 @@ const Exceptions_1 = require("../Exceptions");
19
19
  */
20
20
  class DebugProtocolAdapter {
21
21
  constructor(options, projectManager, breakpointManager, rendezvousTracker, deviceInfo) {
22
+ var _a, _b;
22
23
  this.options = options;
23
24
  this.projectManager = projectManager;
24
25
  this.breakpointManager = breakpointManager;
25
26
  this.rendezvousTracker = rendezvousTracker;
26
27
  this.deviceInfo = deviceInfo;
27
28
  this.logger = logging_1.logger.createLogger(`[padapter]`);
28
- /**
29
- * Due to casing issues with the variables request on some versions of the debug protocol, we first need to try the request in the supplied case.
30
- * If that fails we retry in lower case. This flag is used to drive that logic switching
31
- */
32
- this.enableVariablesLowerCaseRetry = true;
33
29
  this.nextFrameId = 1;
34
30
  this.stackFramesCache = {};
35
31
  this.cache = {};
@@ -60,11 +56,22 @@ class DebugProtocolAdapter {
60
56
  this.chanperfTracker = new ChanperfTracker_1.ChanperfTracker();
61
57
  this.compileErrorProcessor = new CompileErrorProcessor_1.CompileErrorProcessor();
62
58
  this.connected = false;
59
+ //capabilities derived from device-info; used to answer questions before the debug
60
+ //protocol client has connected and completed its handshake
61
+ this.fallbackCapabilities = new ProtocolCapabilities_1.ProtocolCapabilities((_a = this.deviceInfo) === null || _a === void 0 ? void 0 : _a.brightscriptDebuggerVersion, (_b = this.deviceInfo) === null || _b === void 0 ? void 0 : _b.softwareVersion);
63
62
  // watch for chanperf events
64
63
  this.chanperfTracker.on('chanperf', (output) => {
65
64
  this.emit('chanperf', output);
66
65
  });
67
66
  }
67
+ /**
68
+ * The current authoritative capabilities for protocol-version-driven questions: the live
69
+ * client's capabilities once it exists, otherwise the device-info-seeded fallback.
70
+ */
71
+ get capabilities() {
72
+ var _a, _b;
73
+ return (_b = (_a = this.client) === null || _a === void 0 ? void 0 : _a.capabilities) !== null && _b !== void 0 ? _b : this.fallbackCapabilities;
74
+ }
68
75
  /**
69
76
  * Get the version of the protocol for the Roku device we're currently connected to.
70
77
  */
@@ -98,11 +105,24 @@ class DebugProtocolAdapter {
98
105
  }, 0);
99
106
  }
100
107
  /**
101
- * Does the current client support exception breakpoints? This value will be undefined if the client has not yet connected
108
+ * Does the current client support exception breakpoints? Resolved via the live client's
109
+ * capabilities when connected, otherwise the device-info-seeded fallback.
102
110
  */
103
111
  get supportsExceptionBreakpoints() {
104
- var _a;
105
- return (_a = this.client) === null || _a === void 0 ? void 0 : _a.supportsExceptionBreakpoints;
112
+ return this.capabilities.supportsExceptionBreakpoints;
113
+ }
114
+ /**
115
+ * Does the current client support conditional breakpoints? Same fallback semantics as
116
+ * `supportsExceptionBreakpoints`.
117
+ */
118
+ get supportsConditionalBreakpoints() {
119
+ return this.capabilities.supportsConditionalBreakpoints;
120
+ }
121
+ /**
122
+ * Does the current client support hit-count breakpoints?
123
+ */
124
+ get supportsHitConditionalBreakpoints() {
125
+ return this.capabilities.supportsHitConditionalBreakpoints;
106
126
  }
107
127
  activate() {
108
128
  this.isActivated = true;
@@ -217,13 +237,6 @@ class DebugProtocolAdapter {
217
237
  this.emit('unhandled-console-output', data.message);
218
238
  this.emit('console-output', data.message);
219
239
  }
220
- // TODO: Update once we know the exact version of the debug protocol this issue was fixed in.
221
- // Due to casing issues with variables on protocol version <FUTURE_VERSION> and under we first need to try the request in the supplied case.
222
- // If that fails we retry in lower case.
223
- this.enableVariablesLowerCaseRetry = semver.satisfies(this.activeProtocolVersion, '<3.1.0');
224
- // While execute was added as a command in 2.1.0. It has shortcoming that prevented us for leveraging the command.
225
- // This was mostly addressed in the 3.0.0 release to the point where we were comfortable adding support for the command.
226
- this.supportsExecuteCommand = semver.satisfies(this.activeProtocolVersion, '>=3.0.0');
227
240
  });
228
241
  // Listen for the close event
229
242
  this.client.on('close', () => {
@@ -290,6 +303,16 @@ class DebugProtocolAdapter {
290
303
  this.handleStartupIfReady();
291
304
  this.emit('connected', this.connected);
292
305
  this.emit('app-ready');
306
+ //flush any breakpoints that were queued while we were waiting for the client to connect.
307
+ //setBreakpointsRequest is called by VS Code before the channel is uploaded, so the initial
308
+ //sync bails out (no client yet); this re-sync pushes those queued breakpoints to the device.
309
+ void this.syncBreakpoints();
310
+ //also replay any queued exception breakpoint filters
311
+ if (this.pendingExceptionBreakpointFilters) {
312
+ const queuedFilters = this.pendingExceptionBreakpointFilters;
313
+ this.pendingExceptionBreakpointFilters = undefined;
314
+ void this.client.setExceptionBreakpoints(queuedFilters);
315
+ }
293
316
  //the adapter is connected and running smoothly. resolve the promise
294
317
  deferred.resolve();
295
318
  }
@@ -308,7 +331,7 @@ class DebugProtocolAdapter {
308
331
  * Determines if the current version of the debug protocol supports emitting compile error updates.
309
332
  */
310
333
  get supportsCompileErrorReporting() {
311
- return semver.satisfies(this.deviceInfo.brightscriptDebuggerVersion, '>=3.1.0');
334
+ return this.capabilities.supportsCompileErrorReporting;
312
335
  }
313
336
  /**
314
337
  * Indicate if virtual variables should be auto resolved when they are encountered.
@@ -435,7 +458,7 @@ class DebugProtocolAdapter {
435
458
  */
436
459
  async evaluate(command, frameId = this.client.primaryThread) {
437
460
  var _a, _b, _c, _d, _e, _f, _g;
438
- if (this.supportsExecuteCommand) {
461
+ if (this.capabilities.supportsExecuteCommand) {
439
462
  if (!this.isAtDebuggerPrompt) {
440
463
  throw new Error('Cannot run evaluate: debugger is not paused');
441
464
  }
@@ -532,11 +555,11 @@ class DebugProtocolAdapter {
532
555
  logger.info(`Expression:`, JSON.stringify(expression));
533
556
  let variablePath = expression === '' ? [] : util_1.util.getVariablePath(expression);
534
557
  // Temporary workaround related to casing issues over the protocol
535
- if (this.enableVariablesLowerCaseRetry && (variablePath === null || variablePath === void 0 ? void 0 : variablePath.length) > 0) {
558
+ if (this.capabilities.enableVariablesLowerCaseRetry && (variablePath === null || variablePath === void 0 ? void 0 : variablePath.length) > 0) {
536
559
  variablePath[0] = variablePath[0].toLowerCase();
537
560
  }
538
561
  let response = await this.client.getVariables(variablePath, frame.frameIndex, frame.threadIndex);
539
- if (this.enableVariablesLowerCaseRetry && response.data.errorCode !== Constants_1.ErrorCode.OK) {
562
+ if (this.capabilities.enableVariablesLowerCaseRetry && response.data.errorCode !== Constants_1.ErrorCode.OK) {
540
563
  // Temporary workaround related to casing issues over the protocol
541
564
  logger.log(`Retrying expression as lower case:`, expression);
542
565
  variablePath = expression === '' ? [] : util_1.util.getVariablePath(expression === null || expression === void 0 ? void 0 : expression.toLowerCase());
@@ -832,13 +855,15 @@ class DebugProtocolAdapter {
832
855
  this.chanperfTracker.clearHistory();
833
856
  }
834
857
  async setExceptionBreakpoints(filters) {
835
- var _a, _b;
836
- if ((_a = this.client) === null || _a === void 0 ? void 0 : _a.supportsExceptionBreakpoints) {
837
- //tell the client to set the exception breakpoints
838
- const response = await ((_b = this.client) === null || _b === void 0 ? void 0 : _b.setExceptionBreakpoints(filters));
839
- return response;
858
+ if (!this.capabilities.supportsExceptionBreakpoints) {
859
+ return undefined;
860
+ }
861
+ //if the client isn't connected yet, queue the filters for replay on connect
862
+ if (!this.connected) {
863
+ this.pendingExceptionBreakpointFilters = filters;
864
+ return undefined;
840
865
  }
841
- return undefined;
866
+ return this.client.setExceptionBreakpoints(filters);
842
867
  }
843
868
  async syncBreakpoints() {
844
869
  this.logger.log('syncBreakpoints()');
@@ -852,11 +877,17 @@ class DebugProtocolAdapter {
852
877
  return this.syncBreakpointsPromise;
853
878
  }
854
879
  async _syncBreakpoints() {
855
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
880
+ var _a, _b, _c, _d, _e, _f, _g;
881
+ //we need to actually be connected to the device before we can push breakpoints. We'll get
882
+ //called again once the debug protocol client has connected.
883
+ if (!this.connected) {
884
+ this.logger.info('Cannot sync breakpoints because the debug protocol client has not connected yet');
885
+ return;
886
+ }
856
887
  //we can't send breakpoints unless we're stopped (or in a protocol version that supports sending them while running).
857
888
  //So...if we're not stopped, quit now. (we'll get called again when the stop event happens)
858
- if (!((_a = this.client) === null || _a === void 0 ? void 0 : _a.supportsBreakpointRegistrationWhileRunning) && !this.isAtDebuggerPrompt) {
859
- this.logger.info('Cannot sync breakpoints because the debugger', ((_b = this.client) === null || _b === void 0 ? void 0 : _b.supportsBreakpointRegistrationWhileRunning) ? 'does not support sending breakpoints while running' : 'is not paused');
889
+ if (!this.capabilities.supportsBreakpointRegistrationWhileRunning && !this.isAtDebuggerPrompt) {
890
+ this.logger.info('Cannot sync breakpoints because the debugger', this.capabilities.supportsBreakpointRegistrationWhileRunning ? 'does not support sending breakpoints while running' : 'is not paused');
860
891
  return;
861
892
  }
862
893
  //compute breakpoint changes since last sync
@@ -871,7 +902,7 @@ class DebugProtocolAdapter {
871
902
  const response = await this.client.removeBreakpoints(
872
903
  //TODO handle retrying to remove breakpoints that don't have deviceIds yet but might get one in the future
873
904
  diff.removed.map(x => x.deviceId).filter(x => typeof x === 'number'));
874
- if (((_c = response.data) === null || _c === void 0 ? void 0 : _c.errorCode) === Constants_1.ErrorCode.NOT_STOPPED) {
905
+ if (((_a = response.data) === null || _a === void 0 ? void 0 : _a.errorCode) === Constants_1.ErrorCode.NOT_STOPPED) {
875
906
  this.breakpointManager.failedDeletions.push(...diff.removed);
876
907
  }
877
908
  }
@@ -893,7 +924,7 @@ class DebugProtocolAdapter {
893
924
  const standardBreakpoints = [];
894
925
  const conditionalBreakpoints = [];
895
926
  for (const breakpoint of breakpointsToSendToDevice) {
896
- if ((_d = breakpoint === null || breakpoint === void 0 ? void 0 : breakpoint.conditionalExpression) === null || _d === void 0 ? void 0 : _d.trim()) {
927
+ if ((_b = breakpoint === null || breakpoint === void 0 ? void 0 : breakpoint.conditionalExpression) === null || _b === void 0 ? void 0 : _b.trim()) {
897
928
  conditionalBreakpoints.push(breakpoint);
898
929
  }
899
930
  else {
@@ -903,8 +934,8 @@ class DebugProtocolAdapter {
903
934
  for (const breakpoints of [standardBreakpoints, conditionalBreakpoints]) {
904
935
  const response = await this.client.addBreakpoints(breakpoints);
905
936
  //if the response was successful, and we have the correct number of breakpoints in the response
906
- if (response.data.errorCode === Constants_1.ErrorCode.OK && ((_f = (_e = response === null || response === void 0 ? void 0 : response.data) === null || _e === void 0 ? void 0 : _e.breakpoints) === null || _f === void 0 ? void 0 : _f.length) === breakpoints.length) {
907
- for (let i = 0; i < ((_j = (_h = (_g = response === null || response === void 0 ? void 0 : response.data) === null || _g === void 0 ? void 0 : _g.breakpoints) === null || _h === void 0 ? void 0 : _h.length) !== null && _j !== void 0 ? _j : 0); i++) {
937
+ if (response.data.errorCode === Constants_1.ErrorCode.OK && ((_d = (_c = response === null || response === void 0 ? void 0 : response.data) === null || _c === void 0 ? void 0 : _c.breakpoints) === null || _d === void 0 ? void 0 : _d.length) === breakpoints.length) {
938
+ for (let i = 0; i < ((_g = (_f = (_e = response === null || response === void 0 ? void 0 : response.data) === null || _e === void 0 ? void 0 : _e.breakpoints) === null || _f === void 0 ? void 0 : _f.length) !== null && _g !== void 0 ? _g : 0); i++) {
908
939
  const deviceBreakpoint = response.data.breakpoints[i];
909
940
  if (typeof (deviceBreakpoint === null || deviceBreakpoint === void 0 ? void 0 : deviceBreakpoint.id) === 'number') {
910
941
  //sync this breakpoint's deviceId with the roku-assigned breakpoint ID
@@ -1 +1 @@
1
- {"version":3,"file":"DebugProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/DebugProtocolAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DebugProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/DebugProtocolAdapter.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@ export declare class TelnetAdapter {
36
36
  */
37
37
  supportsExecute: boolean;
38
38
  supportsExceptionBreakpoints: boolean;
39
+ supportsConditionalBreakpoints: boolean;
40
+ supportsHitConditionalBreakpoints: boolean;
39
41
  once(eventName: 'app-ready'): Promise<void>;
40
42
  once(eventName: 'connected'): Promise<boolean>;
41
43
  /**
@@ -32,6 +32,10 @@ class TelnetAdapter {
32
32
  */
33
33
  this.supportsExecute = true;
34
34
  this.supportsExceptionBreakpoints = false;
35
+ //BreakpointManager rewrites `stop` statements as `if <cond> then : STOP : end if` and
36
+ //`if hits >= N then STOP`, so both forms work in telnet mode regardless of firmware.
37
+ this.supportsConditionalBreakpoints = true;
38
+ this.supportsHitConditionalBreakpoints = true;
35
39
  /**
36
40
  * The debugger needs to tell us when to be active (i.e. when the package was deployed)
37
41
  */
@@ -909,6 +913,9 @@ class TelnetAdapter {
909
913
  */
910
914
  resolve(key, factory) {
911
915
  try {
916
+ if (this.isDestroyed || !this.cache) {
917
+ return Promise.reject(new Error(`Cannot resolve "${key}": adapter is destroyed`));
918
+ }
912
919
  if (this.cache[key]) {
913
920
  this.logger.debug(`resolve cache "${key}": already exists`);
914
921
  return this.cache[key];