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/dev-execution
git merge origin/main
git commit
git push origin HEAD:refs/heads/autoMerge/feature/dev-execution

Add `Dockerfile`, `Dockerfile.build` and `*.dockerfile` to list of supported file extensions for /dev
@aws-toolkit-automation aws-toolkit-automation requested a review from a team as a code owner November 26, 2024 19:44
* enable implicit project context ab test

* patch
@aws-toolkit-automation aws-toolkit-automation requested a review from a team as a code owner November 26, 2024 20:19
@aws-toolkit-automation aws-toolkit-automation requested a review from a team as a code owner November 26, 2024 20:48
The agent may generate files with or without a leading slash in the generated file path. In JetBrains, this results in an exception thrown when attempting to write to the root directory on MacOS. (Various other failure modes may occur due to lack of normalization, depending on OS.)

This change normalized handling within /dev, to avoid breakage or other side effects of non-normalized file paths.
@aws-toolkit-automation aws-toolkit-automation requested a review from a team as a code owner November 26, 2024 21:14
leigaol and others added 6 commits November 26, 2024 13:17
…indings (#5133)

When you select - Map Key bindings from Q's status bar - It takes you to a settings panel with setting to change "JB's Inline Suggestion". You must select Q's settings & then update.

This is to update the search text to Amazon Q inline suggestion to avoid confusion with JB's keybindings
* Add framework for processing notifications (#5112)

* Add deserialization for notification messages retrieved from the notification file and criteria on whether it should be displayed (#5093)

* Display toast notifications with actions

* Condition matcher for displaying notifications

* Modified deserialization cases and added tests

* not required file change

* feedback 1

* modified the base class

* modified test instance lifecycle

* Show toasts for notifications and notification banner on critical notifications(#5097)

* Display toast notifications with actions

* Condition matcher for displaying notifications

* Show notification banner

* feedback 1

* Modified deserialization cases and added tests

* not required file change

* feedback 1

* feedback 1

* modified the base class

* merge conflicts resolved

* rearranged call site

* show notifications when panel is opened

* fixed tests

* detekt

* feedback

* convert panels into wrappers

* fixed test

* Adding update/restart action to notifications (#5136)

* Poll for new notifications (#5119)

* initial commit

* run on startup

* detekt

* move vals

* remote resource implementation

* comments

* detekt

* Validate file before saving

* cache path

* observer implementation

* deserialize notifs from file

* detekt

* remove unused interface

* internal class

* Fix observer

* etag singleton state component

* add telemetry

* atomicBoolean

* initialize once per IDE startup

* code scan

* Omit (Unit)

* specify etag storage location

* detekt

* fix detekt issues

* basic tests

* no star imports

* coroutine scope delay instead of thread.sleep

* feedback fixes

* test fix

* Application Exists for tests

* endpoint object

* detekt

* detekt fixes

* boolean flag

* boolean flag

* update tests

* move startup flag handling to processBase

* fix delay

* fix delay

* Notification dismissal state tracking  (#5129)

* split notifications into separated lists.

* add persistent notification dismissal state logic

* boolean changes

* group persistant states

* comments

* Service initialized automatically

* isStartup global

* Deserialized notification schedule type

* tests

* persistent state syntax

* convert to light services

* Remove state from companion object

* detekt

* endpoint as registryKey

* detekt

* fix startup issues

* Expiry issues

* Add logging info to IDE notification polling and processing (#5138)

* add logs for polling and processing notifs

* redundant

* finish log

* fix isFirstPoll not setting to false on first pass

---------

Co-authored-by: aws-toolkit-automation <[email protected]>
Co-authored-by: manodnyab <[email protected]>
Co-authored-by: Bryce Ito <[email protected]>
* Add framework for processing notifications (#5112)

* Add deserialization for notification messages retrieved from the notification file and criteria on whether it should be displayed (#5093)

* Display toast notifications with actions

* Condition matcher for displaying notifications

* Modified deserialization cases and added tests

* not required file change

* feedback 1

* modified the base class

* modified test instance lifecycle

* Show toasts for notifications and notification banner on critical notifications(#5097)

* Display toast notifications with actions

* Condition matcher for displaying notifications

* Show notification banner

* feedback 1

* Modified deserialization cases and added tests

* not required file change

* feedback 1

* feedback 1

* modified the base class

* merge conflicts resolved

* rearranged call site

* show notifications when panel is opened

* fixed tests

* detekt

* feedback

* convert panels into wrappers

* fixed test

* Adding update/restart action to notifications (#5136)

* Poll for new notifications (#5119)

* initial commit

* run on startup

* detekt

* move vals

* remote resource implementation

* comments

* detekt

* Validate file before saving

* cache path

* observer implementation

* deserialize notifs from file

* detekt

* remove unused interface

* internal class

* Fix observer

* etag singleton state component

* add telemetry

* atomicBoolean

* initialize once per IDE startup

* code scan

* Omit (Unit)

* specify etag storage location

* detekt

* fix detekt issues

* basic tests

* no star imports

* coroutine scope delay instead of thread.sleep

* feedback fixes

* test fix

* Application Exists for tests

* endpoint object

* detekt

* detekt fixes

* boolean flag

* boolean flag

* update tests

* move startup flag handling to processBase

* fix delay

* fix delay

* Notification dismissal state tracking  (#5129)

* split notifications into separated lists.

* add persistent notification dismissal state logic

* boolean changes

* group persistant states

* comments

* Service initialized automatically

* isStartup global

* Deserialized notification schedule type

* tests

* persistent state syntax

* convert to light services

* Remove state from companion object

* detekt

* endpoint as registryKey

* detekt

* fix startup issues

* Expiry issues

* Add logging info to IDE notification polling and processing (#5138)

* add logs for polling and processing notifs

* redundant

* finish log

* show message instead of yesNoDialogue

* initialize ProcessNotificationsBase listener before Polling service

* fix isFirstPoll not setting to false on first pass

---------

Co-authored-by: aws-toolkit-automation <[email protected]>
Co-authored-by: manodnyab <[email protected]>
Co-authored-by: Bryce Ito <[email protected]>
@aws-toolkit-automation aws-toolkit-automation requested a review from a team as a code owner December 3, 2024 14:18
samgst-amazon and others added 15 commits December 3, 2024 07:50
Co-authored-by: Andrew Yu <[email protected]>
Co-authored-by: Ashish Podduturi <[email protected]>
Co-authored-by: Bodie Weedop <[email protected]>
Co-authored-by: C Tidd <[email protected]>
Co-authored-by: Grant G <[email protected]>
Co-authored-by: Kevin Ding <[email protected]>
Co-authored-by: Laxman Reddy <[email protected]>
Co-authored-by: Matt Lee <[email protected]>
Co-authored-by: Matthew McDonald <[email protected]>
Co-authored-by: Randall Jiang <[email protected]>
Co-authored-by: Richard Li <[email protected]>
Co-authored-by: Tai Lai <[email protected]>
Co-authored-by: Zoe Lin <[email protected]>
Cherry-pick approved changes from staging
Randall-Jiang and others added 6 commits January 15, 2025 19:40
…ith LinesGenerated and CharsGenerated (#5254)

* lint

* fix the issue about the discrepancy between  NumOfUnitTestCasesGenerated with LinesGenerated and CharsGenerated

* fix format issue

* remove print command
* telemetry(amazonq): invalid zip event

* check windows path
* telemetry: fix the unknown language issue

* telemetry fix the unknown language issue and remove the wrong print
* fix(amazonq): zip entry contains invalid characters

* refactor
andrewyuq and others added 19 commits January 17, 2025 13:28
…owing NotAMockException (#5258)

## Description
<!--- Describe your changes in detail -->
<!--- If appropriate, providing screenshots will help us review your contribution -->
<!--- If there is a related issue, please provide a link here -->
Now there are 2 ways to use NoOpTelemetryService
1. if devs are not interested in validating the metric contents, don't need do anything as default test implementation is NoOpTelemetryService
2. if devs are interested in the metric contents, can use `MockTelemetryServiceExtension` which will inject a spy of batcher and replace the original test implementation in junit before hook and revert it in after hook so that you can use ArgumentCaptor to capture what's going through the batcher


Relevant #5207 

### root cause:
Originally by doing `class NoOpTelemetryService : TelemetryService(publisher, spy(DefaultTelemetryBatcher(publisher))) {`, it's not 100% guaranteed that the TelemetryBatcher passed in is a mockito spy, and it result in `NotAMockException` thrown from these cases.

### solution
Manually inject spy batcher separately in a different step instead of IDE doing the work when initializing app/project service components---------

Co-authored-by: Richard Li <[email protected]>
…tion counts (#5271)

* test(amazonq): update tests for messages at different remaining iteration counts

* test(amazonq): update tests for messages at different remaining iteration counts
… and fix for /test query for non-supported languages. (#5261)
* fix(amazonq): check job status directly before completing

* address comment

---------

Co-authored-by: David Hasani <[email protected]>
With the release of many Q features(Inline Suggestion, chat, inline chat, /dev, /test, /doc, /review, /transform), we need to know the % code written by all Q features. This requires calculating and reporting the user written code. The reporting of the code contribution of each Q features was already implemented.

% Code Written by Q = Code Written by Q / ( Code Written by Q + Code Written by User)

Ref: aws/aws-toolkit-vscode#5991

Calculate and report the user written code for each language by listening to document change events while Q is not making changes to the editor.

We add flags to know whether Q is making temporary changes for suggestion rendering or Q suggestion is accepted, by doing so, the document change events are coming from the user.

We ignore certain document changes when their length of new characters exceeds 50. Previous data driven research has shown that user tend to copy a huge file from one place to another, making the user written code count skyrocketing but that is actually some existing code not written by the user.

We plan to first collect data from IDEs and let it run in the background in shadow mode before we finish the service side aggregation, fix possible bugs and eventually present the AI code written % to the customers.
- Bumped MynahUI to version 4.21.5 from 4.21.2. This includes four bug fixes and one feature, as described by the changelog additions and by the [MynahUI release notes](https://github.com/aws/mynah-ui/releases).

- Updated the `/help` command output to include the new re:invent 2024 features. Copied from the [VSCode toolkit repo's constant](https://github.com/aws/aws-toolkit-jetbrains/blob/770f2a27e0c8f59dd4229b67e3a861a590a0d33d/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/StaticTextResponse.kt#L31).
The intValue and StringValue used by the state class were missing the
@get:Property tag that the value property had, which meant they were not being properly serialized in the xml file.

Adding the annotation tag to the other properties allows for serialization of these values on IDE exit.
@neilk-aws neilk-aws force-pushed the autoMerge/feature/dev-execution branch from cc5e50f to a0ed5fe Compare January 23, 2025 07:13
@rli rli merged commit 7d8aa84 into feature/dev-execution Jan 23, 2025
3 of 11 checks passed
@rli rli deleted the autoMerge/feature/dev-execution branch January 23, 2025 18:13
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.