Skip to content

Conversation

@muaydin
Copy link

@muaydin muaydin commented Dec 2, 2024

Problem

DocDb polling mechanism for the explorer was operating as intended

Solution

  1. Set the polling interval to 30 seconds.
  2. Since instances of ResourceNode are created at arbitrary times, added conditions to track changes in the constructors.
  3. As pollingSet is an instance property, introduced a static global set of records for ARNs to track which resources are currently being polled.
  4. Updated the polling logic to check against processingStates (specifically 'creating', 'modifying', 'rebooting', 'starting', 'stopping', 'renaming') to determine whether an instance requires polling.
  5. Removed unnecessary stop timer commands.
  6. Performed some refactoring for improved code clarity.

License: I confirm that my contribution is made under the terms of the Apache 2.0 license.

@muaydin muaydin changed the title Muaydin/docdb polling bug fix Fix polling mechanism for DocDB explorer Dec 2, 2024
@muaydin muaydin changed the title Fix polling mechanism for DocDB explorer fix(docdb): improve polling mechanism for DocDB explorer Dec 3, 2024
@muaydin muaydin force-pushed the muaydin/docdb-polling-bug-fix branch from b6f7582 to 1dd2695 Compare January 6, 2025 07:44
@muaydin muaydin force-pushed the muaydin/docdb-polling-bug-fix branch from 935df7e to e9f5204 Compare January 9, 2025 06:30
@muaydin muaydin force-pushed the muaydin/docdb-polling-bug-fix branch 3 times, most recently from b57b897 to 34be60b Compare January 10, 2025 03:08
@muaydin muaydin force-pushed the muaydin/docdb-polling-bug-fix branch from 34be60b to 0cfd826 Compare January 10, 2025 03:16
neilk-aws and others added 30 commits January 28, 2025 16:34
## Problem
Customers cannot configure whether their generated code should be
run and tested for quality assurance before being provided to them.

## Solution
Enable customers to configure whether to run code and
tests with /dev per project. On the first run of /dev for a project, if
a devfile.yaml exists in the root of the project, the customer is
prompted to know if they want to use the commands in the file to test
the code we generate. The feature additionally allows customers to
generate a devfile if one doesn't exist. Their choice is persisted and
configurable in the Amazon Q settings.

Co-authored-by: wilson <[email protected]>
Co-authored-by: Justin M. Keyes <[email protected]>
Co-authored-by: Karan Ahluwalia <[email protected]>
Co-authored-by: Hamed Soleimani <[email protected]>
Co-authored-by: Josh Pinkney <[email protected]>
## Problem
- There are currently no E2E tests for /test

## Solution
- Created E2E tests for /test: view diff, accept, reject, unsupported
language, external file
- Update web mode dependencies so we can run in debug mode
- Update docs w/ info on how to fix these dependencies as they go stale
often. Otherwise we may not be able to run in debug mode.


---

- 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.

Signed-off-by: nkomonen-amazon <[email protected]>
### Problem
- Unit test generation API does not have retry mechanisms.

## Solution
- Adding retry mechanisms for UTG APIs for reducing error rate.
- No functionality is effected with this PR change, so no new test cases
were added.

---

- 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.
…6452

## Problem
aws#6451

This rename test relies on a specific result of a race condition for the
expected result.
- The test is checking for a telemetry result that is only emitted when
`fs.exists` takes more than 1 attempt to resolve to true.
- Therefore, it wants the first `fs.exists` check to fail, then a
subsequent one to succeed.
- It does this by not awaiting the result, and then writing the file to
be renamed.

Usually this is fine, but it is possible that the write (`toFile`)
happens before the read (`fs.exists`) since neither is awaited. This
behavior leads to a flaky test as described in the issue.

## Solution
- use a stub to force the first call to `fs.exists` to fail. 
- allow all other calls to "go through" to the original function.
## Problem
aws#6117
aws#6457

These issues keep popping up, regardless of the the thresholds. The
performance tests are causing more problems then they are solving. Real
performance regressions would be captured in telemetry.

## Solution
skip all performance tests, revisit once there is less flakiness. 

---

- 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
Users see a `Sorry, I ran into an issue while trying to upload your
code` error when using /dev or /doc if files in the repo have a modified
or created time before the MSDOS epoch. This affects some users who
Remote SSH into a Linux machine.

