diff --git a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-contributions.ts b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-contributions.ts index aa1505c58..b573eb902 100644 --- a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-contributions.ts +++ b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-contributions.ts @@ -176,7 +176,7 @@ export class CloudSketchbookContribution extends Contribution { registry.registerCommand(CloudSketchbookCommands.OPEN_IN_CLOUD_EDITOR, { execute: (arg) => { this.windowService.openNewWindow( - `https://create.arduino.cc/editor/${arg.node.sketchId}`, + `https://create.arduino.cc/editor/${arg.username}/${arg.node.sketchId}`, { external: true } ); }, diff --git a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-widget.tsx b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-widget.tsx index fa4c63bf2..c36183b09 100644 --- a/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-widget.tsx +++ b/arduino-ide-extension/src/browser/widgets/cloud-sketchbook/cloud-sketchbook-tree-widget.tsx @@ -94,7 +94,9 @@ export class CloudSketchbookTreeWidget extends SketchbookTreeWidget { this.currentSketchUri === node.uri.toString()) ) { return Array.from(new Set(node.commands)).map((command) => - this.renderInlineCommand(command.id, node) + this.renderInlineCommand(command.id, node, { + username: this.authenticationService.session?.account?.label, + }) ); } return undefined; diff --git a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-widget.tsx b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-widget.tsx index 7245b7566..b866e8845 100644 --- a/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-widget.tsx +++ b/arduino-ide-extension/src/browser/widgets/sketchbook/sketchbook-tree-widget.tsx @@ -125,11 +125,12 @@ export class SketchbookTreeWidget extends FileTreeWidget { protected renderInlineCommand( commandId: string, - node: SketchbookTree.SketchDirNode + node: SketchbookTree.SketchDirNode, + options?: any ): React.ReactNode { const command = this.commandRegistry.getCommand(commandId); const icon = command?.iconClass; - const args = { model: this.model, node: node }; + const args = { model: this.model, node: node, ...options }; if ( command && icon &&