-
Notifications
You must be signed in to change notification settings - Fork 733
Merge master into feature/cwltail #5889
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
Merged
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 install checker is not iterating through list of possible locations. Wrong status message Docker installer check will always fail -> - Fails on windows becasue docker need to restart to be valid - Fails on Mac for the installer will exit once the installer GUI popup. ## Solution fix install checker remove checking on docker install
## Problem 1: fix template.yaml exist prompt not exiting correctly 2: fix project name in Appbuilder 3: Open readme by defualt when init project ## Solution
## Problem when doing the local invoke icon, the “invoke and debug configuration” page is open, but payload doesn’t have anything preselected. Probably “inline” should be preselected ## Solution pass check parameter to the input element
## Problem when doing the local invoke icon, the “invoke and debug configuration” page is open, but payload doesn’t have anything preselected. Probably “inline” should be preselected ## Solution pass check parameter to the input element
…1704) ## Problem Add metrics for OpenTemplate and OpenHandler ## Solution
## Problem Remote invoke webview header is undefined ## Solution Update remote invoke webview header to should name of function instead of undefined
… in the Config (#1709) ## Problem I wanted to add the region to my samconfig, and I mistakenly didn’t add quotes to the region name. That caused that when I refreshed the app builder, I got an error message saying “Unable to load Resource tree for this App. Update IaC template”. Which is not correct, since the problem was in my samconfig and not on the IaC template ## Solution fix how the app builder handles exception
…1711) Use info Icon for all resources with no icon
## Problem In the remote invoke webview the resource arn was getting overlaped with the region. ## Solution Have corrected the formatting so that if there's a long arn it could be seen by scrolling and does not overflow to the next line
## Problem add build unit tests ## Solution
## Problem Support template parameters ## Solution
…me` (#1699) ## Problem The list of remote test events were not getting displayed because the function was asking for stackName, which was not getting passed. Changed the dependency from `stackName` to `functionArn` to make the API call to get the list of remote test event. ## Solution
…invoke (#1712) ## Problem This PR addresses the handling of parameters required for invoking remote test events. To invoke a remote test-events it needs either: 1. `FunctionArn`, or 2. `StackName` and `LogicalId`. Different entry points provide different sets of parameters: 1. From the "Application Builder" explorer, both `StackName` and `LogicalId` are available. 2. From the "AWS" explorer, `FunctionArn` is available. Since both entry points utilize the same function, we need to ensure that all three parameters (StackName, LogicalId, and FunctionArn) are passed to the function to accommodate both entry points effectively. ## Solution This PR adds all three properties to pass to the main function and all other respective places that leads to the main function.
## Problem Added unit tests for searching CloudWatch logs attached to a Lambda function ## Solution
…#1720) ## Problem String updates needed from doc writer. I updated some instances of "Application Composer" to "Infrastructure Composer" where it was in the AppBuilder section but didn't touch it in other places as I am not sure if Toolkit has a plan to update it exactly when the name switch happens. ## Solution
## Problem "invoke local" option is hidden in the menu called “edit sam debug configuration” which is kinda unintuitive ## Solution Change was 'Edit SAM Debug Configuration' to 'Local Invoke and Debug Configuration'
…sed on template.yaml (#1727) ## Problem When running deploy command, SAM Deploy will always try to locate the template.yaml file in {WorkspaceURI/template.yaml}. But it should be {ProjectRoot/template.yaml} since customer may have a work space set up to have multiple project in the same work space The build and deploy action should be able to find the correct root folder path based on template file. ## Solution 1. create a helper function that search within the workspace for root folder(s) path that contain template.yaml 2. update the `workspaceFolderPrompter()` with options from all root folder(s) in the workspace 3. For "Deploy" command was invoked on a template.yaml file entry point, set `projectRoot` to the location of the selected template; remove user prompt for workspace folder
… Invoke (#1731) ## Problem Improve the naming ux for function name in remote invoke ## Solution
…rrect local invoke string (#1737) ## Problem Update Local Invoke Webview name to correct local invoke string ## Solution
## Problem The PR make changes to the button's color and the class used to define the button properties. Earlier the class and its properties were defined by us but now we use vs-code's predefined properties for primary and secondary buttons. ## Solution The new UX for Remote Invoke webview looks as shown in the images below: <img width="796" alt="Screenshot 2024-09-18 at 1 40 05 PM" src="https://github.com/user-attachments/assets/14e08804-cbee-4e02-93ef-c29594d6843a"> <img width="802" alt="Screenshot 2024-09-18 at 1 40 14 PM" src="https://github.com/user-attachments/assets/c9370372-9ffa-48e2-bb2c-bae9eead2ccf"> <img width="827" alt="Screenshot 2024-09-18 at 1 40 23 PM" src="https://github.com/user-attachments/assets/372c4c83-8886-427a-974e-60a6f2c4ea88">
## Problem The PR make changes to the button's color and the class used to define the button properties. Earlier the class and its properties were defined by us but now we use vs-code's predefined properties for primary and secondary buttons. ## Solution The new UX for Local Invoke webview looks as shown in the images below: <img width="874" alt="Screenshot 2024-09-18 at 1 28 43 PM" src="https://github.com/user-attachments/assets/c6314164-ab46-47af-b7cc-0044ed427939"> <img width="875" alt="Screenshot 2024-09-18 at 1 28 59 PM" src="https://github.com/user-attachments/assets/8cb12d89-9937-4aa3-bada-10a4b51be726"> <img width="872" alt="Screenshot 2024-09-18 at 1 29 11 PM" src="https://github.com/user-attachments/assets/17566c20-aa35-4d06-9e7d-93ba0fcde9f3">
## Problem (drag and drop pattern for sqs→lambda - any runtime) Sidebar failed to parse my template got below ``` errornotificationsAlerts.ts:40 Error: Element with id file:///Volumes/workplace/visualbuilderbugbash/template.yaml/MyQueue2 is already registered at i.db (vscode-file://vscode-app/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:156:48720) at vscode-file://vscode-app/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:156:47553 at Array.map (<anonymous>) at i.Y (vscode-file://vscode-app/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:156:47535) at async i.getChildren (vscode-file://vscode-app/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:156:43694) ``` ## Solution For Events, only show Api and HttpApi as resource Do not register the event again if the event is already registered as a resource
…al configuration section (#1732) New local invoke webView for the General configuration section
…ontent (#1729) ## Problem Local invoke - When specifying a file, the textarea is still editable but it should be read-only. ## Solution The intention is that the file is modified elsewhere because the editing experience is more rich. This also helps avoid accidential event modification if customers think the payload is stored in their file, but currently we're just copying the contents into the textarea.
## Problem To Address a long waited Justin's comment aws/aws-toolkit-vscode-staging#1665 (comment) > Code for appBuilder doesn't belong in shared, it belongs in packages/core/src/awsService/appBuilder/. > Please rename .../applicationBuilder/ to .../appBuilder/ in any case. ## Solution Moving our code from `packages/core/src/shared/applicationBuilder` to `packages/core/src/awsService/appBuilder` Porting our activation code from `packages/core/src/awsexplorer/activation.ts` to `packages/core/src/test/awsService/appBuilder/activation.ts` # Remaining Changes There is an upcoming change which will remove the outside dependency for the following 4 classes in AppBuilder. And other service class like Cloudformation/AppComposer/Cloudwatch will only reference to the classes defined in the Shared. ``` ../appBuilder/explorer/nodes/deployedNode '../awsService/appBuilder/explorer/nodes/deployedNode' '../awsService/appBuilder/explorer/nodes/resourceNode' '../../awsService/appBuilder/explorer/samProject' ```
Allow users to View and Apply diff when they explictily send code to Amazon Q using - Fix, Refactor, Optimize and Send To Prompt. Notes: - Releasing it all customers - The View and Apply diff is only retained for first response after Fix, Refactor, Optimize and Send To Prompt, and NOT for followup chats. - `featureConfig` is the setup for A/B experiments and`Ignored` by `tslint` because, - currently View Diff and Apply Diff are the only feature that uses these. - If the changes are reverted the next time any team wants to use it, they will have to rewire the A/B experiments setup again.
## Problem QCT wants to support converting embedded SQL in Java apps. ## Solution Allow users to start a transformation for SQL conversions. --- <!--- REMINDER: Ensure that your PR meets the guidelines in CONTRIBUTING.md --> License: I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: David Hasani <[email protected]>
### Goal: We want notifications to do things when they are clicked on in the [panel](https://taskei.amazon.dev/tasks/IDE-14932) or are received by the IDE. These actions will must be able to be specified by the notifications [JSON schema ](https://quip-amazon.com/nmB0AxFXuK3i/In-IDE-Notifications#temp:C:EMZ18c352ef42a546ebbe0f9e7c4). We can update the JSON schema to handle certain actions if necessary. 1. Once received by the IDE, notifications should display a toast notification. This toast notification should automatically be displayed only once. - We can track this in global state (see NotificationsController) - This toast may shown a truncated form of the full notification text (description in the schema). This truncation can be automatic or provided by a new schema key, e.g. descriptionPreview. - There should be an option to instead display this as a blocking modal, for extreme circumstances only. - This toast notification will not include any buttons, 2. Clicking on the notification in the side panel will do 1 of 3 things: - Open a url link - Open a new text document with contents of description - Open a blocking modal with contents of description and buttons - The modal can display buttons, e.g. 'update and reload', 'open external link', 'open in new text window', that perform different functions respectively ### Results: > Pop up toast notification on receiving a new notification  > Blocking pop up modal with options to restart and reload  > Open URL link  > Side view pop up read-only txt document  --- <!--- REMINDER: Ensure that your PR meets the guidelines in CONTRIBUTING.md --> License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem This is a PR to upgrade LSP to 0.1.24, this LSP contains new APIs for unit test generation. ## Solution --- <!--- REMINDER: Ensure that your PR meets the guidelines in CONTRIBUTING.md --> License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
…fig.toml #5913 ## Problem When customer choose use flag information from `samconfig.toml` for sync and deploy operations, we assume that all the needed parameters will be available in the `samconfig.toml`. Only `--config-file <samconfig file path>` is passed to SAM CLI. We skip many prompters in such scenario reduce clicking. Yet, we also need to skip prompter for `ecrRepoUri` and `syncFlag` in sync wizard. ## Solution Add condition to skip these prompter when flag information from `samconfig.toml` is used.
## Problem Explicitly specifying template path in sam deploy command to point to the build artifact folder makes SAM CLI create/update `samconfig.toml` in the build artifact folder rather than updating the `samconfig.toml` file in project root folder. ## Solution Remove the `--template-path` from deploy flag. SAM will determine the template in the project folder and write to correct samconfig file
… sends in chat (#5898) ## Problem - The examples text shows "How can Amazon Q help me?" but when you click on it it shows "What can Amazon Q help me with?" in chat. This is confusing to users ## Solution - Align both the example help text and the prompt message in chat as "How can Amazon Q help me?" ## Alternative solution - Align them with "What can Amazon Q help me with?" instead
## Problem We have no documentation showing what latencies we are measuring for amazon q chat ## Solution Add documentation
…5924) ## Problem Recently noticed an issue where language upgrade transformations fail when our `manifest.json` includes this new key which was added for SQL conversions (unreleased feature). ## Solution Use a default of `undefined` for `requestedConversions`, so that it does not appear in the `manifest.json`, and only add it to the `manifest.json` when the user is doing a SQL conversion, as this key is only used for SQL conversions. --- <!--- REMINDER: Ensure that your PR meets the guidelines in CONTRIBUTING.md --> License: I confirm that my contribution is made under the terms of the Apache 2.0 license. --------- Co-authored-by: David Hasani <[email protected]>
…-dev-server (#5923) --- <!--- REMINDER: Ensure that your PR meets the guidelines in CONTRIBUTING.md --> License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem There's nothing in this file ## Solution Remove it
## Problem When resources are provisioned and controlled through a SAM template, customers should never modify resources directly as this such action would create drift in the CFN template. ## Solution Removed action to delete a Lambda or S3 bucket in the AppBuilder section
…#5878) ## Problem contributors often use `JSON.stringify` to get a printable form of an object in log messages, but this is hard for humans to read. ## Solution Implement a custom eslint rule that checks for instances of `JSON.stringify` inside of a logging statement. The implementation involves a few heuristics for catching edge cases that are explained in the comments. In addition to implementing the lint rule, existing cases are migrated to use `%O` string substitution. Within the lint message, we mention the depth limit. There is a workaround this depth limit by manually converting it to a string first with `util.format`: https://stackoverflow.com/questions/10729276/how-can-i-get-the-full-object-in-node-jss-console-log-rather-than-object, but seems rather involved, and uncommon enough to leave out of suggestion message. --- <!--- REMINDER: Ensure that your PR meets the guidelines in CONTRIBUTING.md --> License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem Follow up to: #5833 A static threshold is useful, but if the threshold fails, we want to be able to see what the new duplicated code is. ## Solution Run `jscpd` on the current branch, and if it is above the set threshold, we fail (same as before). Now, we also filter the resulting report to contain only clones from the files changed with respect to the base branch. Then, if the filtered report is non-empty, i.e. one of the changed files has a clone, fail and display the clones in CI. Adding this extra step allows us to know when we are adding a clone that was not otherwise in the codebase. It also allows us to see this clone in CI, before the PR is merged, giving the developer a chance to remove it. As an example, see commit (a8e4860) where a copy-pasted function is added, and notice that CI fails and displays only the section of the report relevant to this clone. Then, once we remove this work in the following commit (53d3973), the check passes. Included in this PR, is that it runs only on `pull_request` and no longer on `push`. ## Notes - In developing this, it became apparent that `jscpd` is not perfect and was not able to detect the clone added in (e7357c0). Will need to dig deeper into their algorithm (based on https://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm) and implementation (https://github.com/kucherenko/jscpdto) to understand why this is missed, and if it presents a larger problem. - Also, if a clone already exists in a file that is changed in the PR, this check will fail. In this case, the options are to ignore the check, mark the case as an exception, or fix the clone. To encourage developers to not repeatedly ignore the check, we still employ a static threshold via #5833. - If the branch hasn't been rebased up to date, it can pick up clones from unrelated changes. ## Future Work - We want to lower the threshold as much as possible by removing duplicates and marking exceptions when necessary. - More experience using this tool will help us find a `minLines` argument that provides the desired sensitivity. This argument allows us to ignore clones under `minLines` in length. Right now it is 3, which is likely too granular, but better to start there and loosen as needed. - Right now the CI output of the clones is very verbose. Digging through this could be time consuming, especially when many clones are added. Could be worth filtering it to provide a more ergonomic experience.
## Problem The current pattern will not catch the script files because they are nested beyond one directory deep. ## Solution change it to `**/script/**`.
## Problem When multiple IDE instances are opened at the same time, the `@workspace ` indexing can increase CPU usage to a point that system fan needs to engage. IDE can be slow if it is older devices like intel i5 or i7 Mac OS. ## Solution When multiple IDE instances are opened at the same time, the `@workspace` indexing can increase CPU usage to a point that system fan needs to engage. IDE can be slow if it is older devices like intel i5 or i7 Mac OS. This PR is to improve indexing auto start-stop strategy, detect CPU usage more frequently and pause indexing more aggressively whenever system total CPU usage goes up. In the mean time, further reduce CPU usage for old Intel i5, i7 devices, make sure one IDE instance at most utilize one physical core and all instance combined cannot exceed 1 for any extended period of time more than a few seconds, unless user explicit allows more CPU usage in settings. Other mechanisms are implemented to stop indexing if system available memory is small.
…5931) Create an abstract class that can be used by all connectors. --- License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
- Gated behind dev setting (`aws.dev.notifications`) - Setup the notifications panel and begin polling in each of the extensions. - Currently the code collects a bunch of information about the state of auth for telemetry (auth_userState). Refactor this code in each extension so that we can re-use that information for the notification rule engine. - Change emitting auth_userState to node only for amazonq, since notifications is node-only. Decided to punt this work for web because spending effort to make it web-compatible may be in vain if the design of web metrics is different. --- <!--- REMINDER: Ensure that your PR meets the guidelines in CONTRIBUTING.md --> License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
## Problem Auto scan and security issue components are not enabled for some languages available in code scan service. ## Solution Add support for new languages for code scan. --- License: I confirm that my contribution is made under the terms of the Apache 2.0 license.
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):