Sandeep SomavarapuandCopilot 0f38037aac sessions: Show pending approvals on their own chat rows (#332795)
* sessions: Show pending approvals on their own chat rows

Now that a session's nested chats are rendered as child rows, surface each
chat's pending tool approval on that chat's row instead of aggregating every
chat's approval onto the parent session row. The session row keeps showing only
its main chat's approval; nested/side chats show theirs on their own rows.

Flat, chat-less lists (blocked-sessions dropdown, automations) still aggregate
an approval from any of a session's chats onto the session row, since they don't
render chat rows — gated by a new `aggregateChatApprovals` flag on the shared
renderer/delegate.

The approval-row markup and styling are extracted into a shared helper and a
top-level CSS rule so both the session row and chat rows render identically. The
tree delegate reserves the extra row height (with a small bottom slack) for a
chat that has a pending approval, and updates it reactively as approvals appear
and clear. Adds focused regression tests and component-fixture coverage
(desktop and phone).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: Address PR feedback on chat-row approvals

- Refresh a row's virtualized height on any approval height change, not just
  when an approval appears/clears — the model can swap one pending approval for
  another whose label spans a different number of lines. Track the previously
  reserved approval height and fire when it changes.
- Replace the prohibited `:has()` selector with a `margin-bottom` on the visible
  `.session-approval-row` flex item, reserving the same slack without ancestor
  selector invalidation.
- Give each "Allow" button an explicit ariaLabel naming the command it approves,
  so simultaneously visible buttons are distinguishable to screen readers.
- Add regression tests: flat-list (SessionsFlatList) aggregation of a non-main
  chat's approval onto the session row with height reservation, and a chat row
  growing its height when its approval is replaced by a taller one.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-26 19:50:39 +00:00
2026-08-12 11:19:57 +02:00
2026-07-12 20:30:31 +00:00

Visual Studio Code - Open Source ("Code - OSS")

Feature Requests Bugs

The Repository

This repository ("Code - OSS") is where we (Microsoft) develop the Visual Studio Code product together with the community. Not only do we work on code and issues here, but we also publish our roadmap, monthly iteration plans, and our endgame plans. This source code is available to everyone under the standard MIT license.

Visual Studio Code

VS Code in action

Visual Studio Code is a distribution of the Code - OSS repository with Microsoft-specific customizations released under a traditional Microsoft product license.

Visual Studio Code combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle. It provides comprehensive code editing, navigation, and understanding support along with lightweight debugging, a rich extensibility model, and lightweight integration with existing tools.

Visual Studio Code is updated monthly with new features and bug fixes. You can download it for Windows, macOS, and Linux on the Visual Studio Code website. To get the latest releases every day, install the Insiders build.

Contributing

There are many ways in which you can participate in this project, for example:

If you are interested in fixing issues and contributing directly to the codebase, please see the document How to Contribute, which covers the following:

Feedback

See our wiki for a description of each of these channels and information on some other available community-driven channels.

Many of the core components and extensions to VS Code live in their own repositories on GitHub. For example, the node debug adapter and the mono debug adapter repositories are separate from each other. For a complete list, please visit the Related Projects page on our wiki.

Bundled Extensions

VS Code includes a set of built-in extensions located in the extensions folder, including grammars and snippets for many languages. Extensions that provide rich language support (inline suggestions, Go to Definition) for a language have the suffix language-features. For example, the json extension provides coloring for JSON and the json-language-features extension provides rich language support for JSON.

Development Container

This repository includes a Visual Studio Code Dev Containers / GitHub Codespaces development container.

  • For Dev Containers, use the Dev Containers: Clone Repository in Container Volume... command, which creates a Docker volume for better disk I/O on macOS and Windows.

    • If you already have VS Code and Docker installed, you can also click here to get started. This will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.
  • For Codespaces, install the GitHub Codespaces extension in VS Code, and use the Codespaces: Create New Codespace command.

Docker / the Codespace should have at least 4 cores and 6 GB of RAM (8 GB recommended) to run a full build. See the development container README for more information.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT license.

S
Description
Visual Studio Code
Readme
2.4 GiB
Languages
TypeScript 80.2%
jsonc 15.7%
CSS 1.4%
JavaScript 0.6%
C 0.5%
Other 1.3%