aws / aws/aws-toolkit-vscode

Amazon Q chat, "shift+enter" sends message when using US international layout

Open
#7,284 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
2k
Forks
807
Avg merge
10h 12m
Merged PRs (30d)
7

Description

## Problem

On MacOS, I'm using a US keyboard with a "US-international - PC" layout. For some keys (quote, double quote, backtick and a few other) this keyboard layout waits before fully inserting the key, so that "`" followed by "e" results in "è". To insert an individual backquote you can either follow it with a , or just with something that doesn't combine with the backtick.

As the sequence to start a code block is three backticks ```, the keyboard sequence that works in most editors to do that is

``

However in the Amazon Q chat the `` at the end is interpreted by the chat as , hence committing the message to the chat, instead of starting a new line.

``

At that point you were in the middle of explaining something to Q, so you need to stop whatever processing it started doing, copy your whole message because you can't edit it, and then restart again.

The only way to go around it is to add an extra in your sequence, but that's not the normal keyboard behaviour

``

## Steps to reproduce the issue

- Using a US keyboard
- Set the keyboard layout to US-International PC

Image

- Open the Amazon Q chat
- Try to start a code block with ``

## Expected behavior
The message editor should start a code block and move to the next line, instead the message is sent to Q.

## System details (run `AWS: About` and/or `Amazon Q: About`)

- OS: MacOS
- Visual Studio Code version: 1.99.3
- AWS Toolkit version: 3.59.0
- Amazon Q version: 1.65.0

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue in the Amazon Q chat on macOS with the US-International PC layout, using three backticks followed by Shift+Enter. Trace the chat message editor's handling of that key sequence and verify that it inserts a new line and starts a code block without sending the message.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript, vscode
Domain
developer-experience, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.