Skip to content

Conversation

Hweinstock
Copy link
Owner

@Hweinstock Hweinstock commented Jan 7, 2025

Problem

Subprocesses are now tracked, by aws#6304, but this isn't visible to the user. Additionally, while the subprocesses are tracked in the logs, they aren't tracked in telemetry.

Solution

  • add a command to spit this information out into the logs to make it visible to user.
  • add telemetry to make this information visible to the dev team.

Alternative Solution

  • Display a proper table in a virtual document that we open (similar to cwl).

  • 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.
  • License: I confirm that my contribution is made under the terms of the Apache 2.0 license.

@Hweinstock Hweinstock changed the title feat(childprocess): add command to log all active processes feat(childprocess): add new interfaces for tracking child processes Jan 8, 2025
Hweinstock and others added 18 commits January 8, 2025 13:22
## Problem
- We want tests for the general amazon q panel
- We want other teams to quickly be able to write tests for their agents

## Solution
- Add general tests for the amazon q chat panel
- Add a template that other teams can use to write their tests
- Fix an issue that occurred only in tests where tab id's weren't
defined for the help message. The problem was that in the framework
everything is instant which meant a tab id was defined before that code
ran and was never passed through to processQuickActionCommand
- By default don't show the welcome page for now tests

---

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

A user reported that a non-standard start url is technically
valid. This is because it can redirect to the underlying valid
start url that matches the pattern: https://xxxxxxxx.awsapps.com/start

## Solution:

Allow any URL, but warn users if they are using a non-standard one.
We will show a yellow warning message in this case.
The red error message is still shown when the input does not match a
URL in general.

## Examples 

### Invalid URL
<img width="315" alt="Screenshot 2025-01-14 at 4 33 58 PM"
src="https://github.com/user-attachments/assets/a5b2cb8a-c4fc-4678-a711-2f3f00bbe084"
/>

### Possibly valid since it may redirect to a valid URL
<img width="302" alt="Screenshot 2025-01-14 at 4 34 13 PM"
src="https://github.com/user-attachments/assets/0690f818-f4ba-4eae-b037-f856f5a2b2a0"
/>

### Missing the trailing `/start`
<img width="295" alt="Screenshot 2025-01-14 at 4 34 29 PM"
src="https://github.com/user-attachments/assets/8bcf3a4b-eba3-4bd8-8c68-24b709ee854d"
/>

### URL that also matches expected pattern
<img width="286" alt="Screenshot 2025-01-14 at 4 34 35 PM"
src="https://github.com/user-attachments/assets/eea2f2cb-6500-469c-9836-96ffc9cb5794"
/>

---

- 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]>
fix(amazonq): add message after accept/reject action
## Problem
- The test generation for unsupported language files and external files
is unreliable and flaky.
- Telemetry updated to include new metadata for existing metadata.

## Solution
- Fix to add file name as fallback in case of empty prompt or no code
selection.
- Telemetry updated and values passed to it in controller and messenger.
Essentially same PR :
aws#6323 was closed last week
due to build issues.
---
Before:

https://github.com/user-attachments/assets/90ed6629-4753-41e6-9d11-b6d4dd0d6e7c

After fix:


https://github.com/user-attachments/assets/d0993345-cd2c-47ac-a8b5-1e9badf8fbac




- 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: Justin M. Keyes <[email protected]>
…ws#5991

## Problem

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.


## Solution

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.

Note: The JB PR aws/aws-toolkit-jetbrains#5215.
The JB implementation depends on a reliable JB internal message bus to
pass information. Using VSC event listener might mess up the boolean
state of Q editing or not.
## Problem
Certain customers are confused while reading the description of
workspace index settings

## Solution
As requested by product, remove the word "open" from the description of
workspace index settings
siakmun-aws and others added 13 commits January 17, 2025 04:16


## Problem
Previously the logic of showing different messages at different
remaining iteration counts are tested manually.

## Solution
Adding tests to automate the process.
## Problem
Incorrect handling of errors for 4xx and 5xx on IDE. Proper error
messages for users and telemetry needs to differentiate between service
errors.

## Solution
- Adding 4XX vs 5XX `httpStatusCode` field to `amazonq_utgGenerateTests`
event.
- Improving error handling in unit test generation.
## Problem
Several errors that were being shown to customers did not have enough
information for them to take action on the problem.

## Solution
Audited all errors and logs shown to customers and updated them to make
them more legible and actionable.
## Problem
`setMaven` is being executed unnecessarily.

## Solution
Move the call to happen just before the local build starts.
## Problem
Code issues are grouped by severity and while this is useful in some
cases, it can be hard to navigate.

## Solution
Let the user decide how to group the issues.
Grouping strategies to start off with:
- Severity (existing behavior)
- File Location (issues in the same file are grouped together)
## Problem
Toolkit/Q slow performance is consistently reported by customers.
Toolkit/Q features can spawn processes, included many long-lived
processes such as LSP servers. The cost of these processes is hidden and
hard to troubleshoot. Any misbehaving process will not be noticed except
in a coarse "Toolkit/Q causes vscode to be slow" manner.

## Solution
- Track all running processes in a map-like data structure. 
- use a `PollingSet` to periodically "monitor" their system usage (%cpu,
memory bytes), logging warning messages when it exceeds a threshold.
- Add developer command to instantiate spawned processes via
`ChildProcess` wrapper to make this easier to test.
## Problem
- Resource fetcher currently only works on node. This causes some
implements to use got directly, some use fetch directly, some use
httpResourceFetcher depending on their use case

## Solution
- Make HttpResourceFetcher platform independent so it can run on node +
web
- Move the streaming based HttpResourceFetcher to a node specific folder

---

- 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.
## Description
Bumped MynahUI to version 4.21.4 from 4.21.5. This includes two bug
fixes, as described by the changelog commits and by the [MynahUI release
notes](https://github.com/aws/mynah-ui/releases).
@Hweinstock
Copy link
Owner Author

moved to aws#6394

@Hweinstock Hweinstock closed this Feb 10, 2025
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.