Commit Graph

17242 Commits

Author SHA1 Message Date
Ladislau Szomoru
19e3c145cb Sessions - source control providers do not need the parent/child relationship (#304830) 2026-03-25 18:07:01 +00:00
Alexandru Dima
3460bdb15c Fix command rewriting issues when terminal sandboxing is enabled (#303859)
* fix: command rewriting issues when terminal sandboxing is enabled

Fixes two issues with sandboxed terminal commands:

1. Sandboxed commands end up in shell history (#303769): The
   PreventHistoryRewriter was running before SandboxRewriter, so the
   leading space was applied to the inner command but not the final
   sandbox-wrapped command. Moved PreventHistoryRewriter to run last.

2. cd CWD prefix not stripped in sandbox mode (#303848): The
   SandboxedCommandLinePresenter was using the original (un-rewritten)
   command for display, bypassing cd prefix stripping. Changed to use
   forDisplay instead.

3. Fixed forDisplay being clobbered: The rewriter loop unconditionally
   overwrote forDisplay, so later rewriters without a forDisplay
   (like PreventHistoryRewriter) would clear the sandbox's display
   value. Changed to only update when explicitly provided.

Fixes #303769
Fixes #303848

* update doc comment for SandboxedCommandLinePresenter

* improve execute strategy logging for CI diagnostics

Upgrade strategy selection and completion logs to info level in
runInTerminalTool. In richExecuteStrategy, log at info level when
running in CI (for diagnosing shell integration race conditions)
and debug otherwise.

* fix: include ignorespace in bash shell integration history verification

When VSCODE_PREVENT_SHELL_HISTORY=1 is set (which it is for all tool
terminals created by the run_in_terminal tool), the bash shell
integration script sets HISTCONTROL="ignorespace" (line 67). This
causes bash to exclude space-prefixed commands from history.

Later in the same script (line 200), a regex decides whether to use
`history 1` or $BASH_COMMAND to capture the current command in
__vsc_preexec. The regex checks for erasedups, ignoreboth, and
ignoredups — but NOT ignorespace. This is a bug because:

1. The same script sets HISTCONTROL=ignorespace 130 lines earlier
2. ignoreboth (which IS in the regex) is defined by bash as
   "ignorespace + ignoredups" — so the compound form was handled
   but the simple form was not

The consequence: with HISTCONTROL=ignorespace and __vsc_history_verify=1,
__vsc_preexec calls `history 1` to get the current command. But the
command has a leading space (added by PreventHistoryRewriter), so bash
history never recorded it. `history 1` returns the PREVIOUS command
or nothing. This causes __vsc_current_command to be wrong or empty.

In __vsc_command_complete, when __vsc_current_command is empty, the
script sends the OSC sequence 633;D WITHOUT an exit code (line 373).
The VS Code side then receives onCommandFinished with exitCode=undefined,
breaking exit code detection for ALL tool terminal commands on bash.

The fix adds ignorespace to the existing regex, so bash falls back to
$BASH_COMMAND (which always works regardless of history settings).
This matches the behavior already provided when ignoreboth is set.

* docs: improve fix-ci-failures skill with faster log retrieval workflow
2026-03-22 18:04:12 +01:00
Alexandru Dima
ca117fbb4f Accept "Command produced no output" when shell integration is off (#303866)
Accept "Command produced no output" when shell integration is off (#303865)
2026-03-22 14:36:27 +00:00
Alex Dima
487646cee8 Attempt to cover up the run_in_terminal tool not being registered quickly 2026-03-22 10:50:35 +01:00
Alexandru Dima
5563927f89 Fix terminal output capture: prevent premature idle detection and handle partial command echoes
- setupRecreatingStartMarker returns IDisposable to stop marker recreation
  before sending commands (prevents marker jumping on PSReadLine re-renders)
- noneExecuteStrategy waits for cursor to move past start line after sendText
  before starting idle detection (prevents end marker at same line as start)
- findCommandEcho supports suffix matching for partial command echoes from
  wrapped getOutput() results (shell integration ON with long commands)
- Suffix matching requires mid-word split to avoid false positives on output
  that happens to be a suffix of the command (e.g. echo output)
- Integration tests: use ; separator on Windows, add && conversion test,
  handle Windows exit code quirks with cmd /c
2026-03-22 00:46:48 +01:00
Alex Dima
4ed68ee36f Fix slash history test 2026-03-21 23:23:32 +01:00
Alex Dima
436b09abc3 Fix sandbox tests for Linux: handle different shell path and error message
- Handle /usr/bin/bash (Linux) vs /bin/bash (macOS) in /tmp write test
- Handle 'Read-only file system' (Linux) vs 'Operation not permitted' (macOS)
- Add 'Read-only file system' to outputLooksSandboxBlocked heuristic
- Replace newlines with spaces (not empty) to handle terminal wrapping
- Extract outputLooksSandboxBlocked as exported function with unit tests
2026-03-21 22:36:04 +01:00
Alex Dima
f4644120bc Cover case where the command is duplicated in stripCommandEchoAndPrompt 2026-03-21 22:28:19 +01:00
Alex Dima
f4c042bfc8 Relax some tests when shell integration is off 2026-03-21 19:56:04 +01:00
Alex Dima
865568dbbc fix: Linux CI sandbox prereqs, platform-aware tests, broader prompt stripping
- Add bubblewrap and socat to Linux CI apt-get install
- Make sandbox test assertions platform-aware (macFileSystem vs linuxFileSystem)
- Make /etc/shells test accept both macOS and Linux first-line format
- Broaden wrapped prompt fragment regex to handle path chars (ts/testWorkspace$)
- Fix continuation pattern to match user@host:path wrapped lines
- Apply stripCommandEchoAndPrompt to getOutput() in BasicExecuteStrategy
  (basic shell integration lacks reliable 133;C markers so getOutput()
  can include command echo)
- Keep RichExecuteStrategy getOutput() unstripped (rich integration
  has reliable markers)
2026-03-21 19:06:50 +01:00
Alex Dima
34dd7810b7 fix: strip command echo and prompt from terminal output (#303531)
Prevent sandbox-wrapped command lines from leaking as output when

commands produce no actual output. Adds stripCommandEchoAndPrompt()

to isolate real output from marker-based terminal buffer captures.

Also adds configurable idle poll interval and shell integration

timeout=0 support for faster test execution.
2026-03-21 17:43:25 +01:00
Matt Bierner
36ec9dbe69 Merge branch 'main' into child-process 2026-03-20 16:19:08 -07:00
Ladislau Szomoru
7dcd2c9178 Git - update DotGit file watcher to ignore worktree index.lock files (#303504)
* Git - update DotGit file watcher to ignore worktree index.lock files

* Apply suggestion from @Copilot

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-20 09:47:24 -07:00
Berke Batmaz
4743b9431b fix(git): correctly pluralise line_length input validation (#301071)
Correctly pluralise line_length git diagnostic
2026-03-20 15:33:55 +00:00
Kyle Cutler
b4018e320b Never use simple browser on desktop (#303312)
* Never use simple browser on desktop

* Update extensions/simple-browser/package.nls.json

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-19 14:56:56 -07:00
Kyle Cutler
3f4f33b7da Fix close tracking in browser API (#303304) 2026-03-19 13:47:36 -07:00
Logan Ramos
c0f95d9bb1 Fix GDPR comment conflict (#303201) 2026-03-19 14:18:38 +00:00
BeniBenj
af3fd6fcba fix task reveal logic 2026-03-18 17:32:08 +01:00
Joel Johansson
055de422e4 Add configurable severity levels for JSON validation (#297911)
Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
2026-03-18 15:26:28 +00:00
Lee Murray
778ef353cd Update hover background color in 2026 Dark theme (#302802)
fix: update list hover background color in 2026 Dark theme

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
2026-03-18 18:11:56 +05:00
dependabot[bot]
1b8d01571a build(deps): bump file-type from 21.3.1 to 21.3.2 in /extensions/git (#302473)
Bumps [file-type](https://github.com/sindresorhus/file-type) from 21.3.1 to 21.3.2.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/compare/v21.3.1...v21.3.2)

---
updated-dependencies:
- dependency-name: file-type
  dependency-version: 21.3.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-17 16:47:03 +00:00
dependabot[bot]
81607b72dc build(deps-dev): bump undici from 7.22.0 to 7.24.1 in /extensions/notebook-renderers (#301646)
build(deps-dev): bump undici in /extensions/notebook-renderers

Bumps [undici](https://github.com/nodejs/undici) from 7.22.0 to 7.24.1.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v7.22.0...v7.24.1)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-17 09:17:49 -07:00
Benjamin Christopher Simmonds
fe0599f4fa Merge pull request #302407 from microsoft/benibenj/worthy-earthworm
Minor updates to session tasks
2026-03-17 12:42:18 +01:00
Lee Murray
16bb37eae9 Update command center styles and titlebar border radius (#302404)
fix: update command center background and border styles in theme and adjust titlebar border radius

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
2026-03-17 12:39:17 +01:00
Ladislau Szomoru
cff3949e5d Git - add new API to help with computing a diff with stats between two commits (#302402) 2026-03-17 11:05:04 +00:00
BeniBenj
27bcf17319 minor sessions task changes 2026-03-17 11:45:14 +01:00
Lee Murray
35c088b92c Update color settings in 2026 Dark theme for improved visibility (#302147)
* Update color settings in 2026 Dark theme for improved visibility

* Potential fix for pull request finding

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

* Regenerate the colorizer tests

---------

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-16 11:10:29 -07:00
Lee Murray
c6aa4ab9c6 Update button colors in 2026 Dark theme for better visibility (#302165)
fix: update button colors in 2026 Dark theme for better visibility

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
2026-03-16 18:02:25 +01:00
Lee Murray
11a2e60f4f Update theme names and migrate legacy settings (#302085)
* update theme names & make experimental themes new default

* feat: migrate legacy theme settings and update notification handling

* test: add unit tests for migrateThemeSettingsId function

* feat: add command to try new default themes and update notification message

* feat: refactor tryNewDefaultThemes command to use Action2 class

* feat: update theme names to remove 'Default' prefix and improve theme selection logic

* Potential fix for pull request finding

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

* Regenerated all 126 baseline files (108 regular + 18 tree-sitter) by running the colorize integration tests.

---------

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-16 14:58:23 +00:00
Ladislau Szomoru
c3b9417517 Git - second attempt to adopt the @vscode/fs-copyfile package (#301443)
* Reapply "Git - adopt the new package to use copy-on-write for the worktree include files (#299583)" (#300448)

This reverts commit c56c7bc071.

* Attempt to fix tests

* Fix build

* build: copy node_modules into extension bundle

* Regenerate lock file

---------

Co-authored-by: deepak1556 <hop2deep@gmail.com>
2026-03-16 14:14:06 +00:00
BeniBenj
ac554a5b8a should not reveal task details in terminal 2026-03-16 10:52:47 +01:00
Matt Bierner
5ca0ea581f Use markdownDescription for a few more settings
Let's us use inline code elements on these
2026-03-13 11:35:58 -07:00
Kyle Cutler
0bc4bad6ef Proposed browser API for debug support (#300577)
* Proposed browser API for debug support

* build, feedback

* Web stubs

* fix

* close guard

* fixes, add close()

* clean

* Fixes, tests

* lint

* Simplfiy

* feedback
2026-03-13 16:32:58 +01:00
dependabot[bot]
cbc25fffb2 build(deps): bump file-type from 16.5.4 to 21.3.1 in /extensions/git (#300597)
* build(deps): bump file-type from 16.5.4 to 21.3.1 in /extensions/git

Bumps [file-type](https://github.com/sindresorhus/file-type) from 16.5.4 to 21.3.1.
- [Release notes](https://github.com/sindresorhus/file-type/releases)
- [Commits](https://github.com/sindresorhus/file-type/compare/v16.5.4...v21.3.1)

---
updated-dependencies:
- dependency-name: file-type
  dependency-version: 21.3.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix(git): update file-type import for v21.x API (#301231)

* Initial plan

* fix: update file-type import for v21.x API changes

Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: rzhao271 <7199958+rzhao271@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2026-03-12 14:32:40 -07:00
Matt Bierner
cfff60f09d Merge pull request #300860 from mjbvz/dev/mjbvz/heavy-swallow
Re-remove webpack (again again)
2026-03-11 18:14:40 -07:00
Benjamin Christopher Simmonds
fe7157a1f3 Merge pull request #300905 from microsoft/benibenj/military-rodent
Add support for running tasks on worktree creation
2026-03-11 21:52:15 +01:00
Benjamin Christopher Simmonds
5d3da238a1 Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-11 21:26:54 +01:00
Matt Bierner
7a090df6c7 Re-remove webpack (again again)
This reverts commit 1d31c3ce40.
2026-03-11 10:46:45 -07:00
Matt Bierner
a9f97ee567 Merge pull request #300847 from mjbvz/dev/mjbvz/conventional-damselfly
Revert "Add `min-release-age` in npmrc files"
2026-03-11 10:39:23 -07:00
BeniBenj
9831d8f09c add support for running tasks on worktree creation 2026-03-11 18:13:56 +01:00
Matt Bierner
af32b7b329 Revert "Add min-release-age in npmrc files"
This reverts commit a440ae0518.
2026-03-11 10:07:42 -07:00
Matt Bierner
1592b94c9a Fix any usages in the markdown preview sources
For #269213
2026-03-11 09:54:42 -07:00
Matt Bierner
deda22fcab Merge pull request #300674 from mjbvz/dev/mjbvz/teenage-gamefowl
Experiment with switching markdown extension to use native privates
2026-03-11 01:10:53 -07:00
Matt Bierner
7df46143a1 Experiment with switching markdown extension to use native privates
Let's try this out with one extension to start
2026-03-10 23:13:16 -07:00
Matt Bierner
15186d2e20 Merge pull request #300665 from mjbvz/dev/mjbvz/intellectual-snake
Fix the `github` extension for esbuild
2026-03-10 23:07:03 -07:00
Matt Bierner
3709d98040 Merge pull request #300641 from mjbvz/dev/mjbvz/fond-loon
Add `min-release-age` in npmrc files
2026-03-10 23:03:40 -07:00
Matt Bierner
a04eb6787a Merge pull request #296821 from tamuratak/make_markdown_range_link_work
markdown-language-features: enhance document link handling with improved URI parsing and selection
2026-03-10 23:02:52 -07:00
Matt Bierner
599fc96f2f Fix the github extension for esbuild 2026-03-10 22:53:03 -07:00
Matt Bierner
6597286e32 Merge pull request #300629 from mjbvz/dev/mjbvz/xenogeneic-silverfish
Use case insensitive file uri compare in md extension
2026-03-10 22:49:16 -07:00
Matt Bierner
e9b82791e6 Commit other npmrc files 2026-03-10 20:56:09 -07:00