Skip to content
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

Merge master into feature/dynamodb #5574

Open
wants to merge 170 commits into
base: feature/dynamodb
Choose a base branch
from

Commits on Sep 11, 2024

  1. feat(feature dev): Remove planning phase in favor for new code gen ag…

    …ent (#5534)
    
    ## Problem
    
    Us (QSDA) team is launching a new code generation agent.
    
    We have conducted experiments wIth the new code generation agent, we
    observed:
    - Removing planning phase produces higher quality code
    - Removing planning phase has general better user experience and remove
    the inconsistency of code gen & plan gen
    
    We have discussed with product that the rollout of new code generation
    agent should also include planning phase removal as a whole, without an
    A/B testing mechanism nor backward compatible implementation. The
    endpoint for plan generation will still exist to support older toolkit
    versions.
    
    We plan to release the new code generation agent experience in the week
    of September 9th.
    
    Please squash merge this pull request, thank you!
    
    ## Solution
    
    - Removed planning phase & refine plan in a typical /dev flow.
    - Modified customer facing copies.
    willyyhuang authored Sep 11, 2024
    Configuration menu
    Copy the full SHA
    cf3f30b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7420808 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ce336a3 View commit details
    Browse the repository at this point in the history
  4. fix(amazonq): fix chat project context telemetry discrepancy (#5565)

    ## Problem
    There is a discrepancy between STE telemetry and toolkit telemetry in
    terms of field `cwsprChatHasProjectContext` in
    `AmazonqAddMessage`.
    
    ## Solution
    
    Use same boolean field for `cwsprChatHasProjectContext`
    
    ---
    
    <!--- 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: Will Lo <[email protected]>
    leigaol and Will-ShaoHua authored Sep 11, 2024
    Configuration menu
    Copy the full SHA
    59f5e03 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. refactor(auth): redo DiskCacheError with proper context (#5558)

    ## Problem:
    
    The original implementation of DiskCacheError can be simplified and
    still achieve it's original purpose.
    
    ## Solution:
    
    During token refresh we eventually write to the disk cache. Sometimes
    this process fails due to filesystem errors.
    
    We dont need to care about the actual file system error, but only that
    the error came during a DiskCache operation (i.e when it attempts to
    save the token to disk)
    
    So instead, at the root of where the disk cache errors ocurr, we will
    wrap caught errors in a DiskCacheError.
    This adds context to the error and allows anything upstream to
    specifically check for that context, instead of needing to parse the
    error to see if it was filesystem related.
    
    Additionally not all file system errors were guaranteed to come from the
    disk cache, so this change allows us to target the right errors.
    
    Signed-off-by: Nikolas Komonen <[email protected]>
    
    ---
    
    <!--- 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.
    
    Signed-off-by: Nikolas Komonen <[email protected]>
    nkomonen-amazon authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    93e5a09 View commit details
    Browse the repository at this point in the history
  2. feat(amazonq): handle extension uninstallation (#5410)

    Setup Uninstall Handler for extensions.
    
    - [x] Telemetry and Logger needs to be verified. 
    
    ## License
    
    By submitting this pull request, I confirm that my contribution is made
    under the terms of the Apache 2.0 license.
    ivikash authored Sep 12, 2024
    Configuration menu
    Copy the full SHA
    f2591bc View commit details
    Browse the repository at this point in the history
  3. Release 1.25.0

    aws-toolkit-automation committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    e5d7e02 View commit details
    Browse the repository at this point in the history
  4. Release 3.24.0

    aws-toolkit-automation committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    4e88c6e View commit details
    Browse the repository at this point in the history
  5. Update version to snapshot version: 3.25.0-SNAPSHOT

    aws-toolkit-automation committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    bc5ac6e View commit details
    Browse the repository at this point in the history
  6. Update version to snapshot version: 1.26.0-SNAPSHOT

    aws-toolkit-automation committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    cb6eeeb View commit details
    Browse the repository at this point in the history
  7. Merge release into master

    aws-toolkit-automation committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    1990349 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. fix(changelog): update changelog.md (#5584)

    Update Changelog for Amazon Q extesnion.
    ---
    
    License: I confirm that my contribution is made under the terms of the
    Apache 2.0 license.
    ivikash authored Sep 13, 2024
    Configuration menu
    Copy the full SHA
    9a9ccfc View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. deps(dependencies): Address high-severity vulnerabilities by updating…

    … dependencies (#5594)
    
    ## Problem
    
    The vulnerabilities include:
    
    ```
    body-parser  <1.20.3 - body-parser vulnerable to denial of service when url encoding is enabled
      express  <=4.19.2 || 5.0.0-alpha.1 - 5.0.0-beta.3
    
    path-to-regexp  <=0.1.9 || 0.2.0 - 1.8.0 || 4.0.0 - 6.2.2 - path-to-regexp outputs backtracking regular expressions
      node_modules/@koa/router/node_modules/path-to-regexp
      node_modules/express/node_modules/path-to-regexp
      node_modules/path-to-regexp
    
    send  <0.19.0
    send vulnerable to template injection that can lead to XSS
    node_modules/send
      serve-static  <=1.16.0
      Depends on vulnerable versions of send
      node_modules/serve-static
    ```
    
    ## Solution
    
    Just run `npm audit fix`. It doesn't look like there's any top level
    dependency changes. It looks like its all related to
    [express](https://github.com/expressjs/express), which is used for the
    webpack dev server
    jpinkney-aws authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    8d64865 View commit details
    Browse the repository at this point in the history
  2. fix(core): Add missing amazonq.supressPrompts (#5595)

    ## Problem
    - When you build the project amazonQSessionConfigurationMessage and
    ssoCacheError get removed from the amazon q package.json
    
    ## Solution
    - Add them into core, which makes sure they get copied to the
    package.json of amazonq
    jpinkney-aws authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    8416271 View commit details
    Browse the repository at this point in the history
  3. test(feature dev): E2E test script post approach removal (#5596)

    ## Problem
    
    E2E test is not up to date post approach removal
    
    ## Solution
    
    - Removed tests related to approach
    - Refactored the E2E test script
    willyyhuang authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    54f0573 View commit details
    Browse the repository at this point in the history
  4. fix(ec2): automatically poll pending nodes in explorer, refresh on ch…

    …ange (#5581)
    
    redo of: #3663 without
    formatting problems.
    
    ## Problem
    when changing instance status, the node will visually update, but only
    once. Thus, starting a node will leave it stuck in pending status until
    another refresh from elsewhere allows it to update.
    ## Solution
    We generalize the solution to that used in the
    `./src/apprunner/explorer/apprunnerNode.ts` into
    `packages/core/src/shared/utilities/pollingSet.ts`.
    - keep a set of items. 
    - if the set is non-empty, run some `action` every `pollingInterval`
    seconds.
    
    In the context of ec2, this means:
    - when an instance enters the `pending` status, we add it to the set. 
    - Every 5, we check each node in the `pending` status to see if its
    status has updated. (action)
    - If the node is no longer pending, remove it from the set and refresh
    its corresponding node in explorer.
    - Once no more nodes are pending, we cancel the timer. Only to be
    restart if a new one is added.
    
    Notes:
    - When a node leaves the pending status, we only refresh that node, not
    the entire subtree.
    - We check every 5 seconds if the status changed, which involves an API
    call for each pending node.
    - We also remove the ability to start/stop an instance that is currently
    pending.
    <!---
        REMINDER:
        - Read CONTRIBUTING.md first.
        - Add test coverage for your changes.
        - Update the changelog using `npm run newChange`.
        - Link to related issues/commits.
        - Testing: how did you test your changes?
        - Screenshots
    -->
    
    ## License
    
    By submitting this pull request, I confirm that my contribution is made
    under the terms of the Apache 2.0 license.
    Hweinstock authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    3075757 View commit details
    Browse the repository at this point in the history
  5. ci: make dependabot work on all projects except src.gen/ #5601

    This attempts to fix our dependabot issue but I am not sure what the
    best way to test this is other than committing it and seeing what
    happens.
    
    Problem (as I understand it, may be incorrect): Dependabot wants to
    update deps in src.gen/, but this is managed separately and can cause
    things to break. There is no exclude dirs option in dependabot. So, we
    limit the dependabot to packages/core only which doesn't paint the full
    picture of all of our dependencies AND since this is a monorepo where
    the package-lock.json lives in the root, it cannot be updated. This
    effectively bricks dependabot and makes the PRs nothing more than a
    reminder.
    
    Solution: Use this 'workaround' to exclude a directory so that
    dependabot can update the deps of all of our subprojects and the root
    directory without touching src.gen/.
    Hack from: dependabot/dependabot-core#4364
    
    MAY have to follow up with `versioning-strategy: 'increase'`, see
    dependabot/dependabot-core#4993
    hayemaxi authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    910b3a3 View commit details
    Browse the repository at this point in the history
  6. ci: skip "target=code: typescript" test on mac ci #5600

    ## Problem
    - This test started failing around sept 10th with no clear code change
    - #5587
    
    ## Solution
    - Until we can figure out the problem lets just disable it on mac ci
    jpinkney-aws authored Sep 16, 2024
    Configuration menu
    Copy the full SHA
    0d3462a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e527132 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2024

  1. feat(ec2): adopt icons from CodeCatalyst and reinforce state via text. (

    #3687)
    
    ## Problem
    Potential UX Improvements. 
    ## Solution
    
    ![image](https://github.com/aws/aws-toolkit-vscode/assets/42325418/505b3ada-7d9c-4221-94bb-186837a9242d)
    
    ![image](https://github.com/aws/aws-toolkit-vscode/assets/42325418/76f7fac8-38eb-496a-a8db-f584b025e6b0)
    
    <!---
        REMINDER:
        - Read CONTRIBUTING.md first.
        - Add test coverage for your changes.
        - Update the changelog using `npm run newChange`.
        - Link to related issues/commits.
        - Testing: how did you test your changes?
        - Screenshots
    -->
    
    ## License
    
    By submitting this pull request, I confirm that my contribution is made
    under the terms of the Apache 2.0 license.
    
    ---------
    
    Co-authored-by: JadenSimon <[email protected]>
    Co-authored-by: Justin M. Keyes <[email protected]>
    Co-authored-by: Weinstock <[email protected]>
    4 people authored Sep 17, 2024
    Configuration menu
    Copy the full SHA
    fb2fa91 View commit details
    Browse the repository at this point in the history
  2. fix(redshift): api breaks for unsupported regions (#5614)

    ## Problem
    Customer not able to list the provisioned clusters in region where
    serverless API's not present.
    Solution
    
    
    ## Solution
    Made a minor code change to fix the issue. Tested the change too.
    
    
    ---
    
    <!--- 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.
    karle-nishi authored Sep 17, 2024
    Configuration menu
    Copy the full SHA
    fdda3ca View commit details
    Browse the repository at this point in the history
  3. fix(auth): login state updates across windows (#5547)

    Problem: Users can open multiple VSC sessions. If they sign out or the
    connection is lost in another window, then interacting with chat or
    in-line suggestions in the original window will only produce cryptic
    "Profile does not exist" errors, with no clear way to get back to a
    working state.
    
    Solution: Log out once this state is detected (uses chat, invokes manual
    or auto inline suggestion).
    
    3 commits:
    
    [fix(amazonq): user stays signed in if they log out in other
    windows](270a321)
    Problem: Users can open multiple VSC sessions. If they sign out or the
    connection is lost in another window, then interacting with chat or
    in-line suggestions in the original window will only produce cryptic
    "Profile does not exist" errors, with no clear way to get back to a
    working state.
    
    Solution: Log out once this state is detected (uses chat, invokes manual
    or auto inline suggestion).
    
    [fix(amazonq): disable 'connection already exists' error for login
    page](5593784)
    Error would appear due to certain race conditions. If the auth page is
    visible then we know that we have no connections. (for amazon q only).
    
    [fix(auth): login state updates across
    windows](ced109f)
    - Uses a vscode filwatcher to detect changes to `.aws/sso/cache`.
    - Try to 'reconnect' on new changes based on stored state key.
      - Global state is stored across windows.
    - Login or log out will happen in all vsc instances.
    
    ---
    
    <!--- 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.
    hayemaxi authored Sep 17, 2024
    Configuration menu
    Copy the full SHA
    ac9a78d View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. fix(amazonq): chat contents tooltip, layout #5622

    ## Problem
    New version of MynahUI requires release in vscode.
    
    ## Solution
    Release new version of MynahUI with the following bug fixes:
    
    - Fix shifted chat contents
    - Fix tooltip remaining on screen after closing and opening chat panel:
    #5535
    
    MynahUI v4.15.10 release notes:
    https://github.com/aws/mynah-ui/releases/tag/v4.15.10
    
    Also fixed a regression in the following MynahUI v4.15.11
    Release notes: https://github.com/aws/mynah-ui/releases/tag/v4.15.11
    rahmaniaam authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    9c54ab9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6f9e6b0 View commit details
    Browse the repository at this point in the history
  3. ci(core): Seperate setup, execution, and verification of performance …

    …tests (#5540)
    
    ## Problem
    Our performance tests are occasionally flaky
    
    ## Solution
    - Separate the setup, execution, and verification of the tests into different steps. Only performance test the actual thing under test
    - Up the test runs to 10
    - Use the median performance result rather than the average of all of them
    
    TODO verify if trimmed mean makes more sense in this case
    jpinkney-aws authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    4bb6777 View commit details
    Browse the repository at this point in the history
  4. fix(amazonq): Replacing the loading icon in the status bar menu. (#5615)

    ## Problem
    - Issue with loading icon in the status bar menu.
    
    ![image](https://github.com/user-attachments/assets/94564f04-265d-49df-8a68-39745c7703b3)
    
    
    ## Solution
    - Replaced previous icon with relevant loading icon.
    
    ![image](https://github.com/user-attachments/assets/72efac08-4a10-4cf4-9dbf-626793cc8fcb)
    - Did not update any logic in the PR, its just a UI icon change so
    adding/updating tests is not considered.
    laileni-aws authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    9c486e2 View commit details
    Browse the repository at this point in the history
  5. fix(amazonq): disable LSP in AL2 (#5585)

    ## Problem
    
    In AL2, node js runtime v18 is not supported due to GLIBC <= 2.26.0.
    This LSP will show user facing error message, which is disturbing.
    
    ## Solution
    
    Disable LSP in AL2. 
    
    In the long run, we may downgrade node 18 to 16 if possible. Meanwhile,
    VS Code will soon require node v18. AL2 will migrate to AL2023 which has
    newer GLIBC.
    leigaol authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    72aa528 View commit details
    Browse the repository at this point in the history
  6. feat(amazonq): Support @workspace queries for specific files like `@w…

    …orkspace what does test.ts do? `. (#5599)
    
    ## Problem
    When filename is in the query, chat can not resolve to that file context
    
    ## Solution
    Upgrade LSP to 0.1.9 to fix above use cases.
    leigaol authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    4ac6c0c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9665951 View commit details
    Browse the repository at this point in the history
  8. fix(ec2): don't allow user to copy instance id from parent ec2 node. (#…

    …5624)
    
    ## Problem
    Gives option to copy instance id on non-instance node. 
    <img width="487" alt="image"
    src="https://github.com/user-attachments/assets/3a203ff8-e31c-4c85-929b-4f0fb2fbc265">
    Leads to error: 
    <img width="523" alt="image"
    src="https://github.com/user-attachments/assets/edeb3edd-e59b-4465-8ee3-e81e6bee858d">
    
    ## Solution
    Only give this option on ec2InstanceNodes
    
    ---
    
    <!--- 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.
    Hweinstock authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    fa5dfac View commit details
    Browse the repository at this point in the history
  9. ci: skip notify job in staging repo

    Problem:
    This job fails in the staging repo:
    
        Fetching the repository
          /usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=20 origin …
          remote: Repository not found.
          Error: fatal: repository 'https://github.com/aws/aws-toolkit-vscode-staging/' not found
          The process '/usr/bin/git' failed with exit code 128
    
    Solution:
    Skip it in the staging repo until a better solution can be found.
    justinmk3 committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    c0f3faa View commit details
    Browse the repository at this point in the history
  10. ci: skip notify job in staging repo #5626

    see c0f3faa
    
    
    ---
    
    <!--- 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.
    justinmk3 authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    171702d View commit details
    Browse the repository at this point in the history
  11. docs(feature dev): update marketplace gif and texts (#5612)

    ## Problem
    
    Post feature dev agent update, some of the texts & screenshot of the
    usage are outdated
    
    ## Solution
    - Updated demo gif
    - Updated texts in README/marketplace page related to /dev, the text
    update is reviewed by tech writer.
    willyyhuang authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    a33e6f8 View commit details
    Browse the repository at this point in the history
  12. telemetry(core): Update telemetry to 1.0.258 (#5621)

    ## Problem
    Telemetry update is blocking the tracing pull request
    (#5591)
    
    ## Solution
    Update to the latest released version of the telemetry package
    
    https://github.com/aws/aws-toolkit-vscode/pull/5593/files refactors how
    languages are done in cwspr but its wip and this update is blocking the
    tracing PR
    jpinkney-aws authored Sep 18, 2024
    Configuration menu
    Copy the full SHA
    d86c603 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. feat(feature dev): update more customer facing texts and doc link (#5627

    )
    
    ## Problem
    
    We observed a couple customer copy papercuts related to /dev
    
    ## Solution
    
    - Updated customer facing text copies in /dev 
    - Changed documentation link
    - Removed a close session messaging when clicking for new task
    willyyhuang authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    ab7cec4 View commit details
    Browse the repository at this point in the history
  2. fix(codewhisperer): patch #5621 and remove language not yet supported (

    …#5630)
    
    ## Problem
    disable inlineCompletion support for language `Dart`, `SystemVerilog`,
    `Lua`, `Swift`, `Vue`, `Powershell`, `R` which were added by #5621 and
    we disable it because service is not ready yet thus will causing 4xx
    error `improper formed request`.
    
    
    ## Solution
    Disable Dart, SystemVerilog, Lua, Swift, Vue, Powershell, R
    Will-ShaoHua authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    6074374 View commit details
    Browse the repository at this point in the history
  3. fix(amazonq): Use the correct state for Q in remote environment (#5575)

    ## Problem:
    
    As part of our design we intentionally separate the Auth state between a
    local environment, versus a remote (ssh'd) one. We do this so that if
    the user has 2 IDE instances, one local and the other remote, if one
    changes its auth state the other one will not be affected.
    
    The reason for separating auth that I can remember is due to how we
    store the actual tokens on disk. Because the remote does not have access
    to the disk of the local, we need to ensure the remote operates its auth
    independently of the local auth.
    
    By design globalState is shared by both local and remote instances. So
    for local we need to ensure we do not use the base globalState,
    otherwise the same Auth state as the remote will be used.
    
    The problem, SecondaryAuth is not doing this for all cases. It is using
    the globalState when it should be asking Auth which state it should use.
    The happy path was working though, but there can be potential issues
    with this bug at some other point.
    
    ## Solution:
    
    Expose the state that Auth is using so that something like SecondaryAuth
    can ask Auth for the correct state object depending on the local vs
    remote.
    
    
    ---
    
    <!--- 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.
    
    ---------
    
    Signed-off-by: Nikolas Komonen <[email protected]>
    Signed-off-by: nkomonen-amazon <[email protected]>
    nkomonen-amazon authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    4a27d8b View commit details
    Browse the repository at this point in the history
  4. feat(logging): topic header for logs (#5610)

    ## Problem
    Log message can appear in output channels(such as Amazon Q Logs as
    shown), IDE Debug console, or write to pre-defined log file
    destinations. They come from all parts of our services and can amount to
    large and lengthy chunks quickly.
    
    We don’t have a reliable way to identify log messages from various
    services and modules of our product. Some messages might have headers
    while others don’t, and the existing headers are hard-coded on a message
    by message basis, with no checks for consistency.
    
    1. It’s difficult to locate and trace unidentified log messages when the
    size of logs grow quickly.
    2. Without regulation, the hard-coded custom headers can lead to legacy
    issues down-the-road and inconsistencies within the codebase.
    
    ## Solution
    1. Make message topic identifiers an input variable of the getLogger()
    function.
    2. Append the topic at the front of each message, for example:
    `getLogger('S3').error('Something went wrong')`
    Would print:
    `S3: Something went wrong`
    3. Define a set of topics to be used in message headers, covering all
    services and modules.
    
    
    ## Implementation notes:
    1. The `WinstonToolkitLogger` is renamed to `ToolkitLogger` to avoid
    confusion, since its our own logger not winston's. The log topic feature
    is added here.
    2. A `baseLogger` abstract class is created to make the existing
    `NullLogger`, `ConsoleLogger`, and `ToolkitLogger` cleaner and their
    responsibilities more obvious and compact.
    3. Currently the topics are optional, and the values are just `Test` and
    `Unknown`, this will be expanded during migration of existing logger
    calls.
    
    ---
    
    <!--- 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: Nikolas Komonen <[email protected]>
    tomcat323 and nkomonen-amazon authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    b2ebc10 View commit details
    Browse the repository at this point in the history
  5. telemetry(core): implement tracing (#5591)

    ## Problem
    - We can't see an e2e view of our events
    
    ## Solution
    - Implement telemetry tracing using the opentelemetry idea of trace ids.
    - A trace id helps create a collection of spans.
    - Only one trace id can be active in an execution flow at a time.
    - Additionally, it swaps parentMetric for parentId so that we can
    directly correlate one telemetry event to another
    
    ## Other details
    - A trace is associated with a top level telemetry event. The top level
    can be either event_trace or any other of our metrics.
    jpinkney-aws authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    791ae55 View commit details
    Browse the repository at this point in the history
  6. fix(ec2): check for actions instead of policies. (#3694)

    ## Problem 
    We currently check if certain policies are attached to the IAM role in
    order to determine if the necessary permissions exist on the instance to
    open an SSM session. However, this can be done more fine-grained.
    
    ## Solution 
    
    https://github.com/aws/aws-toolkit-vscode/blob/a9d64f3a448480f8fed9ba96b3da33631c298265/src/ecs/util.ts#L33-L52
    Leverage the approach done by ECS to check for specific actions rather
    than policies.
    
    - Restructure testing framework to look at actions instead of policies. 
    - Refactor ECS code to pull out shared functionality to
    `src/shared/remoteSession.ts`.
    - Refactor existing code in the `src/ec2/model.ts` file to utilize the
    approach demonstrated above.
    - Add back `packages/core/src/shared/systemUtilities.ts` file since some
    of it is used here.
    <!---
        REMINDER:
        - Read CONTRIBUTING.md first.
        - Add test coverage for your changes.
        - Update the changelog using `npm run newChange`.
        - Link to related issues/commits.
        - Testing: how did you test your changes?
        - Screenshots
    -->
    
    ## License
    
    By submitting this pull request, I confirm that my contribution is made
    under the terms of the Apache 2.0 license.
    
    ---------
    
    Co-authored-by: JadenSimon <[email protected]>
    Co-authored-by: Justin M. Keyes <[email protected]>
    Co-authored-by: Weinstock <[email protected]>
    4 people authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    7b4257a View commit details
    Browse the repository at this point in the history
  7. fix(sam): debug console is focused when debuggin a local lambda #5635

    ## Problem
    The IDE force snaps to Debug Console during local lambda build
    
    ## Solution
    Create `showOutputChannel` function to focus the window on output
    channel
    tomcat323 authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    834dd09 View commit details
    Browse the repository at this point in the history
  8. Release 1.26.0

    aws-toolkit-automation committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    75d6df7 View commit details
    Browse the repository at this point in the history
  9. Release 3.25.0

    aws-toolkit-automation committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    156f09c View commit details
    Browse the repository at this point in the history
  10. Update version to snapshot version: 3.26.0-SNAPSHOT

    aws-toolkit-automation committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    8362ecb View commit details
    Browse the repository at this point in the history
  11. Update version to snapshot version: 1.27.0-SNAPSHOT

    aws-toolkit-automation committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    0888013 View commit details
    Browse the repository at this point in the history
  12. Merge release into master

    aws-toolkit-automation committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    a969253 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. feat(ec2): provide link to launch instance. (#3697)

    ## Problem
    User Request
    ## Solution
    Add option to launch instance from toolkit. The option links to console
    page for launching EC2 instances. Currently, the functionality is
    available as an icon-button and on right-click. Additionally, we have it
    in the command-palette. In the command palette, the region is inferred
    using `guessDefaultRegion`. I see three potential alternatives:
    - (1)provide a region prompter when used from the command palette that
    defaults to the region given by `guessDefaultRegion`.
    - (2)Don't prompt for region, and assume the region based on
    `guessDefaultRegion`.
    - (3)Don't allow the command to be used from command palette and only
    see it on the explorer.
    Let me know if you think either of the alternatives presented above
    would be preferred.
    
    The current implementation (1) because it seems like the optimal middle
    ground. We allow the customer to select their region, while also
    providing an intuitive and helpful default.
    
    Below are some screenshots of the feature:
    <img width="743" alt="image"
    src="https://github.com/user-attachments/assets/3f56800c-ca95-4f82-be48-76d353ad92ad">
    <img width="530" alt="image"
    src="https://github.com/user-attachments/assets/088da856-7bbc-4e3f-98bf-1028372111bf">
    <img width="691" alt="image"
    src="https://github.com/user-attachments/assets/a09367d2-cd41-4f6a-804f-fb7327041f53">
    
    
    <!---
        REMINDER:
        - Read CONTRIBUTING.md first.
        - Add test coverage for your changes.
        - Update the changelog using `npm run newChange`.
        - Link to related issues/commits.
        - Testing: how did you test your changes?
        - Screenshots
    -->
    
    ## License
    
    By submitting this pull request, I confirm that my contribution is made
    under the terms of the Apache 2.0 license.
    
    ---------
    
    Co-authored-by: JadenSimon <[email protected]>
    Co-authored-by: Weinstock <[email protected]>
    Co-authored-by: Justin M. Keyes <[email protected]>
    4 people authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    de33bb7 View commit details
    Browse the repository at this point in the history
  2. fix(ec2): ssh config forces use of supplied keys (#5636)

    ## Problem
    Occasionally this error pops up: 
    
    ![image](https://github.com/user-attachments/assets/28630fd3-569e-4307-914d-815669686ba4)
    
    ## Solution
    Add one line to ssh config that force agent to use the provided key. 
    - `IdentitiesOnly yes`: only use identity file provided. 
    
    More info here: https://www.ssh.com/academy/ssh/config
    
    ---
    
    <!--- 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: Justin M. Keyes <[email protected]>
    Hweinstock and justinmk3 authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    86ed46d View commit details
    Browse the repository at this point in the history
  3. feat(ec2): switch to using ed25519 to generate key pair (#5637)

    ## Problem
    currently use RSA.
    
    ## Solution
    switch to ed25519
    
    ---
    
    <!--- 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: Justin M. Keyes <[email protected]>
    Hweinstock and justinmk3 authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    4c3e64c View commit details
    Browse the repository at this point in the history
  4. feat(ec2): prompt to add inline policies. (#3705)

    ## Problem
    By default, the ec2 instances do not have the proper permissions to
    allow for connect via SSM. Therefore, users will have to complete this
    step manually.
    ## Current Solution
    Check if IAM role exists on instance, if it does, prompt to add
    necessary actions as inline policy.
    ### Details and Problems with Current Solution
    - actions in prompt are poorly formatted. 
    - attaching the inline policy, then immediately attempting connection
    does not appear to work reliably. The cause of this is currently
    unknown, but one potential explanation is the delay of propagating
    permissions across all regions. When immediately attempting connection
    after adding the inline policy, the terminal will open, but will
    immediately crash. Note that no error is thrown by the SDK here, meaning
    we have no way of knowing if the terminal will crash or not before
    opening the terminal. Additionally, while we do get a terminal close
    event on the crash, we have no way of distinguishing this from a user
    close event. The current solution to this problem is to add a 5 second
    delay between adding the policies and attempting connection. During this
    process we provide a progress bar with cancel. This solution is far from
    ideal, but does appear to work. A polling approach was also attempted,
    but seemed to fail as the SDK calls returned that the necessary policies
    were attached before a connection can be successfully made.
    - after attaching the inline policy, there is often a delay in the SSM
    agent starting on the instance. This results in receiving the `is SSM
    agent running error?` if connection is attempted immediately following
    adding the inline-policy (only in remote window, this error doesn't
    happen when trying to establish a terminal). This can take up to a few
    minutes to go away, or can be immediately resolved by fully restarting
    (not rebooting) the instance. Giving the customer an option to restart
    is not a feasible solution as it comes with many side effects (new
    billing cycle, new ip address, etc.).
    - Actions added include 
    ```
        'ssmmessages:CreateControlChannel',
        'ssmmessages:CreateDataChannel',
        'ssmmessages:OpenControlChannel',
        'ssmmessages:OpenDataChannel',
        'ssm:DescribeAssociation',
        'ssm:ListAssociations',
        'ssm:UpdateInstanceInformation'
    ```
    - The bottom three, while not necessary for the connection, appear to
    help in starting the SSM agent on initial connection. With these
    policies attached, and restarting the instance, the connection works
    every time.
    - Actions added are expanded such that SSM agent starts on instance. 
    - If no IAM role attached, we link to documentation. 
    
    ### Visuals
    
    progress bar with cancel:
    <img width="539" alt="image"
    src="https://github.com/aws/aws-toolkit-vscode/assets/42325418/b144ed2e-5bf2-41a2-b7f2-0f56e598ea10">
    
    prompt with actions: 
    <img width="306" alt="image"
    src="https://github.com/user-attachments/assets/c9c0aa1c-8e13-4c4d-a178-f503e633647d">
    
    
    <!---
        REMINDER:
        - Read CONTRIBUTING.md first.
        - Add test coverage for your changes.
        - Update the changelog using `npm run newChange`.
        - Link to related issues/commits.
        - Testing: how did you test your changes?
        - Screenshots
    -->
    
    ## License
    
    By submitting this pull request, I confirm that my contribution is made
    under the terms of the Apache 2.0 license.
    
    ---------
    
    Co-authored-by: JadenSimon <[email protected]>
    Co-authored-by: Justin M. Keyes <[email protected]>
    Co-authored-by: Weinstock <[email protected]>
    4 people authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    42da514 View commit details
    Browse the repository at this point in the history
  5. fix(toolkit): attach lifetime to generated ssh keys. (#5578)

    ## Problem
    
    For connecting VSCode to EC2 instance, we generate an ssh key pair on
    disk. This results in writing the private ssh key to VSCode global
    storage, allowing the key to be potentially reused by other users on the
    same machine.
    
    ## Solution  
    
    Attach a lifetime to any key pair generated such that they wipe from
    disk after X seconds. Value is currently set is 30 seconds to allow
    connection to reliably establish. Also, change file permissions to
    read/write owner only and change behavior to overwrite existing keys.
    
    Unable to test file permissions, due to VSCode file system unable to
    provide us with enough detail. Only provides whether it is readonly or
    not (somewhat unreliably:
    microsoft/vscode-discussions#673). VSCode
    file system is what is used in `fs.ts` implementation.
    
    This is in-line with how ec2 instance connect works:
    https://github.com/aws/aws-ec2-instance-connect-cli/blob/master/ec2instanceconnectcli/EC2InstanceConnectKey.py
    
    
    ---
    
    <!--- 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: JadenSimon <[email protected]>
    Co-authored-by: Justin M. Keyes <[email protected]>
    Co-authored-by: Weinstock <[email protected]>
    4 people authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    24840fd View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. docs(telemetry): Add documentation about traceId (#5639)

    ## Problem
    No documentation about traceIds
    
    ## Solution
    Add documentation about traceIds
    jpinkney-aws authored Sep 23, 2024
    Configuration menu
    Copy the full SHA
    a2daf60 View commit details
    Browse the repository at this point in the history
  2. update docs

    Hweinstock committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    13890e1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    46b409c View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. telemetry(core): Add withTraceId function for improved tracing (#5653)

    ## Problem
    - We have no way to connect disjoint events that may or may not be in a
    telemetry span
    
    
    ## Solution
    - Add withTraceId, which allows you to start a new trace with a specific
    id
    - Update the telemetry docs
    jpinkney-aws authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    3b44bcb View commit details
    Browse the repository at this point in the history
  2. fix(amazonq): issues with redacted code are hidden (#5656)

    ## Problem
    Hardcoded credentials detections are being removed from auto scan
    results due to line string comparison with the server response which
    contains redacted code.
    
    
    ## Solution
    For redacted code, check only the line length instead of a full
    comparison.
    
    ---
    
    <!--- 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.
    ctlai95 authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    76b4d88 View commit details
    Browse the repository at this point in the history
  3. feat(amazonq): allow users to skip tests #5607

    ## Problem
    Some users transform projects with long-running tests.
    
    ## Solution
    Allow users to skip tests by prompting them via chat and passing the
    relevant flag to skip tests through the `manifest.json`.
    dhasani23 authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    ae5288b View commit details
    Browse the repository at this point in the history
  4. refactor(codewhisperer): refactor UTG code path, add tests #5590

    ## Problem
    - complicated regex which is not scalable and hard to understand
    - stale and complicated code which lacks readability
    - test coverage
    Will-ShaoHua authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    1db0f97 View commit details
    Browse the repository at this point in the history
  5. feat(ec2): default to ed25519 key type, but fall back on rsa (#5642)

    ## Problem
    (title)
    
    ## Solution
    Try to use `ed25519` first, if it fails use `rsa`. Alternatively, we
    could use the same code to check if version number of ssh, and then see
    if its above version 6.5
    (https://www.openssh.com/releasenotes.html#6.5). However, doing an
    actual attempt at generating the keys felt more robust, as it could
    potentially fail for other reasons. Make use of the code here:
    
    https://github.com/aws/aws-toolkit-vscode/blob/791ae55021c0ee73dd84abaa57da46237d0fb0d5/packages/core/src/shared/utilities/pathFind.ts#L117-L134
    
    ---
    
    <!--- 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.
    Hweinstock authored Sep 24, 2024
    Configuration menu
    Copy the full SHA
    2b60a35 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2024

  1. refactor(rename): childProcess -> processUtils (#5665)

    Another PR I have adds a process related function, so I thought I'd make
    the name more appropriate.
    
    This is a separate PR since it adds lots of noise to the other PR if I
    do it there
    
    ---
    
    <!--- 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.
    
    Signed-off-by: nkomonen-amazon <[email protected]>
    nkomonen-amazon authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    96d1ca0 View commit details
    Browse the repository at this point in the history
  2. docs(ec2): add ec2 connect details to arch_features.md (#5652)

    ## Problem
    
    
    ## 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.
    Hweinstock authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    8788dfe View commit details
    Browse the repository at this point in the history
  3. telemetry(amazonq): Add telemetry tracing for amazon q inline (#5655)

    ## Problem
    - The flow from when a message is shown to the user and
    rejected/accepted by the user isn't instrumented with any way to trace
    events
    
    ## Solution
    - Create a trace from when the event is shown (either by manual
    invocation or auto trigger) and then connect all the telemetry events
    through a traceId.
    
    ### Implementation details
    - The traceId is initially created when manual invocation/auto trigger
    occurs
    - For every telemetry event thats in the function hierarchy of the
    manual invocation/auto trigger, they automatically assume the same
    traceId
    - When an event listener is called it uses the traceId we've set in
    TelemetryHelper to setup the next traceId. This is because the event no
    longer belongs to the same context
    - Inside of commands we use `telemetry.record` because it allows us to
    override the default telemetry id that gets automatically created and
    instead associate it with the known trace
    jpinkney-aws authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    00f0303 View commit details
    Browse the repository at this point in the history
  4. feat(telemetry): include user intent for copy and insert code interac…

    …tions (#5654)
    
    ## Problem
    Need to gather acceptance metrics on generated unit tests
    
    ## Solution
    Include user intent on copy and insert code interactions in telemetry to
    form an acceptance rate
    
    ---
    
    <!--- 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.
    lalexcaws authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    d6336e4 View commit details
    Browse the repository at this point in the history
  5. telemetry(amazonq): measure e2e latency for amazon q requests (#5566)

    ## Problem:
    - We can't measure e2e how long a chat request takes
    
    ## Solution:
    - Plumb the trace id through to the webview -> vscode -> webview. This
    allows us to know exactly what is happening to a message and how long
    everything took to get there
    - chat e2e latency can be linked with the other telemetry events via the
    traceId
    jpinkney-aws authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    359b1d8 View commit details
    Browse the repository at this point in the history
  6. feat(utils): Add some util functions for upcoming feature (#5657)

    This adds some util functions that are needed for an upcoming feature.
    
    Each commit is its own isolated util, so review them individually.
    
    **A significant amount of the changes come from minor refactors in
    files**
    
    ---
    
    <!--- 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.
    
    ---------
    
    Signed-off-by: nkomonen-amazon <[email protected]>
    nkomonen-amazon authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    aa3f1a7 View commit details
    Browse the repository at this point in the history
  7. fix(amazonq): verify path for .obsolete file (#5671)

    verify path for .obsolete file
    
    
    License: I confirm that my contribution is made under the terms of the
    Apache 2.0 license.
    ivikash authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    e350308 View commit details
    Browse the repository at this point in the history
  8. refactor(test): toTextDocument, toTextEditor #5660

    Problem:
    Redundant code, suboptimal names and docstrings.
    
    Solution:
    - Introduce `toTextDocument` for tests such as `codeParsingUtil.test.ts`
      which don't need a TextEditor.
    - Rename `openATextEditorWithText` => `toTextEditor`.
    justinmk3 authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    47b436f View commit details
    Browse the repository at this point in the history
  9. feat(amazonq): user can generate unit tests for selected code #5577

    - Add command to Amazon Q to generate unit tests for selected code. The
      feature will be limited to internal Amazon users, initially.
    - Add "Generate Tests" command.
    bweedop authored Sep 25, 2024
    Configuration menu
    Copy the full SHA
    8831e6b View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. revert(amazonq): Disable generate unit tests command and context menu…

    … for all users (#5674)
    
    ## Problem
    
    Unit test generation feature is not ready for internal users yet. This
    PR disables the feature while improvements are made.
    bweedop authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    c311da2 View commit details
    Browse the repository at this point in the history
  2. revert(amazonq): skip showing users unit test form (#5679)

    ## Problem
    
    Revert #5607 by not
    showing users the skip tests form
    
    
    ## Solution
    
    Above
    dhasani23 authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    0c4289b View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. fix(logging): logger functions do not handle varargs (#5680)

    Problem:
    Regression b2ebc10 in the logger: `debug('%s %s', foo, bar')`
    sends `foo, bar` as a single `[foo, bar]` list to the first `%s`.
    Example:
    
    2024-09-26 12:18:29.631 [debug] getClientId: determined clientId as: [
          '96be923b-a00d-46d4-add1-c877abfcb01c',
          undefined,
          '96be923b-a00d-46d4-add1-c877abfcb01c'
        ], process.env clientId was: { logID: 1 }, stored clientId was: %s
    
    Solution:
    Spread the args when passing to sendToLog().
    justinmk3 authored Sep 27, 2024
    Configuration menu
    Copy the full SHA
    72a112c View commit details
    Browse the repository at this point in the history
  2. Release 1.27.0

    aws-toolkit-automation committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    d359aee View commit details
    Browse the repository at this point in the history
  3. Release 3.26.0

    aws-toolkit-automation committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    3c4a351 View commit details
    Browse the repository at this point in the history
  4. Update version to snapshot version: 3.27.0-SNAPSHOT

    aws-toolkit-automation committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    6d4f619 View commit details
    Browse the repository at this point in the history
  5. Update version to snapshot version: 1.28.0-SNAPSHOT

    aws-toolkit-automation committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    1e98e68 View commit details
    Browse the repository at this point in the history
  6. Merge release into master

    aws-toolkit-automation committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    eab800d View commit details
    Browse the repository at this point in the history
  7. fix(amazonq /dev): unpredictable placement of LLM-created files #5672

    ## Problem
    In VS Code, when user add 2 different folders in the workspace which
    contain different root paths, RTS/LLM cannot decide where to place a
    generated file.
    
    ## Solution
    This fix add the default first folder selected as its default for
    orphaned root created files, not blocking user to receive an empty patch
    but also support better the workspace usage.
    tverney authored Sep 27, 2024
    Configuration menu
    Copy the full SHA
    56228d7 View commit details
    Browse the repository at this point in the history
  8. build: detach src.gen/ from monorepo (#5667)

    Theory: dependabot is still trying to update src.gen/ dependencies
    because they are managed by the root monorepo. So technically, there is
    no way to avoid updating src.gen's package.json because the root
    package.json is linked to it and impacted by dependabot changes for
    subproject dependencies.
    
    Let's make its own "subrepo" and see if we can get dependabot to ignore
    it finally.
    
    ---
    
    <!--- 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.
    hayemaxi authored Sep 27, 2024
    Configuration menu
    Copy the full SHA
    7f3f45c View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2024

  1. build: remove package.json syncing (#5629)

    Removes the need to copy/sync package JSON contents from core ->
    subproject extensions on build and package.
    
    Summary of changes:
    - Delete syncPackageJson.ts and handlePackageJson.ts
    - Consolidate testing scripts and make small improvements (e.g.
    validation, handle multiple directories to import tests from)
    - package.json is now fully complete in `amazonq/`, `toolkit/`. Changes
    to extensions should be made only the respective file (except for
    icons).
    - `toolkit/` runs unit, e2e, and integ tests from `core/`. It will also
    run any of its own tests (but those don't exist yet).
    - Web tests now moved to and run from `amazonq/`. This was decided
    because `amazonq/` is more likely to support web than `toolkit/` at this
    time. Also, it didn't seem possible to run the web tests from `core/`
    like the other tests because it relies on webpack and a separate test
    runner.
    - No longer create web-based webpacks for `core/`
    
    Follow up work:
    - Get [packageJSON
    properties](https://github.com/aws/aws-toolkit-vscode/blob/46b409c3353ce0dafefb796f5994c1fa88a23b47/packages/core/src/shared/vscode/env.ts#L61-L74)
    from `context.extension.packageJSON` instead.
    - Cleanup any remaining unneeded tasks in `.vscode/tasks.json`
    - Move icons out of `core/package.json`.
    - Continue to investigate: can we run web tests from core like other
    tests? Toolkit may have a use in web mode one day.
    
    ---
    
    <!--- 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.
    hayemaxi authored Sep 30, 2024
    Configuration menu
    Copy the full SHA
    9eea1f3 View commit details
    Browse the repository at this point in the history
  2. ci: snooze techdebt

    justinmk3 committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    5f68d0e View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. feat(amazonq): Re-enable generate unit tests command and context menu…

    … item (#5699)
    
    ## Problem
    
    Command and context menu item for unit test generation was disabled for
    internal users before last release. We are ready to enable now.
    
    ## Solution
    
    This PR enables the context menu item and commands for unit test
    generation.
    bweedop authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    de3c246 View commit details
    Browse the repository at this point in the history
  2. test(ec2): fix flaky windows test. (#5661)

    ## Problem
    The test case here:
    https://github.com/aws/aws-toolkit-vscode/blob/359b1d8252a32e064482678110c5931630bd49e0/packages/core/src/test/awsService/ec2/model.test.ts#L132C9-L146C11
    
    This test is unaware of the side-effect that it will attempt to
    explicitly delete the keys when generating. Originally, the delete was
    conditional on the keys existing in the directory, so this test case was
    not a problem since they never existed. However, on windows that check
    was faulty, leading to the case where the windows file system reported
    that the keys existed, which lead it to attempting to delete the root
    directory.
    
    ## Solution
    - Modify `tryRun` to accept an `onStdOut` optional parameter that lets
    us accept the overwrite prompt from `ssh-keygen`.
    - Do not explicitly delete the files in the generation function, make
    this part of the generation step.
    
    The benefits of this approach are that we moved the side-effects to a
    place where they are expected, in the key generation process itself. It
    also inherently avoids the potentially faulty check if the key files
    exist, as we only use `onStdOut` if when the keys exist.
    
    ### Notes
    - `packages/core/src/awsService/ec2/sshKeyPair.ts:49` includes `any`
    which should be `ChildProcess`. For some reason the import fails in CI,
    so I left it as `any`. Refer to `attempt to import child process` commit
    for logs.
    
    ---
    
    <!--- 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: Justin M. Keyes <[email protected]>
    Hweinstock and justinmk3 authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    27f869b View commit details
    Browse the repository at this point in the history
  3. test(ec2): fix flaky tests regarding child node updates. (#5698)

    ## Problem
    The issue is here:
    https://github.com/aws/aws-toolkit-vscode/blob/9eea1f3700930df79620ef26ff6a43450e593580/packages/core/src/awsService/ec2/explorer/ec2ParentNode.ts#L55-L64
    This fires off multiple asynchronous calls on each child, with the
    function returning before any are resolved. Thus, the child node could
    be deleted from the set after this function returned (potentially when
    another piece of code is using it). This leads to `undefined` errors
    within that function.
    ## Solution
    Refactor the code to make use of a `for...of` with `await` pattern. 
    
    ---
    
    <!--- 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.
    Hweinstock authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    fde2fe5 View commit details
    Browse the repository at this point in the history
  4. feat(filesystem): add stub for chmod to filesystem wrapper (#5647)

    ## Problem
    Changing the permissions of a file is currently not supported by the
    file system wrapper.
    
    ## Solution
    Implement a stub chmod that does nothing on web, and uses `fs` to modify
    permissions in non-web environments.
    
    ---
    
    <!--- 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: Justin M. Keyes <[email protected]>
    Hweinstock and justinmk3 authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    37d97c4 View commit details
    Browse the repository at this point in the history
  5. fix: rename Application Composer to Infrastructure Composer #5701

    ## Problem
    We will rename Application Composer to Infrastructure Composer as our
    service name. We need to do the same thing in VSCode toolkit
    
    ## Solution
    We will rename all user visible things first
    Galaoaoa authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    7fdb8f9 View commit details
    Browse the repository at this point in the history
  6. fix(auth): make view container responsive (#5700)

    make auth container responsive
    
    # Before - The content scales down to 0.6x when the width in less than
    260px
    
    https://github.com/user-attachments/assets/d38db517-4734-435f-8100-b6a65d502c75
    
    # After
    ## Login Screen
    
    https://github.com/user-attachments/assets/17b579e1-003f-42aa-967e-7565e66624f0
    
    ## Re-Auth Screen
    
    https://github.com/user-attachments/assets/2cd8754d-6707-4cd4-a250-7b28a0cd7de5
    
    
    
    License: I confirm that my contribution is made under the terms of the
    Apache 2.0 license.
    ivikash authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    486dd03 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2024

  1. feat(amazonq): changed legal text in prompt UI footer (#5691)

    ## Description
    Updated the legal disclaimer text in the footer of the chat client. This
    is done as a clarification of compliant use according to the AWS AI
    policy.
    Jurredr authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    f27ddbe View commit details
    Browse the repository at this point in the history
  2. refactor(deps): remove unnecessary code (#5707)

    We dont need this code anymore
    
    ---
    
    <!--- 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.
    
    Signed-off-by: nkomonen-amazon <[email protected]>
    nkomonen-amazon authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    1e462f9 View commit details
    Browse the repository at this point in the history
  3. refactor(core): Remove trackPerformance from telemetry (#5708)

    ## Problem
    - withPerformance was an experiment to see if we could correlate
    cpu/memory with number of files
    
    
    ## Solution
    - Cpu usage/memory usage in the extension host is way too volitile so we
    might as well clean up this code
    
    
    ---
    
    <!--- 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.
    jpinkney-aws authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    762b7b4 View commit details
    Browse the repository at this point in the history
  4. test: IamPolicyChecks #5570

    ## Problem
    IamPolicyChecks currently has no unit tests. This makes the feature
    fragile to changes and at risk to breaking changes.
    
    ## Solution
    Implement unit tests for IamPolicyChecks feature.
    kevluu-aws authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    a4bc012 View commit details
    Browse the repository at this point in the history
  5. refactor(fs): prefer our fs module, eliminate fs-extra #5689

    ## Problem
    We want to avoid fs-extra, and eventually move it to the banned import
    list. As a first step, we remove fs-extra with as much of our own
    `fs.ts` work, and `fs` when not possible.
    
    ## Solution
    - Replace `ensureDir` with `mkDir` as suggested here:
    https://github.com/jprichardson/node-fs-extra/blob/HEAD/docs/ensureDir.md
    - Also `ensureDir` with permissions arg can be `mkDir` with `chmod`
    following.
    - Replace `move` with `rename` since we aren't using virtual file
    system, or crossing disk partitions:
    https://stackoverflow.com/questions/8579055/how-do-i-move-files-in-node-js
    Hweinstock authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    ee917c0 View commit details
    Browse the repository at this point in the history
  6. test: failing IAMPolicy check test #5714

    ## Problem
    There is a test from recent PR that is incorrect given current
    structure. Ex.
    https://github.com/aws/aws-toolkit-vscode/actions/runs/11149044046/job/30987024464
    
    Using `globals.context.asAbsolutePath` will prepend `toolkit` to the
    path, whereas we want to look in `core` for this file.
    
    ## Solution
    - Manually construct the path to be checked.
    Hweinstock authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    6e69c05 View commit details
    Browse the repository at this point in the history
  7. config(dev): re-enable Q dev API retry for read APIs #5706

    ## Problem
    - `/dev` conversation would got terminated by retry-able errors, since
    we disabled the default retry.
    
    ## Solution
    - Re-enable the default to prevent `/dev` from terminated by
    transient/retry-able errors.
    chengoramazon authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    68f6c38 View commit details
    Browse the repository at this point in the history
  8. telemetry(amazonq): change code percentage event to not consider modi…

    …fication (#5696)
    
    ## Problem
    Product thinks that code percentage event should not consider user
    modification
    
    ## Solution
    use raw accepted token count (without considering modification) for the
    percentage field in toolkit telemetry
    there is no change to STE
    
    ---
    
    <!--- 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.
    zixlin7 authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    1205101 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2024

  1. fix(amazonq): do not trigger uninstall when extension auto-updates (#…

    …5673)
    
    Do not trigger uninstall when extension auto-updates
    
    License: I confirm that my contribution is made under the terms of the
    Apache 2.0 license.
    ivikash authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    b6c40e1 View commit details
    Browse the repository at this point in the history
  2. refactor(urls): Remove isCloud9 from constants file (#5717)

    We have some strings that need to resolve a url depending on c9 vs
    toolkit.
    
    The isCloud9() function is causing issues in the constants file. Due to
    some sort of module import order, isCloud9() did not resolve
    appropriately when expected. I think we used the constants file before
    all the dependencies of the isCloud9() function were available
    
    The constants file should be a minimal module with as little external
    dependencies as possible.
    
    ## Solution:
    
    Move the resolution of c9 vs toolkit docs to an external function.
    Update uses everywhere.
    
    ---
    
    <!--- 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.
    
    Signed-off-by: nkomonen-amazon <[email protected]>
    nkomonen-amazon authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    30601ba View commit details
    Browse the repository at this point in the history
  3. feat(telemetry): Crash Monitoring (#5684)

    ## Problem
    We want to know when the extension crashes. Having telemetry will be
    useful.
    The problem is that when the extension crashes it is not running anymore
    so it cannot report that it crashed.
    
    ## Solution
    Create a Crash Monitoring mechanism that has all the instances of an
    extension (Q/Toolkit) work together to monitor eachother for crashes,
    reporting of a crash if it is detected.
    
    To review start with the main file
    `packages/core/src/shared/crashMonitoring/crashMonitoring.ts`,
    specifically the `CrashMonitoring.start()` method.
    
    There is more information in the docstring of the class.
    
    ---
    
    <!--- 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.
    
    ---------
    
    Signed-off-by: nkomonen-amazon <[email protected]>
    Co-authored-by: Justin M. Keyes <[email protected]>
    nkomonen-amazon and justinmk3 authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    65b0148 View commit details
    Browse the repository at this point in the history
  4. feat(amazonq): skip showing users unit test form (#5679) (#5715)

    This reverts commit 0c4289b.
    
    ## Problem
    Re-adding commit after backend fix 
    
    ## Solution
    carolabadeer authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    17ac04f View commit details
    Browse the repository at this point in the history
  5. Release 3.27.0

    aws-toolkit-automation committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    689faaa View commit details
    Browse the repository at this point in the history
  6. Release 1.28.0

    aws-toolkit-automation committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    ec9b78f View commit details
    Browse the repository at this point in the history
  7. Update version to snapshot version: 3.28.0-SNAPSHOT

    aws-toolkit-automation committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    56f7165 View commit details
    Browse the repository at this point in the history
  8. Update version to snapshot version: 1.29.0-SNAPSHOT

    aws-toolkit-automation committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    47886d1 View commit details
    Browse the repository at this point in the history
  9. Merge release into master

    aws-toolkit-automation committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    9088d58 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2024

  1. refactor(telemetry): Remove telemetry.foo.record (#5646)

    ## Problem
    - Theres quite a few missues of telemetry.foo.record inside of the
    codebase and it can be confusing for external contributors
    
    ## Solution
    - Clean up the telemetry interface by only allowing record/increment on
    spans
    jpinkney-aws authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    a386cc3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    33ade2e View commit details
    Browse the repository at this point in the history
  3. fix(test): fix failing integ tests. (#5724)

    ## Problem
    In the recent refactor
    (#5689), there is a
    mismatch in args between our fs and fs-extra. Not caught until integ
    tests were run.
    
    ## Solution
    have default write file method ignores encoding since it uses utf8
    anyway.
    
    ---
    
    <!--- 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.
    Hweinstock authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    8734c52 View commit details
    Browse the repository at this point in the history
  4. test(amazonq): add performance test for prepareRepoData (#5670)

    ## Problem
    Start of reliability work to enhance performance testing of high risk
    code paths.
    
    ## Solution
    `prepareRepoData` in `src/amazonqFeatureDev/util/files.ts` captures many
    potentially high risk paths in a single function, such as `collectFiles`
    and other I/O operations, making it a great place to start performance
    testing.
    
    Two performance tests were added, one for handling a workspace with many
    small files, and one with few large files. Unsurprisingly, the
    performance is significantly better on fewer larger files as it reduces
    # of I/O operations. Thresholds are very lenient to avoid flaky tests.
    
    The "many files" test does 250 files w/ 10 bytes each. The "large files"
    does 10 files w/ 1000 bytes each. These values were chosen to avoid
    flakiness in CI.
    
    ---
    
    <!--- 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.
    Hweinstock authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    25c28d0 View commit details
    Browse the repository at this point in the history
  5. fix(test): rebase test w/ new telemetry (#5726)

    ## Problem
    Last PR: #5670 was not
    rebased onto
    a386cc3,
    so did not include relevant telemetry changes. Therefore tests passed
    until the merge happened.
    
    ## Solution
    change type signature to reflect telemetry changes. 
    
    ---
    
    <!--- 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.
    Hweinstock authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    3f80141 View commit details
    Browse the repository at this point in the history
  6. test(amazonq): performance test for building index and sending to LSP. (

    #5685)
    
    ## Problem
    continuation of reliability work
    
    ## Solution
    `buildIndex` in `src/amazonq/lsp/lspController.ts` captures many
    potentially high risk paths in a single function, such as some I/O
    operations and searching for project directories.
    
    Thresholds determined by running in CI a few times and multiplying the
    observed median by 1.5 to 2.0 depending on variance.
    
    The "many files" test does 250 files w/ 10 bytes each. The "large files"
    does 10 files w/ 1000 bytes each. These values were chosen to avoid
    flakiness in CI.
    
    Included in this PR is removing the use of fs-extra in
    `src/amazonq/lsp/lspController.ts`
    
    ---
    
    <!--- 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.
    Hweinstock authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    af68124 View commit details
    Browse the repository at this point in the history
  7. refactor(fs): prefer our fs and fs to fs-extra (pt2: test files) (#5712)

    ## Problem
    Follow up from #5689,
    focusing on the test files.
    
    ## Solution
    Mostly direct translation, one implementation change from `writeJson` to
    `Json.stringify` then `writeFile` in
    `packages/core/src/test/awsService/cdk/detectCdkProjects.test.ts` line
    120
    
    ---
    
    <!--- 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.
    Hweinstock authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    1bfd53b View commit details
    Browse the repository at this point in the history
  8. lint: ban fs-extra import #5730

    ## Problem
    we want to using the `fs-extra` package.
    
    ## Solution
    Have ESLint do the job for us, error on attempting to import `fs-extra`.
    Hweinstock authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    13282a0 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. fix(startup): Q may fail if Toolkit fails #5731

    Problem:
    If Toolkit fails to start, then Q will also fail to start:
    
    2024-10-01 09:56:13.188 [error] aws.amazonq.refreshConnectionCallback: [
          [TypeError: Cannot read properties of undefined (reading 'getApi')
          at c:\…\dist\src\extensionNode.js:6093:284
    
    Solution:
    Check for undefined `exports`.
    justinmk3 authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    37b6592 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0650ff4 View commit details
    Browse the repository at this point in the history
  3. build: bump minimum vscode to 1.83 #5704

    Problem:
    Minimum vscode version is very old and new features require node 16.
    
    Solution:
    - Increase minimum vscode to 1.83
    - Update techdebt tests.
    Hweinstock authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    a7256e5 View commit details
    Browse the repository at this point in the history
  4. test(amazonq): performance test for LSP setup. (#5677)

    ## Problem
    continuation of reliability work
    
    ## Solution
    `tryInstallLsp` in `src/amazonq/lsp/lspController.ts` captures many
    potentially high risk paths in a single function, such as some I/O
    operations, and heavy use of the `admZip` dependency.
    
    Two performance tests were added, one for handling zipping and
    maniupulating many small files, and one with few large files. Thresholds
    are set very leniently to avoid flaky tests.
    
    The "many files" test does 250 files w/ 10 bytes each. The "large files"
    does 10 files w/ 1000 bytes each. These values were chosen to avoid
    flakiness in CI.
    
    Included in this PR is removing the use of fs-extra in
    `src/amazonq/lsp/lspController.ts`
    Hweinstock authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    401fc1e View commit details
    Browse the repository at this point in the history
  5. refactor(fs): rename read functions to be more specific, add docstrin…

    …gs (#5713)
    
    ## Problem
    Follow up from: #5689
    
    ## Solution
    - rename 'readFileAsString' to 'readFileText' since this function
    assumes a text file (utf-8) encoding.
    - Add missing doc strings to copy and exist within fs wrapper. 
    
    ---
    
    <!--- 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: Justin M. Keyes <[email protected]>
    Hweinstock and justinmk3 authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    65fac13 View commit details
    Browse the repository at this point in the history
  6. test(amazonq): add performance test for zipCode #5709

    ## Problem
    Previous work: https://github.com/aws/aws-toolkit-vscode/pull/5677/files
    
    ## Solution
    Same as previous I/O performance tests.
    Hweinstock authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    8e01816 View commit details
    Browse the repository at this point in the history
  7. telemetry(amazonq): drop collectFiles instrumentation #5725

    ## Problem
    - Follow up on the previous remove trackPerformance PR, we no longer
    need collectFiles telemetry since the data isn't reliable in the
    extension host
    - integ tests are failing because of this
    
    ## Solution
    - Remove the instrumentation
    jpinkney-aws authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    907754c View commit details
    Browse the repository at this point in the history
  8. fix(dev): Q dev handle no change required (#5723)

    Problem
    
    * Q dev won't be able to generate code for unrelated prompts. (e.g.
    explain the code)
    * It would be a bad CX if Q fail to generate code without guiding users
    the proper use cases.
    
    Solution
    
    * Handle no code change required explicitly.
    * Allow users to provide more details
    
    
    https://github.com/user-attachments/assets/cf593cea-cd4d-4b29-9142-d5810d46709c
    chengoramazon authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    c529794 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. telemetry(amazonq): Add client latency metrics for amazon q chat (#5705)

    ## Problem:
    - It's not clear what's meant by cwsprChatTimeToFirstChunk,
    cwsprChatTimeBetweenChunks, cwsprChatFullResponseLatency
    - We don't have any client latency metrics
    
    ## Solution:
    - Clarify the descriptions of cwsprChatTimeToFirstChunk,
    cwsprChatTimeBetweenChunks, cwsprChatFullResponseLatency
    - Implement cwsprTimeToFirstDisplay, cwsprChatTimeBetweenDisplay,
    cwsprChatFullDisplayLatency metrics
    
    ## Other changes:
    - Instead of instrumenting everything via a traceId instead use the
    tabId as the unique identifier and store a traceId when we get it inside
    of the uiEventRecorder. That way we can associate events from a tab to
    the trace without needing to pass the trace around the entire
    application.
    - Lock stopChatMessageTelemetry on the tabId just in case something
    calls that twice for the same event
    
    ## Risks:
    - All flows from start of chat message -> end of chat message need to be
    instrumented otherwise an addChatMessage event wont be sent.
    - RIght now:
       - Right click context menu works
       - Normal chat message work
       - Follow up button works
       - Are there any other flows that we need to know about?
    jpinkney-aws authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    de9d7cf View commit details
    Browse the repository at this point in the history
  2. refactor: avoid fs-extra in scripts #5736

    # WIP: still need to test this work since not covered in test suite. 
    ## Problem
    (title) since we want to fully remove this dependency. 
    
    ## Solution
    Use node's built in `fs` module.
    This allows us to avoid forcing these scripts to depend on the project
    code, and keep them as standalone node scripts.
    
    ### Notes
    The outputs are identical in size, but the output of running `diff` of
    two vsix files shows they are not the same:
    ```
    Files qMaster/extension.vsixmanifest and qNew/extension.vsixmanifest differ
    Files qMaster/extension/dist/src/extensionNode.js and qNew/extension/dist/src/extensionNode.js differ
    Files qMaster/extension/dist/src/extensionWeb.js and qNew/extension/dist/src/extensionWeb.js differ
    Files qMaster/extension/dist/test/web/testRunnerWebCore.js and qNew/extension/dist/test/web/testRunnerWebCore.js differ
    Files qMaster/extension/dist/tsconfig.tsbuildinfo and qNew/extension/dist/tsconfig.tsbuildinfo differ
    Files qMaster/extension/package.json and qNew/extension/package.json differ
    Files qMaster/extension/resources/css/icons.css and qNew/extension/resources/css/icons.css differ
    ```
    ```
    Files toolkitMaster/extension.vsixmanifest and toolkitNew/extension.vsixmanifest differ
    Files toolkitMaster/extension/dist/src/extensionNode.js and toolkitNew/extension/dist/src/extensionNode.js differ
    Files toolkitMaster/extension/dist/src/extensionWeb.js and toolkitNew/extension/dist/src/extensionWeb.js differ
    Files toolkitMaster/extension/package.json and toolkitNew/extension/package.json differ
    Files toolkitMaster/extension/resources/css/icons.css and toolkitNew/extension/resources/css/icons.css differ
    ```
    - The manifest changes are due to the hash being different in the name. (safe)
    - `package.json` is also due to the naming difference (safe). 
    - `icons.css` is different even on re-packaging the same project (safe)
    - The .js files and tsbuildinfo differences are difficult to interpret and unsure if they are safe.
    Hweinstock authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    7d6a975 View commit details
    Browse the repository at this point in the history
  3. build: temporarily relax min vscode version

    (until next release)
    justinmk3 committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    1137ac8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e20a8de View commit details
    Browse the repository at this point in the history
  5. refactor(ec2): avoid unnecessary state in sshKeyPair #5648

    `isDeleted` status is determined by looking at the actual file system,
    rather than maintaining additional state
    Hweinstock authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    adccdd4 View commit details
    Browse the repository at this point in the history
  6. Merge #5749 from justinmk3/minvscode

    feat(startup): show message if vscode is outdated
    justinmk3 authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    699919d View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2024

  1. refactor(codewhisperer): remove usage of UserGroupSettings (#5643)

    ## Problem
    Remove *ALL* usage of userGroupSettings as we're pivoting to
    `featureConfigProvider.ts`
    
    ## 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.
    Will-ShaoHua authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    db4bf31 View commit details
    Browse the repository at this point in the history
  2. config(dev): adjust API connection timeout (#5754)

    ## Problem
    
    - The API connection was timing out after 120 seconds, leading to a poor
    customer experience (CX). Users were waiting for 2 minutes before
    receiving a timeout error, which is an unacceptably long wait time.
    
    ## Solution
    
    - Adjust the API connection timeout to 10 seconds, which is
    approximately 3 times the high band of the API's P99 latency.
    - This change should improve the user experience by failing fast in case
    of connection issues.
    
    ---
    
    <!--- 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.
    chengoramazon authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    089c230 View commit details
    Browse the repository at this point in the history
  3. feat(amazonq): Adding userIntent for insertAtCursor and copyToClipboa…

    …rd events for telemetry. (#5748)
    
    ## Problem
    `cwsprChatUserIntent` is returning undefined for
    `amazonq_interactWithMessage` event. This event is emitted for
    insert_code_at_cursor_position, code_was_copied_to_clipboard etc.
    
    
    ## Solution
    - Storing the mapping of `messageId: UserIntent` and sending this if
    user clicked on `insert at cursor` or `copy to clipboard` events.
    
    ---
    
    <!--- 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.
    laileni-aws authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    2172bf9 View commit details
    Browse the repository at this point in the history
  4. refactor(fs): lint rule to avoid node:fs #5755

    ## Problem
    We want to avoid future unnecessary use of `fs` module and maximize
    usage of our wrapper fs. Benefits include:
    - more control over interfacing with fs. 
    - increased web compatibility. 
    - minimizing dependencies. 
    
    ## Solution
    - add a lint rule to discourage future imports of `fs`. 
    - leave current uses as exceptions. 
    - Planning follow up PR to migrate some of the easy uses of fs to our wrapper.
    Hweinstock authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    886aeba View commit details
    Browse the repository at this point in the history
  5. fix(infracomposer): update animate graph for infraComposer in toolkit…

    … README (#5760)
    
    ## Problem
    After renaming Application Composer to Infrastructure Composer, we need
    to update the animate graph in Toolkit/README
    
    ## Solution
    update the animate graph in Toolkit/README
    
    ---
    
    <!--- 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.
    Galaoaoa authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    07b4b67 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4cecf55 View commit details
    Browse the repository at this point in the history
  7. feat(amzonq): inline suggestion more json/yaml files #5733

    YAML files
    - Provide completions for all YAML files.
    - Remove any current CloudFormation-only restrictions for YAML
    
    JSON files
    - Provide completions for a JSON file if the filename matches one of the
    below names or the file content matches the CloudFormation regexp.
    ```
        app.json
        appsettings.json
        bower.json
        composer.json
        db.json
        manifest.json
        package.json
        schema.json
        settings.json
        tsconfig.json
        vcpkg.json
    ```
    Will-ShaoHua authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    e7962f3 View commit details
    Browse the repository at this point in the history
  8. feat(amazonq): Automatically pause and resume @workspace indexing whe…

    …n OS CPU load is high (#5757)
    leigaol authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    9846790 View commit details
    Browse the repository at this point in the history
  9. config(amazonq): crossfile config, increase lines per chunk #5739

    number of lines per chunk: 10 -> 50
    Will-ShaoHua authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    31493a6 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4edf175 View commit details
    Browse the repository at this point in the history
  11. fix(amazonq dev): user can view diffs of previous /dev iterations #5756

    ## Problem
    We currently only support accessing the last code generated (by the Tree
    view). If you try open the diff view in past history, will thrown an
    error. This happens because when we click on past history Tree we
    actually send a "newer" uploadId and didn't keep track of all the past
    ones.
    
    ## Solution
    Cache those uploadIds based on codeGenerationId which can be easily
    accessible while clicking in past views.
    tverney authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    78c448b View commit details
    Browse the repository at this point in the history
  12. telemetry(amazonq dev): track empty path file scenario #5625

    ## Problem
    When customer use workspaces to generate files, RTS and LLM cannot
    decide which folder to deliver the generated file. We're for now
    tracking how many times we reach for accountability and prioritization.
    
    ## Solution
    Add telemetry to count and save the conversationIds that reach this
    specific workspace usage.
    
    PS: This is only included in VS Code since the Workspaces capability is only used here.
    tverney authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    d697f44 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2024

  1. feat(amazonq): Decouple LSP from vector index creation; start LSP by …

    …default (#5702)
    
    ## Problem
    
    Current LSP start is coupled with vector index creation, this should be
    decoupled. We will be having new releases in the LSP to build some other
    indexes for everyone very soon ( not computation expensive as vector
    index), therefore we need to start LSP by default. The vector indexing,
    as a computational expensive index, will be only enabled if opt-in.
    
    ## Solution
    Decouple LSP from vector index creation; start LSP by default
    
    ---
    
    <!--- 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.
    leigaol authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    562128a View commit details
    Browse the repository at this point in the history
  2. feat(amazonq): add button to view diff in IDE (#5338)

    Add `Accept Diff` & `View Diff` button to Amazon Q for auto generated
    code.
    
    
    
    https://github.com/user-attachments/assets/2bd6cf19-0649-4355-8ac5-7eb87bfe27fb
    
    
    
    ## License
    
    By submitting this pull request, I confirm that my contribution is made
    under the terms of the Apache 2.0 license.
    ivikash authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    62e9cfb View commit details
    Browse the repository at this point in the history
  3. refactor(amazonq): move getIndentedCode, cleanup telemetry #5765

    - move getIndentedCode to textDocumentUtilities
    - use cwsprChatInteractionType from aws-toolkit-common
    ivikash authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    d33c256 View commit details
    Browse the repository at this point in the history
  4. telemetry(amazonq): Add new fields in UserTriggerDecision and UserMod…

    …ification events (#5766)
    
    1. bring back UserModification SendTelemetryEvent and track
    acceptedCharacterCount and unmodifiedAcceptedCharacterCount.
    2. combine some latency tracking to the session object
    
    JB PR reference: aws/aws-toolkit-jetbrains#4955 
    ## Problem
    
    
    ## 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.
    andrewyuq authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    c50ca80 View commit details
    Browse the repository at this point in the history
  5. fix(telemetry): Crash monitoring fixes (#5741)

    ## Problem
    
    Crash monitoring is reporting incorrect crash metrics.
    This seems to be due to various filesystem errors such as eperm (even
    though we were doing an operation on a file we created), enospc (the
    user ran out of space on their machine, and other errors.
    
    Because of this we ran in to situations where our state did not reflect
    reality, and due to this certain extension
    instances were seen as crashed.
    
    ## Solution
    
    - Determine if a filesystem is reliable on a machine (try a bunch of
    different filesystem flows and ensure nothing throws), if it is THEN we
    start the crash monitoring process. Otherwise we do not run it since we
    cannot rely it will be accurate.
    - We added a `function_call` metric to allow us to determine the ratio
    of successes to failures
    - Add retries to critical filesystem operations such as the heartbeats
    and deleting a crashed extension instance from the state.
    - Other various fixes
    
    
    ---
    
    <!--- 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.
    
    ---------
    
    Signed-off-by: nkomonen-amazon <[email protected]>
    nkomonen-amazon authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    17e3b6b View commit details
    Browse the repository at this point in the history
  6. telemetry(messages): maybeShowMinVscodeWarning #5762

    ## Problem
    no metrics for notifications.
    
    ## Solution
    add `toolkit_showNotification` to `showMessage` and use it in
    `maybeShowMinVscodeWarning`.
    justinmk3 authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    812b640 View commit details
    Browse the repository at this point in the history
  7. Release 3.28.0

    aws-toolkit-automation committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    a04f886 View commit details
    Browse the repository at this point in the history
  8. Release 1.29.0

    aws-toolkit-automation committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    11dec35 View commit details
    Browse the repository at this point in the history
  9. Update version to snapshot version: 3.29.0-SNAPSHOT

    aws-toolkit-automation committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    725cfa8 View commit details
    Browse the repository at this point in the history
  10. Update version to snapshot version: 1.30.0-SNAPSHOT

    aws-toolkit-automation committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    2e8a1c4 View commit details
    Browse the repository at this point in the history
  11. Merge release into master

    aws-toolkit-automation committed Oct 10, 2024
    Configuration menu
    Copy the full SHA
    16aa368 View commit details
    Browse the repository at this point in the history
  12. feat(dev-mode): always log to aws.dev.logfile at "debug" log-level #5770

    
    
    Problem:
    When debugging the extension, vscode tends to ignore the log-level that
    was set from the `AWS Toolkit Logs` UI.
    
    Solution:
    If the dev-mode `aws.dev.logfile` path is configured, log to it at
    "debug" log-level regardless of the (initial)
    `vscode.LogOutputChannel.logLevel`.
    justinmk3 authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    edd90ca View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2024

  1. Configuration menu
    Copy the full SHA
    7dd3dd7 View commit details
    Browse the repository at this point in the history
  2. fix(tests): use node:fs when globals are not initialized #5772

    ## Problem
    In
    https://github.com/aws/aws-toolkit-vscode/blob/16aa3684f479566bfcf6a9e33f88e70039831e9a/packages/core/src/test/globalSetup.test.ts#L48,
    we use our fs.fs module which accesses globals.isWeb, but globals are not initialized yet.
    
    ```
    Exception has occurred: Error: ToolkitGlobals accessed before initialize()
      at Object.get (/Volumes/workplace/aws-toolkit-vscode/packages/core/src/shared/extensionGlobals.ts:109:23)
        at FileSystem.get isWeb [as isWeb] (/Volumes/workplace/aws-toolkit-vscode/packages/core/src/shared/fs/fs.ts:689:24)
        at FileSystem.mkdir (/Volumes/workplace/aws-toolkit-vscode/packages/core/src/shared/fs/fs.ts:94:63)
        at Runner.<anonymous> (/Volumes/workplace/aws-toolkit-vscode/packages/core/src/test/globalSetup.test.ts:48:18)
    ```
    
    To reproduce, go into master, run any test file individually with
    "Extension Tests (current file) (amazonq)".
    
    ## Solution
    Use node's fs when setting up tests since we must wait for global
    context to be initialized to use our fs.
    Hweinstock authored Oct 11, 2024
    Configuration menu
    Copy the full SHA
    4d14422 View commit details
    Browse the repository at this point in the history
  3. build(deps): bump the npm_and_yarn group across 1 directory with 2 up…

    …dates (#5752)
    
    Bumps the npm_and_yarn group with 2 updates in the / directory:
    [cookie](https://github.com/jshttp/cookie) and
    [express](https://github.com/expressjs/express).
    
    Updates `cookie` from 0.6.0 to 0.7.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/jshttp/cookie/releases">cookie's
    releases</a>.</em></p>
    <blockquote>
    <h2>0.7.1</h2>
    <p><strong>Fixed</strong></p>
    <ul>
    <li>Allow leading dot for domain (<a
    href="https://redirect.github.com/jshttp/cookie/issues/174">#174</a>)
    <ul>
    <li>Although not permitted in the spec, some users expect this to work
    and user agents ignore the leading dot according to spec</li>
    </ul>
    </li>
    <li>Add fast path for <code>serialize</code> without options, use
    <code>obj.hasOwnProperty</code> when parsing (<a
    href="https://redirect.github.com/jshttp/cookie/issues/172">#172</a>)</li>
    </ul>
    <p><a
    href="https://github.com/jshttp/cookie/compare/v0.7.0...v0.7.1">https://github.com/jshttp/cookie/compare/v0.7.0...v0.7.1</a></p>
    <h2>0.7.0</h2>
    <ul>
    <li>perf: parse cookies ~10% faster (<a
    href="https://redirect.github.com/jshttp/cookie/issues/144">#144</a> by
    <a href="https://github.com/kurtextrem"><code>@​kurtextrem</code></a>
    and <a
    href="https://redirect.github.com/jshttp/cookie/issues/170">#170</a>)</li>
    <li>fix: narrow the validation of cookies to match RFC6265 (<a
    href="https://redirect.github.com/jshttp/cookie/issues/167">#167</a> by
    <a href="https://github.com/bewinsnw"><code>@​bewinsnw</code></a>)</li>
    <li>fix: add <code>main</code> to <code>package.json</code> for rspack
    (<a href="https://redirect.github.com/jshttp/cookie/issues/166">#166</a>
    by <a
    href="https://github.com/proudparrot2"><code>@​proudparrot2</code></a>)</li>
    </ul>
    <p><a
    href="https://github.com/jshttp/cookie/compare/v0.6.0...v0.7.0">https://github.com/jshttp/cookie/compare/v0.6.0...v0.7.0</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/jshttp/cookie/commit/cf4658f492c5bd96aeaf5693c3500f8495031014"><code>cf4658f</code></a>
    0.7.1</li>
    <li><a
    href="https://github.com/jshttp/cookie/commit/6a8b8f5a49af7897b98ebfb29a1c4955afa3d33e"><code>6a8b8f5</code></a>
    Allow leading dot for domain (<a
    href="https://redirect.github.com/jshttp/cookie/issues/174">#174</a>)</li>
    <li><a
    href="https://github.com/jshttp/cookie/commit/58015c0b93de0b63db245cfdc5a108e511a81ad0"><code>58015c0</code></a>
    Remove more code and perf wins (<a
    href="https://redirect.github.com/jshttp/cookie/issues/172">#172</a>)</li>
    <li><a
    href="https://github.com/jshttp/cookie/commit/ab057d6c06b94a7b1e3358e69a685ae49c97b627"><code>ab057d6</code></a>
    0.7.0</li>
    <li><a
    href="https://github.com/jshttp/cookie/commit/5f02ca87688481dbcf155e49ca8b61732f30e542"><code>5f02ca8</code></a>
    Migrate history to GitHub releases</li>
    <li><a
    href="https://github.com/jshttp/cookie/commit/a5d591ce8447dd63821779724f96ad3c774c8579"><code>a5d591c</code></a>
    Migrate history to GitHub releases</li>
    <li><a
    href="https://github.com/jshttp/cookie/commit/51968f94b5e820adeceef505539fa193ffe2d105"><code>51968f9</code></a>
    Skip isNaN</li>
    <li><a
    href="https://github.com/jshttp/cookie/commit/9e7ca51ade4b325307eedd6b4dec190983e9e2cc"><code>9e7ca51</code></a>
    perf(parse): cache length, return early (<a
    href="https://redirect.github.com/jshttp/cookie/issues/144">#144</a>)</li>
    <li><a
    href="https://github.com/jshttp/cookie/commit/d6f39b0aab5521a8b118b466a515fd6eb0b9f65e"><code>d6f39b0</code></a>
    Fix tests for old node</li>
    <li><a
    href="https://github.com/jshttp/cookie/commit/6bb701f14e59c5e768933bfae9b578db4ed26c6e"><code>6bb701f</code></a>
    Remove failing scorecard</li>
    <li>Additional commits viewable in <a
    href="https://github.com/jshttp/cookie/compare/v0.6.0...v0.7.1">compare
    view</a></li>
    </ul>
    </details>
    <details>
    <summary>Maintainer changes</summary>
    <p>This version was pushed to npm by <a
    href="https://www.npmjs.com/~blakeembrey">blakeembrey</a>, a new
    releaser for cookie since your current version.</p>
    </details>
    <br />
    
    Updates `express` from 4.21.0 to 4.21.1
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/expressjs/express/releases">express's
    releases</a>.</em></p>
    <blockquote>
    <h2>4.21.1</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>Backport a fix for CVE-2024-47764 to the 4.x branch by <a
    href="https://github.com/joshbuker"><code>@​joshbuker</code></a> in <a
    href="https://redirect.github.com/expressjs/express/pull/6029">expressjs/express#6029</a></li>
    <li>Release: 4.21.1 by <a
    href="https://github.com/UlisesGascon"><code>@​UlisesGascon</code></a>
    in <a
    href="https://redirect.github.com/expressjs/express/pull/6031">expressjs/express#6031</a></li>
    </ul>
    <p><strong>Full Changelog</strong>: <a
    href="https://github.com/expressjs/express/compare/4.21.0...4.21.1">https://github.com/expressjs/express/compare/4.21.0...4.21.1</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/expressjs/express/blob/4.21.1/History.md">express's
    changelog</a>.</em></p>
    <blockquote>
    <h1>4.21.1 / 2024-10-08</h1>
    <ul>
    <li>Backported a fix for <a
    href="https://nvd.nist.gov/vuln/detail/CVE-2024-47764">CVE-2024-47764</a></li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/expressjs/express/commit/8e229f92752ad51462c868b99f6e6c2e559801b0"><code>8e229f9</code></a>
    4.21.1</li>
    <li><a
    href="https://github.com/expressjs/express/commit/a024c8a7b658a178cbdb9bde33030b7500172815"><code>a024c8a</code></a>
    fix(deps): [email protected]</li>
    <li>See full diff in <a
    href="https://github.com/expressjs/express/compare/4.21.0...4.21.1">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot merge` will merge this PR after your CI passes on it
    - `@dependabot squash and merge` will squash and merge this PR after
    your CI passes on it
    - `@dependabot cancel merge` will cancel a previously requested merge
    and block automerging
    - `@dependabot reopen` will reopen this PR if it is closed
    - `@dependabot close` will close this PR and stop Dependabot recreating
    it. You can achieve the same result by closing it manually
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore <dependency name> major version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's major version (unless you unignore this specific
    dependency's major version or upgrade to it yourself)
    - `@dependabot ignore <dependency name> minor version` will close this
    group update PR and stop Dependabot creating any more for the specific
    dependency's minor version (unless you unignore this specific
    dependency's minor version or upgrade to it yourself)
    - `@dependabot ignore <dependency name>` will close this group update PR
    and stop Dependabot creating any more for the specific dependency
    (unless you unignore this specific dependency or upgrade to it yourself)
    - `@dependabot unignore <dependency name>` will remove all of the ignore
    conditions of the specified dependency
    - `@dependabot unignore <dependency name> <ignore condition>` will
    remove the ignore condition of the specified dependency and ignore
    conditions
    You can disable automated security fix PRs for this repo from the
    [Security Alerts
    page](https://github.com/aws/aws-toolkit-vscode/network/alerts).
    
    </details>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 11, 2024
    Configuration menu
    Copy the full SHA
    65ba658 View commit details
    Browse the repository at this point in the history
  4. docs(amazonq): sequence diagram for performance telemetry #5743

    ## Problem
    It's hard to know what certain performance metrics are tracking
    
    ## Solution
    Add documentation
    jpinkney-aws authored Oct 11, 2024
    Configuration menu
    Copy the full SHA
    ef47989 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2024

  1. refactor(tests): move performance tests to testInteg/perf/ #5735

    ## Problem
    Performance test involve running the same code 10 times, and often its
    demanding code. This should live with integ rather than unit tests to
    avoid slow down.
    
    ## Solution
    - Move
    https://github.com/aws/aws-toolkit-vscode/blob/master/packages/core/src/test/amazonqFeatureDev/prepareRepoData.test.ts
    into integ folder.
    - Move
    https://github.com/aws/aws-toolkit-vscode/blob/master/packages/core/src/test/codewhisperer/commands/startSecurityScan.test.ts
    into integ folder.
    Hweinstock authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    1bb57a7 View commit details
    Browse the repository at this point in the history
  2. fix(test): fix flaky test related to ec2.updateStatus (#5758)

    ## Problem
    Follow up to: #5698
    Fix: #5750
    
    ### First Problem Identified
    The current tests in
    https://github.com/aws/aws-toolkit-vscode/blob/master/packages/core/src/awsService/ec2/explorer/ec2ParentNode.ts
    do not clear the `PollingSet` in between tests, therefore the timer
    continues to run. This not only results in inconsistent state between
    the items in the `PollingSet` and the items stored on the parent node
    itself, but also allows the `PollingSet` action to trigger unexpectedly
    in the middle of another test. When this happens, and the states don't
    match, the `instanceId` from the `PollingSet` could potentially not be
    found on the parent node, resulting in an undefined node. Then, calling
    `updateStatus` on this node could explain the error.
    
    For this error to happen, the `PollingSet` timer must trigger at a very
    specific point (in the middle of another test), making it difficult to
    debug and reproduce, and causing occasional flaky test failures.
    
    ### Second Problem Identified
    The tests in
    https://github.com/aws/aws-toolkit-vscode/blob/master/packages/core/src/awsService/ec2/explorer/ec2InstanceNode.ts
    setup an unnatural state. The `testNode` sets its parent to the
    `testParentNode`, but `testParentNode` is unaware this child exists.
    This is problematic because when the child reports its status as pending
    to the parent, the parent will throw an error since it can't find the
    child. (example:
    https://d1ihu6zq92vp9p.cloudfront.net/7b1e96c7-f2b7-4a8e-927c-b7aa84437960/report.html)
    This type of state should not be allowed.
    ## Solution
    ### Solution to first problem
    - clear the set, and the timer in-between each test. 
    
    ### Solution to second problem 
    - make this confusing state impossible by adding the child to the parent
    and parent to the child together.
    - stub the resulting API call its makes. 
    - Disable the polling set timer in the second tests (via sinon stubbing)
    since it isn't relevant to what's being tested.
    
    ### Tangential Work included in PR:
    - Throw our own error when an `instanceId` is not in map on the
    parentNode. This will make it easier to catch if something goes wrong.
    - Clean up test file:
    `src/test/awsService/ec2/explorer/ec2ParentNode.test.ts`.
    
    ---
    
    <!--- 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.
    Hweinstock authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    2efb7a2 View commit details
    Browse the repository at this point in the history
  3. test(amazonq): performance test for registerNewFiles (#5727)

    ## Problem
    Continuation of #5670
    
    ## Solution
    same as previous
    
    ---
    
    <!--- 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.
    Hweinstock authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    4df3106 View commit details
    Browse the repository at this point in the history
  4. test(amazonq): performance test for hashing file in LSP. (#5720)

    ## Problem
    continuation of performance test work:
    #5670
    
    ## Solution
    same as previous.
    CPU threshold set very high because it spikes pretty wildly on this one.
    
    ![image](https://github.com/user-attachments/assets/cc8a6ce9-1be1-4504-b4de-cbafd1241016)
    
    
    ---
    
    <!--- 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.
    Hweinstock authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    e5b5545 View commit details
    Browse the repository at this point in the history
  5. test(amazonq): implement performance test for downloadExportResultArc…

    …hieve. (#5710)
    
    ## Problem
    Continuation of work here:
    #5670
    
    ## Solution
    In this case `downloadExportResultArchieve` is reading a large
    collection of objects into a buffer, then writing that buffer to a file.
    We test this with varying collections of objects. We test 1x1KB,
    10x100B, 100x10B, and 1000x1B.
    
    ---
    
    <!--- 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.
    Hweinstock authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    58a2b18 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2024

  1. deps: bump prettier from 3.3.2 to 3.3.3 (#5781)

    Bumps [prettier](https://github.com/prettier/prettier) from 3.3.2 to
    3.3.3.
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/prettier/prettier/releases">prettier's
    releases</a>.</em></p>
    <blockquote>
    <h2>3.3.3</h2>
    <p>🔗 <a
    href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#333">Changelog</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's
    changelog</a>.</em></p>
    <blockquote>
    <h1>3.3.3</h1>
    <p><a
    href="https://github.com/prettier/prettier/compare/3.3.2...3.3.3">diff</a></p>
    <h4>Add parentheses for nullish coalescing in ternary (<a
    href="https://redirect.github.com/prettier/prettier/pull/16391">#16391</a>
    by <a
    href="https://github.com/cdignam-segment"><code>@​cdignam-segment</code></a>)</h4>
    <p>This change adds clarity to operator precedence.</p>
    <!-- raw HTML omitted -->
    <pre lang="js"><code>// Input
    foo ? bar ?? foo : baz;
    foo ?? bar ? a : b;
    a ? b : foo ?? bar;
    <p>// Prettier 3.3.2<br />
    foo ? bar ?? foo : baz;<br />
    foo ?? bar ? a : b;<br />
    a ? b : foo ?? bar;</p>
    <p>// Prettier 3.3.3<br />
    foo ? (bar ?? foo) : baz;<br />
    (foo ?? bar) ? a : b;<br />
    a ? b : (foo ?? bar);<br />
    </code></pre></p>
    <h4>Add parentheses for decorator expressions (<a
    href="https://redirect.github.com/prettier/prettier/pull/16458">#16458</a>
    by <a
    href="https://github.com/y-schneider"><code>@​y-schneider</code></a>)</h4>
    <p>Prevent parentheses around member expressions or tagged template
    literals from being removed to follow the stricter parsing rules of
    TypeScript 5.5.</p>
    <!-- raw HTML omitted -->
    <pre lang="ts"><code>// Input
    @(foo`tagged template`)
    class X {}
    <p>// Prettier 3.3.2<br />
    <a href="https://github.com/foo"><code>@​foo</code></a><code>tagged
    template</code><br />
    class X {}</p>
    <p>// Prettier 3.3.3<br />
    @(foo<code>tagged template</code>)<br />
    class X {}<br />
    </code></pre></p>
    <h4>Support <code>@let</code> declaration syntax (<a
    href="https://redirect.github.com/prettier/prettier/pull/16474">#16474</a>
    by <a
    href="https://github.com/sosukesuzuki"><code>@​sosukesuzuki</code></a>)</h4>
    <p>Adds support for Angular v18 <code>@let</code> declaration
    syntax.</p>
    <p>Please see the following code example. The <code>@let</code>
    declaration allows you to define local variables within the
    template:</p>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/prettier/prettier/commit/52829385bcc4d785e58ae2602c0b098a643523c9"><code>5282938</code></a>
    Release 3.3.3</li>
    <li><a
    href="https://github.com/prettier/prettier/commit/9102b73d8cd01795e7ba5af8a476d500c5dbcf2c"><code>9102b73</code></a>
    Add parentheses for decorator expressions (<a
    href="https://redirect.github.com/prettier/prettier/issues/16458">#16458</a>)</li>
    <li><a
    href="https://github.com/prettier/prettier/commit/6bbd46194e4db25025afd6fe2f8506a8a2d1e47e"><code>6bbd461</code></a>
    chore(deps): update eslint related dependencies (<a
    href="https://redirect.github.com/prettier/prettier/issues/16478">#16478</a>)</li>
    <li><a
    href="https://github.com/prettier/prettier/commit/04b560fc4386ee2ba1fc7c611c7a78655d6e60da"><code>04b560f</code></a>
    chore(deps): update dependency browserslist to v4.23.2 (<a
    href="https://redirect.github.com/prettier/prettier/issues/16475">#16475</a>)</li>
    <li><a
    href="https://github.com/prettier/prettier/commit/614f070ac5f8d30628cc6cbbca1dda0e080e41d9"><code>614f070</code></a>
    chore(deps): update typescript-eslint to v8.0.0-alpha.41 (<a
    href="https://redirect.github.com/prettier/prettier/issues/16477">#16477</a>)</li>
    <li><a
    href="https://github.com/prettier/prettier/commit/d59a15ded901c6dd66c07cf508e14646a6f12cd9"><code>d59a15d</code></a>
    chore(deps): update dependency npm-run-all2 to v6.2.2 (<a
    href="https://redirect.github.com/prettier/prettier/issues/16476">#16476</a>)</li>
    <li><a
    href="https://github.com/prettier/prettier/commit/5ca2fc9be8369bf8c96899e2e5e8f3264086645a"><code>5ca2fc9</code></a>
    Support Angular <code>@let</code> declaration syntax (<a
    href="https://redirect.github.com/prettier/prettier/issues/16474">#16474</a>)</li>
    <li><a
    href="https://github.com/prettier/prettier/commit/bfcfdccdf892141ce9cfbc179493557157c24e4c"><code>bfcfdcc</code></a>
    chore(deps): update babel to v7.24.8 (<a
    href="https://redirect.github.com/prettier/prettier/issues/16472">#16472</a>)</li>
    <li><a
    href="https://github.com/prettier/prettier/commit/977c161924efa328660fe1802b604de2bc2527ea"><code>977c161</code></a>
    chore(deps): update dependency acorn to v8.12.1 (<a
    href="https://redirect.github.com/prettier/prettier/issues/16464">#16464</a>)</li>
    <li><a
    href="https://github.com/prettier/prettier/commit/550606edf9f3c2e2d2c75f37f627c42030de34a3"><code>550606e</code></a>
    chore(deps): update babel to v7.24.8 (<a
    href="https://redirect.github.com/prettier/prettier/issues/16470">#16470</a>)</li>
    <li>Additional commits viewable in <a
    href="https://github.com/prettier/prettier/compare/3.3.2...3.3.3">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prettier&package-manager=npm_and_yarn&previous-version=3.3.2&new-version=3.3.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot merge` will merge this PR after your CI passes on it
    - `@dependabot squash and merge` will squash and merge this PR after
    your CI passes on it
    - `@dependabot cancel merge` will cancel a previously requested merge
    and block automerging
    - `@dependabot reopen` will reopen this PR if it is closed
    - `@dependabot close` will close this PR and stop Dependabot recreating
    it. You can achieve the same result by closing it manually
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore this major version` will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)
    
    
    </details>
    
    ---------
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Maxim Hayes <[email protected]>
    dependabot[bot] and hayemaxi authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    3b6197b View commit details
    Browse the repository at this point in the history
  2. refactor(q-feature-dev): remove errorName from Error classes #5769

    ## Problem
    - Static `errorName` is unnecessary in feature dev error classes. It
    also causes error code mismatches some of errorName which result in
    wrong state.
    
    ## Solution
    - Remove `errorName` from error classes
    - use class name match to ensure error handled correctly.
    - Add unit tests to cover all the error cases.
    chengoramazon authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    570eaf3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    11b1ce6 View commit details
    Browse the repository at this point in the history
  4. fix(test): unreliable "AuthUtil CodeWhisperer uses fallback connection"

    #5788
    
    ## Problem:
    
    This test was flaky due to the event emitter and the test expecting 2 of
    the same event to come in, but sometimes the second one was not capture.
    
    This looks to be due to the second `captureEventOnce` call needing to do
    some initial setup before it could capture an event. And I think there
    was a race condition between it being setup in time and the event being
    emitted before it could start listening.
    
    ## Solution:
    
    Make a new function which does the event capture once and then listens N
    amount of times. This is reliable.
    nkomonen-amazon authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    ebcb987 View commit details
    Browse the repository at this point in the history
  5. telemetry(amazonq): cwsprChatProgrammingLanguage on insertAtCursor, C…

    …opyAtClipboard #5768
    
    ## Problem
    - Client side telemetry event `interactWithMessage` is missing
    `cwsprChatProgrammingLanguage` parameter which helps to understand the
    language of generated code.
    
    ## Solution
    - Added `cwsprChatProgrammingLanguage` parameter for insertAtCursor and
    CopyAtClipboard events.
    - No Test cases were added in this PR.
    - Added `extractCodeBlockLanguage` function as current UTG Sync API
    sends python and java in the first chunk of generated code but thats the
    not case for other languages. To counter this, I am checking entire
    response for generated code language and emitting those metrics.
    - Added `cwsprChatProgrammingLanguage` in
    [commons](https://github.com/aws/aws-toolkit-common) package:
    aws/aws-toolkit-common#883
    - Added `cwsprChatHasProjectContext and cwsprChatTotalCodeBlocks` in in
    [commons](https://github.com/aws/aws-toolkit-common) package:
    aws/aws-toolkit-common#884
    laileni-aws authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    f3d0f9b View commit details
    Browse the repository at this point in the history
  6. deps: bump @types/webpack-env from 1.18.1 to 1.18.5 (#5606)

    Bumps
    [@types/webpack-env](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack-env)
    from 1.18.1 to 1.18.5.
    <details>
    <summary>Commits</summary>
    <ul>
    <li>See full diff in <a
    href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack-env">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/webpack-env&package-manager=npm_and_yarn&previous-version=1.18.1&new-version=1.18.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot merge` will merge this PR after your CI passes on it
    - `@dependabot squash and merge` will squash and merge this PR after
    your CI passes on it
    - `@dependabot cancel merge` will cancel a previously requested merge
    and block automerging
    - `@dependabot reopen` will reopen this PR if it is closed
    - `@dependabot close` will close this PR and stop Dependabot recreating
    it. You can achieve the same result by closing it manually
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore this major version` will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)
    
    
    </details>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 15, 2024
    1 Configuration menu
    Copy the full SHA
    0164d41 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2024

  1. test(credentials): do not modify developer $HOME #5791

    ## Problem
    https://github.com/aws/aws-toolkit-vscode/blob/0164d4145e58ae036ddf3815455ea12a159d491d/packages/core/src/test/shared/credentials/userCredentialsUtils.test.ts#L38-L39
    
    This test is deleting my actual aws config file.
    
    ## Solution
    Update the environment variable to point to a fake location before test
    Then recover them after test
    roger-zhangg authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    8a5b8d9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6fa3a9e View commit details
    Browse the repository at this point in the history
  3. refactor(fs): use node:fs, drop fs-extra in copyFiles.ts #5761

    ## Problem
    Eliminate fs-extra from the codebase.
    
    ## Solution
    We can use `fs.cp` since node v16.7.0+.
    Note that `overwrite` is now `force` based on
    https://nodejs.org/api/fs.html#fscpsyncsrc-dest-options
    
    Bump the dependency @types/node to avoid casting (fs as any).
    Hweinstock authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    5cbe42b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cba0d2e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    af41d26 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2024

  1. fix(crash): handle sleep/wake appropriately (#5787)

    ## Problem:
    
    When a user does a sleep then wake of their computer, the heartbeat is
    not up to date since it cannot be sent when the user's computer is
    asleep.
    
    Due to this there is a race condition on wake between the next fresh
    heartbeat being sent versus when we check the heartbeats to determine if
    they are stale (crash). If the crash checker runs before a new heartbeat
    can be sent, it will be seen as a crash.
    
    ## Solution:
    
    Use a TimeLag class that helps to determine when there is a time
    discrepancy. It works by updating a state every second, and if we
    determine that the next update to that state took longer than a second,
    we determine that there was a lag. Then we simply skip the next crash
    check, allowing a fresh heartbeat to be sent.
    
    ---
    
    <!--- 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.
    
    ---------
    
    Signed-off-by: nkomonen-amazon <[email protected]>
    nkomonen-amazon authored Oct 17, 2024
    Configuration menu
    Copy the full SHA
    449de46 View commit details
    Browse the repository at this point in the history