Skip to content

Conversation

aws-toolkit-automation
Copy link
Collaborator

Automatic merge failed

  • Resolve conflicts and push to this PR branch.
  • Do not squash-merge this PR. Use the "Create a merge commit" option to do a regular merge.

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):

git stash
git fetch --all
git checkout origin/feature/ui-e2e-tests
git merge origin/master
git commit
git push origin HEAD:refs/heads/autoMerge/feature/ui-e2e-tests

aws-toolkit-automation and others added 30 commits July 17, 2025 02:57
## 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]>
laileni-aws and others added 30 commits September 15, 2025 17:12
## 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.
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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.