Logs show an out of range exception thrown from the adm-zip package.
Adm-zip issue reported
[here](cthackers/adm-zip#485)

## Solution
Switch to the internal [zipStream
module](https://github.com/aws/aws-toolkit-vscode/blob/master/packages/core/src/shared/utilities/zipStream.ts)


---

- 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
in aws#6426, a new release
pipeline stage was added that checks the marketplace extension has been
updated. This PR addes a stage check and only look for an existing
version of the extension when in BETA.

Output in beta:
<img width="1074" alt="Screenshot 2025-01-30 at 12 45 07 PM"
src="https://github.com/user-attachments/assets/ee0b8df7-cd89-4e44-a99b-9746134a8aa9"
/>

unblocks: https://pipelines.amazon.com/pipelines/AWSVSCodeInfrastructure

---------

Co-authored-by: tomzu <[email protected]>
## Problem
The first Amazon Q inline suggestion example is missing a closing
bracket, and the returned response often excludes it.

## Solution
Simplifying the example by just including the closing bracket.
## Problem
assertTelemetry's docstring implies that it can expect partial metric
shapes but doing something like:
```
assertTelemetry('codewhisperer_userTriggerDecision', {
    codewhispererSuggestionState: 'Reject',
})
```
generates a type error. This is because it expects full metrics not
partial metrics

## Solution
Allow assertTelemetry to accept partial metrics

---

- 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 citation links are broken after the [linkify structure
change](aws#6449).

## Solution
- Updated link check pattern to accept `[[TEXT]](LINK)` format too which
is used for citations. **[MynahUI
v4.22.1](https://github.com/aws/mynah-ui/releases/tag/v4.22.1)**

[MynahUI PR](aws/mynah-ui#228)
fix(amazonq): /test align placeholder text across IDEs
## Problem

2 Amazon Q feature dev e2e tests are failing in CI (but work fine
locally).


## Solution

Temporarily disabled these tests to unblock green CI while we
investigate.

---

- 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.
aws#6482)

## Problem
- Github issue:
aws#6160 (comment)

## Solution
- Not able to reproduce this in local machine. Double checked with team
and planned to disable this test for now to avoid hassle for partner
teams.

---

- 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 LSP cannot start in AL2023 arm64.

## Solution

Update the binary of linux arm64 to make it compatible with both AL2023
and Ubuntu arm64

---

- 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.
…on in JSON ASL files. (aws#6478)

## Feature description

Step Functions: Upgrade amazon-states-language-service to 1.15. This new
version enhance autocomplete for variable and JSONata expression in JSON
ASL files.


[Variables and
JSONata](https://aws.amazon.com/blogs/compute/simplifying-developer-experience-with-variables-and-jsonata-in-aws-step-functions/)
was a Step Funtions feature released in 2024 Nov

### Demo:

![jsonata-autocomplete](https://github.com/user-attachments/assets/ee9d01e7-8458-480a-8568-d34a6b862b87)

---

- 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: Silvia Chen <[email protected]>
…aws#6475)

## Problem
Users are not able to track their feedback/request through the feedback
form. There should be a description for it and a link for Github issue
links.

## Solution
- Added description field to the feedback form which accepts markdown
strings (through MynahUI
[v4.22.0](https://github.com/aws/mynah-ui/releases/tag/v4.22.0))

<img width="532" alt="image"
src="https://github.com/user-attachments/assets/0f3fce7c-9efa-423b-9801-89743cfea42e"
/>

---

_**Notes:** Feel free to change the link, or update the text. Also, if
you want to add telemetry records for these link clicks, feel free to
add that._

---

- 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.
…s#6496)

## Problem
Regression in API Back off and retry. Not necessary for VSC.

## Solution
This reverts commit 3a03e95.

---

- 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
Add doc generation V2 telemetry

---

- 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.
…ws#6419)

## Problem
To support complex recommendations broken into multiple chunks, we need
the ability to immediately show user next recommendation when they
accept previous one

## Solution
pre-fetch next recommendation predicting user accept first
recommendation when showing them to user, and if user did accept first
recommendation, immediately show next recommendation

---

- 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: Will Lo <[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.