-
Notifications
You must be signed in to change notification settings - Fork 709
Merge master into feature/ui-e2e-tests #7884
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
aws-toolkit-automation
wants to merge
366
commits into
feature/ui-e2e-tests
Choose a base branch
from
autoMerge/feature/ui-e2e-tests
base: feature/ui-e2e-tests
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Merge master into feature/ui-e2e-tests #7884
aws-toolkit-automation
wants to merge
366
commits into
feature/ui-e2e-tests
from
autoMerge/feature/ui-e2e-tests
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Problem Need notebook create job page. ## Solution - Create base Vue components - Use base Vue components to compose notebook create job page <img width="664" height="1364" alt="Screenshot 2025-07-16 at 10 20 01 AM" src="https://github.com/user-attachments/assets/ff2936f2-db90-4f34-ab39-4b3012ccf944" /> --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…rer view (#2165) ## Problem The current SageMaker Unified Studio explorer implementation loads all projects at startup and doesn't provide a way to select specific projects or regions. This creates a poor user experience when there are many projects or when users need to work with specific regions. ## Solution - Restructured the explorer view with a hierarchical approach (region and project nodes) - Added a new SageMakerUnifiedStudioRegionNode to display region information - Modified SageMakerUnifiedStudioProjectNode to support project selection - Implemented a project selection UI with QuickPick - Added proper resource cleanup with DataZoneClient.dispose() - Updated tests to match the new structure - Renamed tree view ID from 'aws.smus.projectsView' to 'aws.smus.rootView' for consistency <img width="503" height="121" alt="Screenshot 2025-07-16 at 9 18 48 AM" src="https://github.com/user-attachments/assets/be55651b-8c8b-40ac-830f-be554b3d7b2c" /> --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. Co-authored-by: guntamb <[email protected]>
## Problem - Added new UX to inform user about migration of /agents. ## Solution - Removing the migration of /agents ux but need some time to remove entire functionality due to backward compatability issues. - Removed unused and unnecessary code. - Related Flare PR: aws/language-servers#2248 ### Old VSC plugin behavior with new flare version https://github.com/user-attachments/assets/c6966bdb-7bdc-41ca-ae67-acadc4f69ef9 ### New VSC plugin behavior with new flare version https://github.com/user-attachments/assets/9e76779d-6284-4ba3-b206-ddbb862c3d76 --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…#8047) ## Problem #8045 #8040 ## Solution fix for path parsing for windows for editable diff view --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem - Require account id to create a more complete product metric on SMUS feature usage ## Solution - Add domain account id metadata to smus_login metric ## Test - on core `npm run generateTelemetry` - `npm test` - manually test telemetry ``` 2025-09-16 01:21:25.358 [debug] telemetry: smus_login { Metadata: { metricId: '43dfab8d-d5a6-4791-9afb-b0b3454efb23', traceId: 'ba4dd30a-3ad6-4101-84a0-8ae558947fed', parentId: '4e6f9558-995e-444e-8461-d718bd6434a5', duration: '1763', result: 'Cancelled', reason: 'UserCancelled', reasonDesc: 'Failed to initiate login. | UserCancelled: User cancelled domain URL input', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: false } 2025-09-16 01:22:39.406 [debug] telemetry: smus_login { Metadata: { metricId: '4840c7e2-7a68-49a8-8bb6-710d629856ab', traceId: '65160024-7c03-47c8-80e3-9fdf8493047b', smusDomainId: 'dzd_bh80g0fbj1h7xl', awsRegion: 'us-east-2', smusDomainAccountId: '050752642559', duration: '34889', result: 'Succeeded', awsAccount: 'not-set' }, Value: 1, Unit: 'None', Passive: false } 2025-09-16 01:22:48.391 [debug] telemetry: smus_accessProject { Metadata: { metricId: 'fad0c4d1-49bd-4a87-aed5-72a6e4d04c3a', traceId: '65160024-7c03-47c8-80e3-9fdf8493047b', parentId: 'cda698a1-1c85-477c-9722-ca5b81ae6f63', smusDomainId: 'dzd_bh80g0fbj1h7xl', smusProjectId: 'c1wqm5rlzb150p', smusDomainRegion: 'us-east-2', smusDomainAccountId: '050752642559', duration: '10451', result: 'Succeeded', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: false } 2025-09-16 01:22:51.374 [debug] telemetry: smus_renderProjectChildrenNode { Metadata: { metricId: '0bc6e3e4-a54b-44a2-84d6-b033e656d91e', traceId: 'e280e0c3-54c5-4aae-8431-ef5724a20e42', smusToolkitEnv: 'local', smusDomainId: 'dzd_bh80g0fbj1h7xl', smusDomainAccountId: '050752642559', smusProjectId: 'c1wqm5rlzb150p', smusDomainRegion: 'us-east-2', duration: '2979', result: 'Succeeded', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: true } 2025-09-16 01:24:25.389 [debug] telemetry: smus_renderLakehouseNode { Metadata: { metricId: 'f50b2b04-ffe7-49f6-8d85-a1e5d59438cc', traceId: '83155b49-3d84-4896-bb04-5ed5182006e6', smusToolkitEnv: 'local', smusDomainId: 'dzd_bh80g0fbj1h7xl', smusDomainAccountId: '050752642559', smusProjectId: 'c1wqm5rlzb150p', smusConnectionId: 'c1pnab9bdg3qjt', smusConnectionType: 'LAKEHOUSE', smusProjectRegion: 'us-east-2', duration: '2321', result: 'Succeeded', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: false } 2025-09-16 01:24:54.443 [debug] telemetry: smus_renderS3Node { Metadata: { metricId: '74f286b6-1feb-43aa-b15e-4e0919ab272a', traceId: '9db37019-272f-4963-9e9e-1da9d9f9a26e', smusToolkitEnv: 'local', smusDomainId: 'dzd_bh80g0fbj1h7xl', smusDomainAccountId: '050752642559', smusProjectId: 'c1wqm5rlzb150p', smusConnectionId: 'c13ow7arqtblih', smusConnectionType: 'S3', smusProjectRegion: 'us-east-2', duration: '2', result: 'Succeeded', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: false } 2025-09-16 01:25:40.741 [debug] telemetry: smus_openRemoteConnection { Metadata: { metricId: '2f32a489-b013-4f47-951f-04d535bc2761', traceId: '1b90a3dc-f01f-40cc-b0bf-5920b7c6e9cc', smusSpaceKey: 'd-rxs4hhmzrnho__ce', smusDomainRegion: 'us-east-2', smusDomainId: 'dzd_bh80g0fbj1h7xl', smusDomainAccountId: '050752642559', smusProjectId: 'c1wqm5rlzb150p', duration: '18000', result: 'Succeeded', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: false } 2025-09-16 01:26:52.258 [debug] telemetry: smus_stopSpace { Metadata: { metricId: 'b0903fd5-ffb5-4a9a-b131-99baf11cb3a7', traceId: 'c5ec5f41-ae58-46b3-af8e-47c1d8fb737d', smusSpaceKey: 'd-rxs4hhmzrnho__ce', smusDomainRegion: 'us-east-2', smusDomainId: 'dzd_bh80g0fbj1h7xl', smusDomainAccountId: '050752642559', smusProjectId: 'c1wqm5rlzb150p', duration: '2308', result: 'Succeeded', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: false } 2025-09-16 01:27:22.027 [debug] telemetry: smus_signOut { Metadata: { metricId: 'e41138b8-9949-4088-b175-73c4d48110cc', traceId: 'b6a34176-e2a2-47f1-b170-d092488c0d00', parentId: '51f87fa9-fc1c-4351-914b-c0ce077b8f1b', smusDomainId: 'dzd_bh80g0fbj1h7xl', awsRegion: 'us-east-2', smusDomainAccountId: '050752642559', duration: '476', result: 'Succeeded', awsAccount: 'not-set' }, Value: 1, Unit: 'None', Passive: false } ``` --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
) ## Problem Customers complained about missing the old deterministic message. ## Solution As the agent to include this message at the start of its explain response. It was stored in the recommendation.text field. The agent does some paraphrasing, so the deterministic message `We detected that this code sets key specifications more than once, key size more than once, or sets both. To make your code more secure, we recommend that you set either KeySpec or NumberOfBytes once. Do not set both.` Gets turned into `The CWE-327,328,326,208,1240 - Insecure cryptography issue at line 63 in CsvIterator.java occurs because the code sets both KeySpec and NumberOfBytes parameters on the same GenerateDataKeyRequest object, which are mutually exclusive in AWS KMS.` There is more information in the explanation after this, but this is the part related to the deterministic recommendation.text --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. Co-authored-by: Blake Lazarine <[email protected]> Co-authored-by: Laxman Reddy <[email protected]>
…r and added buffer time in cred validation (#8070) ## Problem - IAM credentials is not updating in Sagemaker instances due to incorrect comparison logic which prevents credential refresh and hence users cant interact with Q chat after the initial expiration time - <img width="2513" height="1284" alt="image" src="https://github.com/user-attachments/assets/0dc8d158-00ef-4c86-aff8-7e147a101881" /> ## Solution - Add custom comparator logic and method to properly compare credentials by their actual values (accessKeyId, secretAccessKey, sessionToken) instead of string comparison - Added 60-second expiration buffer to credential validation. similar to SSO token logic [here](https://github.com/aws/aws-toolkit-vscode/blob/c3685274fc4e09e72c98db4c43b7959634bc63b0/packages/core/src/auth/sso/model.ts#L158) for grace-time - Tested by building a debug artefact on a SMUS CodeEditor instance and verified q chat is triggering refresh credentials - ```npm run package && npm run test``` succeeded - https://drive.corp.amazon.com/documents/parameja@/PR-8070/IAM-Credentials-Refresh-Q-Chat.mov --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…Event api (#8080) ## Problem - update aws sdk - sendTelemetryEvent API is missing pluginVersion - sendTelemetryEvent.userTriggerEvent is missing suggestionType ## Solution --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…gger (#8085) … ## Problem previously UTD will be delayed until next service call, which means it doesn't gurantee service team will collect all the datapoints ## Solution --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…or manual trigger 8085 (#8087) This reverts commit 00ffeb3. ## Problem ## Solution --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem The project account id and region was missing from data connection and space action telemetry. ## Solution The project account id and region are added to data connection and space action telemetry. Telemetry for a cross-account example: ``` 2025-09-23 15:42:29.674 [debug] telemetry: smus_login { Metadata: { metricId: 'fdbf85ac-a093-4ab9-ac47-add57a5901cc', traceId: '7ee3db34-3f9b-41b7-aa16-824290fa0719', parentId: '5c66c1e2-09ba-4308-8e28-a47bfc4acdda', smusDomainId: 'dzd_64o7tjjv1cm9gp', awsRegion: 'us-east-2', smusDomainAccountId: '730335272067', duration: '24121', result: 'Succeeded', awsAccount: 'not-set' }, Value: 1, Unit: 'None', Passive: false } 2025-09-23 15:42:32.466 [debug] telemetry: smus_accessProject { Metadata: { metricId: 'cc75867d-cb7c-4392-b7d7-cda1f7ba627c', traceId: '7ee3db34-3f9b-41b7-aa16-824290fa0719', parentId: 'da7fad30-0aee-4f31-8962-00ef50b408b8', smusDomainId: 'dzd_64o7tjjv1cm9gp', smusProjectId: 'cxtwtxb6e3ly95', smusDomainRegion: 'us-east-2', smusDomainAccountId: '730335272067', duration: '3994', result: 'Succeeded', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: false } 2025-09-23 15:42:43.475 [debug] telemetry: smus_renderLakehouseNode { Metadata: { metricId: 'dc09a62e-9f18-45c5-bd8b-c113c6a8c5c9', traceId: '58ea5647-a29a-45dc-9e6c-fb4175a34a6d', smusToolkitEnv: 'local', smusDomainId: 'dzd_64o7tjjv1cm9gp', smusDomainAccountId: '730335272067', smusProjectId: 'cxtwtxb6e3ly95', smusConnectionId: '4r6iscfi0rih0p', smusConnectionType: 'LAKEHOUSE', smusProjectRegion: 'us-east-1', smusProjectAccountId: '976193268201', duration: '965', result: 'Succeeded', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: false } 2025-09-23 15:42:46.623 [debug] telemetry: smus_renderS3Node { Metadata: { metricId: 'be029b31-6111-48f1-8e66-99121dd48484', traceId: 'a3698692-e948-4ec4-881a-17a0443e109d', smusToolkitEnv: 'local', smusDomainId: 'dzd_64o7tjjv1cm9gp', smusDomainAccountId: '730335272067', smusProjectId: 'cxtwtxb6e3ly95', smusConnectionId: '6gy7b7go2jd50p', smusConnectionType: 'S3', smusProjectRegion: 'us-east-1', smusProjectAccountId: '976193268201', duration: '1', result: 'Succeeded', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: false } 2025-09-23 15:43:04.774 [debug] telemetry: smus_openRemoteConnection { Metadata: { metricId: '7f2c4573-b681-4e81-bc34-84509aac1f46', traceId: 'fc5d6674-7042-4634-b7aa-1098aee2b540', smusSpaceKey: 'd-uyehbqjlnjl0__ce', smusDomainRegion: 'us-east-1', smusDomainId: 'dzd_64o7tjjv1cm9gp', smusDomainAccountId: '730335272067', smusProjectId: 'cxtwtxb6e3ly95', smusProjectAccountId: '976193268201', smusProjectRegion: 'us-east-1', duration: '6969', result: 'Succeeded', awsAccount: 'not-set', awsRegion: 'us-east-1' }, Value: 1, Unit: 'None', Passive: false } ``` --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. Co-authored-by: Laxman Reddy <[email protected]>
…r Linux/Ubuntu in web/container env as AL2 (#8073) ## Problem PR: #7270 introduced a bug where the `isAmazonLinux2()` function incorrectly identifies regular Linux/Ubuntu systems in web/container environments as Amazon Linux 2. This happens because: 1. The function checks `os.release()` for `.amzn2.` or `.amzn2int.` patterns 2. In containerized environments (like VS Code web/remote), `os.release()` returns the __host's kernel version__, not the container's OS 3. If the host is Amazon Linux 2 but the container is Ubuntu/Linux, the function incorrectly returns `true` 4. This prevents Amazon Q LSP from starting because it thinks it's on AL2 without the required GLIBC patch ## Solution - __Skip AL2 detection for web environments__ - Returns `false` immediately since web mode runs in a browser - __Check `/etc/os-release` first__ - In containerized environments, this file contains the actual container OS, not the host OS - __Trust container OS over kernel version__ - If `/etc/os-release` shows it's not AL2 (e.g., Ubuntu), return `false` regardless of kernel version - __Fall back to kernel check only when necessary__ - Only use `os.release()` if we can't read `/etc/os-release` or if it confirms AL2 - Prioritized container OS detection over kernel version detection - Maintained backward compatibility for actual AL2 systems - Added comprehensive test coverage for the new scenarios --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…esh credentials in LSP server (#8089)
This merges the released changes for rc-20250925 into main. MCM-135176338 --------- Co-authored-by: aws-toolkit-automation <>
## Problem 1. timestamp used in LSP path is cross-process, which requires a common starting point, so should use epoch based time instead of `peformance.now()` which starts at process starting point. ## Solution 1. replace all `performance.now` with `Date.now()` --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…le (#8099) ## Problem We need to remove the notifcation pop-up for data sharing toggle in Amazon Q settings ## Solution - removed the toggle https://github.com/user-attachments/assets/6a56de02-26a0-4d28-8190-88d238740e22 --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. Co-authored-by: Tai Lai <[email protected]>
## Problem Typo in log statement for Sagemaker Update IAM Credential logic currently prints expiration time ## Solution - Fix typo to show availability of field in credentials - `npm run compile && npm run test` succeeded --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem We removed `/agents` in this PR but the security.scan command was not removed: - #8026 <img width="1206" height="56" alt="Screenshot 2025-09-29 at 10 45 22 AM" src="https://github.com/user-attachments/assets/70db455a-8efe-43f3-94a9-629d094c6d29" /> ## Solution Remove left over code ## Testing Tested and command was removed --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
This merges the released changes for rc-20250929 into main. MCM-135435238 --------- Co-authored-by: aws-toolkit-automation <>
## Problem ## Solution --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem The Toolkit login webview throws an error when calling `setUiReady()` because `loadMetadata` is undefined: ``` [error] webviewId="aws.toolkit.AmazonCommonAuth": Error: Webview error -> Error: Webview backend command failed: "setUiReady()" -> TypeError: Cannot read properties of undefined (reading 'start') ``` This occurs because `supportsLoadTelemetry` defaults to false in the base `VueWebview` class, preventing the initialization of `loadMetadata` during webview setup. Without `loadMetadata`, the webview cannot track load timing or emit load telemetry. ## Solution Added one line to enable load telemetry in `ToolkitLoginWebview`. This flag was originally introduced in [e7b7307](e7b7307) to track Amazon Q webview load times and failures. We're now extending this functionality to the Toolkit login webview for consistent telemetry across both implementations. ### Before fix: <img width="2108" height="1109" alt="before-toolkit-auth-webview-error" src="https://github.com/user-attachments/assets/e53fb12b-6966-45ca-bee5-645e48a09cd4" /> Toolkit login webview error showing loadMetadata undefined. This occurs because `supportsLoadTelemetry` defaults to false in the base `VueWebview` class, preventing the initialization of `loadMetadata` during webview setup. Without `loadMetadata`, the webview cannot track load timing or emit load telemetry. The error happens [here](https://github.com/aws/aws-toolkit-vscode/blob/da8fc990bc50689e043ff1d7cbde3615d2d7571e/packages/core/src/webviews/main.ts#L401) when trying to calculate duration: ```typescript const duration = globals.clock.Date.now() - this.loadMetadata!.start ``` ### After fix: Toolkit login webview successfully loading with duration metrics. <img width="2107" height="1115" alt="after-toolkit-auth-webview-with-load-duration" src="https://github.com/user-attachments/assets/0f9d5bf4-dc5b-49de-a76e-776670ef683d" /> --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…nced payload management (#8068) ## Problem Few UI feedback: - Payload is not intuitive - Open Handler should be a button Inconsistent layer behavior ## UI before <img width="921" height="653" alt="image" src="https://github.com/user-attachments/assets/0d7c2f27-78f6-453d-91fb-02ac00f2b043" /> ## Solution This PR refactors the Lambda Remote Invoke UI to follow VSCode's native design patterns, optimizes the codebase by removing unused components, and enhances the payload management experience with integrated quickpick functionality for remote test events. <img width="857" height="899" alt="image" src="https://github.com/user-attachments/assets/1e446174-8cea-43a6-8ef1-44c1c8008c23" /> Update global layer version to 2 ### 🎨 UI/UX Improvements - __Redesigned Remote Debugging section__ to follow VSCode Settings UI pattern - Title with inline "Remove Debug Setup" button and timer info - Checkbox aligned with description on same line for better visual hierarchy - __Redesigned Local Root Path section__ with VSCode Settings style - Added "Open Handler" button with disabled state and helpful tooltips - Shortened button labels to "Browse" and "Download" for cleaner interface - Enhanced descriptions with bold text to guide user actions - __Completely redesigned Payload section__ - Removed radio buttons for cleaner, unified interface - Added button group: "Load sample event", "Load local file", "Load remote event", "Save as remote event" - Improved textarea with monospace font and better sizing ### 🚀 New Features - __VSCode quickpick integration for remote test events__ - `selectRemoteTestEvent()`: Shows native quickpick for loading saved events - `saveRemoteTestEvent()`: Quickpick with options to create new or overwrite existing events - Input validation for event names - Confirmation dialogs for overwriting existing events - __Enhanced error handling__ - Gracefully handles "lambda-testevent-schemas registry not found" error - Returns empty array instead of throwing when no test events exist - Helpful user messages when no events are found - __Force flag support__ for overwriting existing test events - Added `force` parameter to `SamCliRemoteTestEventsParameters` - Automatically uses `--force` when user confirms overwrite ### --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem - Remote Debugging doesn't auto detect sam build dir as outFile before - Deployed lambda node in appbuilder is very hidden. ## Solution ### 1. App Builder Resource Node Enhancements (`resourceNode.ts`) - **Enhanced icon logic**: Deployed Lambda functions now show a different icon (`aws-lambda-deployed-function`) to indicate deployment status - ** Support Remote Actions**: Deployed Lambda functions now directly support "remote invoke" and "fetch log" functionality. ### 2. Remote Invoke TypeScript Support (`invokeLambda.ts`) - **Added `outFile` property**: Stores the TypeScript output directory for debugging - **Auto-detection of TypeScript build directories**: Automatically populates `outFile` for TypeScript/TSX files when SAM build directory exists - Looks for `.aws-sam/build/{LogicalID}/` directory structure - Enables proper source mapping during debugging - **Added `getOutFile()` method**: Public accessor for the output file path - **Improved file watching logic**: Disabled automatic file watching when coming from App Builder to prevent unnecessary watchers ## Impact - **Improved Developer Experience**: TypeScript developers will benefit from automatic detection of build output directories, making remote debugging setup easier - **Better App Builder Integration**: The new `generateLambdaNodeFromResource` function enables seamless conversion between App Builder resources and Lambda nodes - **Enhanced Visual Feedback**: Users can now distinguish between deployed and non-deployed Lambda functions in the explorer ## Screenshots/Examples <img width="938" height="756" alt="image" src="https://github.com/user-attachments/assets/15963000-a270-40a1-b618-cfc1c8698485" /> When outFiles are not set in CDK/SAM projects with TS debug For CDK ``` 2025-09-24 17:36:58.567 [info] Starting debugger for arn:aws:lambda:us-west-2:account:function:TriageFn 2025-09-24 17:36:58.685 [info] Creating secure tunnel... 2025-09-24 17:36:58.886 [info] Configuring Lambda function for debugging... 2025-09-24 17:36:58.940 [info] CDK outFile auto-detected from template.json: /Users/user/proj/test/cdk-test/cdk.out/asset.728566f9cc2388f3c89a024fd2e887b4d82715454a0fc478f57d7d034364fdd5 2025-09-24 17:36:58.940 [info] outFile auto-detected: /Users/user/proj/test/cdk-test/cdk.out/asset.728566f9cc2388f3c89a024fd2e887b4d82715454a0fc478f57d7d034364fdd5 ``` For SAM ``` 2025-09-24 17:40:03.597 [info] Creating secure tunnel... 2025-09-24 17:40:03.776 [info] Configuring Lambda function for debugging... 2025-09-24 17:40:03.777 [info] SAM outFile auto-detected: /Users/user/proj/test/test-remote-debug/.aws-sam/build/TestFunction 2025-09-24 17:40:03.777 [info] outFile auto-detected: /Users/user/proj/test/test-remote-debug/.aws-sam/build/TestFunction ``` --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
This merges the released changes for rc-20251002 into main. MCM-135637957 - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: aws-toolkit-automation <>
ci: Add automated license scanning for third-party dependencies
## Problem When users provide a YAML config file, we were not validating the contents of it very strictly. ## Solution Improve validation logic to be more strict so that invalid YAML files are rejected client-side with a relevant error message. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: David Hasani <[email protected]>
#8141) ## Problem Both completion suggestions (ghost text) and edit suggestions (diff view) could appear simultaneously due to a race condition. The EditSuggestionState flag was set too late in the edit display flow, allowing completion requests to check the state, see it as false, and proceed even while an edit was being displayed. ## Solution Fixed the race condition by setting the edit state immediately at the start of displaySvgDecoration() before any async operations: * Set EditSuggestionState to true at the beginning of the edit flow * Add state cleanup when edit cannot be shown (completion already active or invalid patch) * Avoid calling clearDecorations() in displayEditSuggestion() to prevent premature state reset * Check EditSuggestionState before making completion requests in recommendationService.ts. This ensures only one suggestion type is displayed at a time with proper mutual exclusion. --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…tion (#8124) ## Problem ## Solution --- - Treat all work as PUBLIC. Private `feature/x` branches will not be squash-merged at release time. - Your code changes must meet the guidelines in [CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines). - License: I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: Boyu <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Automatic merge failed
Command line hint
To perform the merge from the command line, you could do something like the following (where "origin" is the name of the remote in your local git repo):