-
Notifications
You must be signed in to change notification settings - Fork 730
Merge master into feature/stepfunctions-execution #7549
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
Merged
606 commits merged into
feature/stepfunctions-execution
from
autoMerge/feature/stepfunctions-execution
Oct 6, 2025
Merged
Merge master into feature/stepfunctions-execution #7549
606 commits merged into
feature/stepfunctions-execution
from
autoMerge/feature/stepfunctions-execution
Oct 6, 2025
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
|
chungjac
pushed a commit
that referenced
this pull request
Jul 2, 2025
## Problem Merge conflict: #7549 ## Solution Fixing Merge Conflicts --- - 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: samgst-amazon <[email protected]> Co-authored-by: Diler Zaza <[email protected]> Co-authored-by: David <[email protected]> Co-authored-by: David Hasani <[email protected]> Co-authored-by: Ashish Reddy Podduturi <[email protected]> Co-authored-by: invictus <[email protected]> Co-authored-by: aws-toolkit-automation <> Co-authored-by: Tyrone Smith <[email protected]> Co-authored-by: tsmithsz <[email protected]> Co-authored-by: zelzhou <[email protected]> Co-authored-by: Ralph Flora <[email protected]>
## Problem - There is lot of duplicate and unwanted redundant code in [aws-toolkit-vscode](https://github.com/aws/aws-toolkit-vscode) repository. ## Solution - This is the first PR to remove unwanted code. --- - 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.
…e highlightedRanges
## Problem Added another code setting for show logs. ## Solution Added another code setting for show logs. --- - 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.
… all users no matter it's shown or not (#7722) … ## Problem by design, the code path should only be applied to "new" users, however currently it's taking 250ms for all users no matter the UI is displayed or not. <img width="843" height="264" alt="image" src="https://github.com/user-attachments/assets/1d70bb30-a7c6-4f71-b65b-e1d171c85b9d" /> ## 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.
…de (#7759) ## Problem When a paginated response is in flight, but the user already accepted or rejected a completion, the subsequent paginated requests should be cancelled. This PR also fixes the `codewhispererTotalShownTime` being negative issue by using performance.now() across all timestamp computation. ## Solution This is not a user facing change. --- - 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.
…2178) ## Problem Need view notebook job definitions page ## Solution - Create view notebook job definitions page. It uses table for rendering job definitions, and has actions for start/pause/delete. Page is rendered with mock data - Add logic that after creating job, show view jobs page with new job created banner - Add logic that after creating job definition, show view job definitions page with new job definition created banner - Create TkTable component for rendering table - Create TkBanner for showing banner - Create icons for start, pause, delete --- #### View job definitions page <img width="1301" height="1108" alt="Screenshot 2025-07-24 at 1 51 17 PM" src="https://github.com/user-attachments/assets/fddae9dc-2a71-4f63-862d-d6340dd89577" /> #### New job definition created banner <img width="1293" height="373" alt="Screenshot 2025-07-24 at 1 52 58 PM" src="https://github.com/user-attachments/assets/cfe54290-8290-4b8d-9a7a-6479601e1e0e" /> #### New job definition created banner <img width="1297" height="386" alt="Screenshot 2025-07-24 at 1 53 48 PM" src="https://github.com/user-attachments/assets/185bed4f-108e-4d06-a14d-e7063082ec8a" /> - 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 1. when intelliSense suggestion is surfaced, inline completion are not shown even if provideInlineCompletionItems have returned valid items. 2. provideInlineCompletionItems is unnecessarily debounced at 200ms which creates a user perceivable delay for inline completion UX. We already blocked concurrent API call. 3. The items returned by provideInlineCompletionItems, even though they match the typeahead of the user's current editor (they can be presented), sometimes VS Code decides to not show them to avoid interrupting user's typing flow. This not show suggestion decision is not emitted as API callback or events, causing us to report the suggestion as Rejected but it should be Discard. ## Solution 1. Force the item to render by calling `editor.action.inlineSuggest.trigger` command. <img width="589" height="374" alt="Screenshot 2025-07-24 at 7 45 12 PM" src="https://github.com/user-attachments/assets/f2723ab4-1d94-49e6-bae1-493c2af16bed" /> 3. Remove the debounce 5. Use a specific command with when clause context to detect if a suggestion is shown or not. --- - 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 - There is lot of duplicate and unwanted redundant code in [aws-toolkit-vscode](https://github.com/aws/aws-toolkit-vscode) repository. ## Solution - This is the 2nd PR to remove unwanted code. - Here is the 1st PR: #7735 --- - 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.
feat(smus): Enhance project switching functionality
## Github Issue #6902 ## Problem AWS Toolkit version 3.47.0 introduced a regression where profiles using `source_profile` for role chaining fail to authenticate when the source profile uses SSO credentials. Users get an "InvalidClientTokenId: The security token included in the request is invalid" error. ## Root Cause The issue was introduced in commit 6f6a8c2 (Feb 13, 2025) which refactored the authentication code to remove deprecated AWS SDK dependencies. The new implementation in `makeSharedIniFileCredentialsProvider` method incorrectly assumed that the source profile would have static credentials (aws_access_key_id and aws_secret_access_key) directly in the profile data. When the source profile uses SSO, these static credentials don't exist in the profile data - they need to be obtained by calling the SSO service first. ## Solution The fix modifies the `makeSharedIniFileCredentialsProvider` method in `packages/core/src/auth/providers/sharedCredentialsProvider.ts` to: 1. Check if the source profile already has resolved credentials (from `patchSourceCredentials`) 2. If not, create a new `SharedCredentialsProvider` instance for the source profile and resolve its credentials dynamically 3. Use those resolved credentials to assume the role via STS This ensures that SSO profiles can be used as source profiles for role assumption. ## Changed Files - `packages/core/src/auth/providers/sharedCredentialsProvider.ts` - Fixed the credential resolution logic - `packages/core/src/test/auth/providers/sharedCredentialsProvider.roleChaining.test.ts` - Added tests to verify the fix ## Testing The fix includes unit tests that verify: 1. Role chaining from SSO profiles works correctly 2. Role chaining from SSO profiles with MFA works correctly ## Configuration Example This fix enables configurations like: ```ini [sso-session aws1_session] sso_start_url = https://example.awsapps.com/start sso_region = us-east-1 sso_registration_scopes = sso:account:access [profile Landing] sso_session = aws1_session sso_account_id = 111111111111 sso_role_name = Landing region = us-east-1 [profile dev] region = us-east-1 role_arn = arn:aws:iam::123456789012:role/dev source_profile = Landing ``` Where `dev` profile assumes a role using credentials from the SSO-based `Landing` profile. --- - 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.
Normicrypto
approved these changes
Sep 20, 2025
…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]>
9a7cd5b
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):