Skip to content

Feature: Support Hooks#294222

Closed
pwang347 wants to merge 523 commits intorelease/1.109from
feature/hooks-on-1.109
Closed

Feature: Support Hooks#294222
pwang347 wants to merge 523 commits intorelease/1.109from
feature/hooks-on-1.109

Conversation

@pwang347
Copy link
Copy Markdown
Member

@pwang347 pwang347 commented Feb 10, 2026

connor4312 and others added 30 commits February 3, 2026 22:17
Steering messages are not quite wired up in the extension but I'm happy
with the UX. Quick runthrough of various states: https://memes.peet.io/img/26-02-81ac36ef-1319-46b2-9093-3c05628291dc.mp4

Incidentally fixes #278614 since I ran into that same bug here.

Refs #260330
chat: polishes for steering/queued messages
…text in the page (#291800)

* Prepopulate Find textbox

* Add warning taken from preload.ts

* Small changes

* Refactor preload script comments for clarity and security emphasis

* Small comment change

* Small comment change

* Update comment

* Use isolated world instead of main world

* Comment update

* Update comment

* Update comment

* PR Feedback

* Small comment
* workspaces - allow to join entering workspace (#289653)

* copilot feedback
* build: always repackage electron

* fix: policyExport.integrationTest.ts on windows
* fix: associate extHost lifecycle to window

* chore: update test/smoke/src/areas/extensions/extension-host-restart.test.ts

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

* fix: add grace period when tracking extension host lifecycle

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan

* Add debouncing to urlFinder.ts for improved terminal performance

- Buffer terminal data for 500ms before processing (debounce)
- Skip URL detection when data exceeds 10KB threshold (high-throughput scenarios)
- Add unit tests for debouncing behavior

Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com>

* Address code review feedback: optimize memory usage and use test constant

- Stop buffering data once threshold is exceeded to avoid memory accumulation
- Track total buffer length to avoid recalculating on flush
- Use DEBOUNCE_WAIT_MS constant instead of magic numbers in tests

Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com>

* Fix timer behavior when threshold is exceeded and improve test comments

- Reset debounce timer even when threshold is exceeded
- Improve test comments to be more accurate about the behavior

Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com>

* Simplify with `RunOnceWorker`

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com>
#292770)" (#292812)

Revert "build: always repackage electron from oss entry scripts (#292770)"

This reverts commit fef6f5a.
@xterm/xterm@6.1.0-beta.144, add textBlinking
…tations (#292815)

* make delete annotations work with intersecting annotations

* extending range in test
* ci: fix electron download from test steps

* build: always repackage electron from oss entry scripts
…292848)

Bumps ghcr.io/devcontainers/features/desktop-lite from 1.0.8 to 1.2.8.

---
updated-dependencies:
- dependency-name: ghcr.io/devcontainers/features/desktop-lite
  dependency-version: 1.2.8
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Remove details from auto when not logged in
…erch

Remove unnecessary overflow properties from titlebar and widget styles
…extensions/css-language-features"" (#292870)

Revert "Revert "Bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 in /extensio…"

This reverts commit f4ce567.
…extensions/json-language-features"" (#292871)

Revert "Revert "Bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 in /extensio…"

This reverts commit 02df3fb.
…rbil

Add size registry support to webview theme data provider
bpasero and others added 13 commits February 7, 2026 19:38
* Adjust agent session list item sizing

- Title font size: 12px → 13px
- Details row + status time font size: 11px → 12px
- Title row line-height: 16px → 17px, padding-bottom: 2px → 4px
- Details row line-height: 14px → 15px
- Icon col line-height: 16px → 17px
- List item height: 40px → 44px
- Remove mouse-focused outline override
- Update welcome page hardcoded height

* Fix agent session section padding for right position

* Clean up padding shorthand
assigning to the folding icon variable
* Initial plan

* Fix: Clear input when sending to new chat session

When using Ctrl+Shift+Enter to send a prompt to a new chat session,
the original chat's input is now properly cleared by calling
widget.setInput('') before creating the new session. This ensures
that when navigating back to the original session, the input field
is empty as expected.

Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>

* Add test for SendToNewChatAction input clearing

Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>

* Improve test to verify operation sequence

Updated test to assert that input clearing happens before session
clearing, ensuring the operations occur in the correct order.

Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>

* Replace dynamic import with static import

Use static import and registerChatExecuteActions() call instead of
require() to follow VS Code testing patterns.

Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>

* Remove test rather than fix it

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: roblourens <323878+roblourens@users.noreply.github.com>
Co-authored-by: Rob Lourens <roblourens@gmail.com>
* Track external tool calls

* Tools in progress work, subagents do not

* Remove the subagent stuff

* Safer

* Remove this

* Build fix

* Bump proposed API
Because this would lead to showing all tool calls twice in CC

* Remove this
* Support rendering subagent details from external agents

* fix tests
* =yes

* update

* add test

* update

* adopt Target type

* update

* map model

* move tool mapping to promptsService
* update

* updates

* Update src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.ts

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

* update handling

* PR

* test

* fix test

* cleanup

* nit

* cleanup

* clean

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
roblourens and others added 9 commits February 10, 2026 17:27
* Move PreToolUse to extension

* Migrate PostToolUse
* Refactor hook execution

* Fix compilation: add IExtHostHooks import, remove unused IHookResult, inline ChatRequestHooks type

* Move hooks property to chatHooks proposal, sync DTS

* cleanup

* Remove dead hook execution code: proxy, RPC, output channel, progress events

All hook execution now happens in the extension via NodeHookExecutor.
HooksExecutionService is now a pure registry (registerHooks/getHooksForSession).

Removed:
- executeHook, setProxy, onDidHookProgress from service
- IHooksExecutionProxy, IHookProgressEvent, HookAbortError, formatHookErrorMessage
- hooksCommandTypes.ts, hooksTypes.ts (dead type files)
- mainThreadHooks proxy setup
- extHostHooksNode., extHostHooksWorker.
- ExtHostHooksShape. protocol
- IExtHostHooks DI registrations
- ChatHooksProgressContribution
- All associated test files

* Remove HooksExecutionService entirely

The service was only a registry for session hooks, but hooks are already
passed directly on the chat request DTO. The registerHooks/getHooksForSession
pattern was redundant.

* Restore modelName support in chatSubagentContentPart that was accidentally removed during merge

* Revert unrelated tabIndex change on chatSubagentContentPart

* Remove empty hooks ext host infrastructure

Delete IExtHostHooks, NodeExtHostHooks, WorkerExtHostHooks,
MainThreadHooks, ExtHostHooksShape, MainThreadHooksShape -
all were empty stubs after hook execution moved to extension.

* Remove mainThreadHooks import from extensionHost.contribution

* Fix DTS comments: env and timeoutSec are values, not implementation promises
@pwang347 pwang347 force-pushed the feature/hooks-on-1.109 branch from e9194c6 to 41b6e2a Compare February 11, 2026 01:30
@pwang347 pwang347 closed this Feb 11, 2026
@vs-code-engineering vs-code-engineering bot locked and limited conversation to collaborators Mar 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.