Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
ef6d5f3
fix: send user preferences to TS server even without visible editor
yogeshwaran-c Mar 26, 2026
cf85bb5
docs: add error construction analysis guidance to fix-errors skill an…
bryanchen-d Mar 25, 2026
460c5cf
Add isSandbox field to toolUse.runInTerminal telemetry
isidorn Mar 26, 2026
e6008d2
refactor: remove unused imports and clean up menu item conditions
mrleemurray Mar 26, 2026
dbc8471
Update @vscode/codicons version to 0.0.46-1 (#304821)
mrleemurray Mar 26, 2026
34c6955
Merge pull request #305127 from microsoft/isidor/runInTerminal-sandbo…
isidorn Mar 26, 2026
cfbbd6b
Merge pull request #305148 from microsoft/mrleemurray/instant-peach-g…
mrleemurray Mar 26, 2026
bbca0fb
fix new chat regression (#305151)
sandy081 Mar 26, 2026
8de7f23
sessions: refactor branch/isolation pickers to use session as source …
sandy081 Mar 26, 2026
d65401c
cache llm generated thinking headers (#304619)
justschen Mar 26, 2026
872217c
feat: implement SplitView for changes panel and enhance CI status wid…
mrleemurray Mar 26, 2026
6eee457
chore: additional error categories for macOS cert api (#305154)
deepak1556 Mar 26, 2026
7e41df9
refactor: simplify layout logic in ChangesViewPane and enhance CIStat…
mrleemurray Mar 26, 2026
6648ece
prompt files: only show problems for files open in editor (#304872)
aeschli Mar 26, 2026
388a59a
fix: adjust padding for twistie icon in chat editing session list
mrleemurray Mar 26, 2026
abdf722
Merge pull request #304987 from yogeshwaran-c/fix/ts-source-add-impor…
mjbvz Mar 26, 2026
f7784f3
refactor: update CIStatusWidget dimensions and adjust layout in Chang…
mrleemurray Mar 26, 2026
cae186c
fixes to sessions (#305205)
sandy081 Mar 26, 2026
1daa2bd
refactor: rename Changes view to Artifacts and clean up related code
mrleemurray Mar 26, 2026
84f7ab5
Update grammars (#305181)
alexr00 Mar 26, 2026
ddc44da
Merge pull request #304938 from microsoft/bryanchen-d/suppress-popula…
bryanchen-d Mar 26, 2026
29d9808
agentHost: ui side for queued messages (#304954)
connor4312 Mar 26, 2026
226c847
Merge pull request #305202 from microsoft/mrleemurray/changes-panel-s…
mrleemurray Mar 26, 2026
10f5057
Add retries to sanity tests for dpkg lock errors on Linux (#305235)
dmitrivMS Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions .github/prompts/fix-error.prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,16 @@ The user has given you a GitHub issue URL for an unhandled error from the VS Cod

Follow the `fix-errors` skill guidelines to fix this error. Key principles:

1. **Do NOT fix at the crash site.** Do not add guards, try/catch, or fallback values at the bottom of the stack trace. That only masks the problem.
2. **Trace the data flow upward** through the call stack to find the producer of invalid data.
3. **If the producer is cross-process** (e.g., IPC) and cannot be identified from the stack alone, **enrich the error message** with diagnostic context (data type, truncated value, operation name) so the next telemetry cycle reveals the source. Do NOT silently swallow the error.
4. **If the producer is identifiable**, fix it directly.
1. **Read the error construction code first.** Before proposing any fix, search the codebase for where the error is constructed (the `new Error(...)` or custom error class instantiation). Read the surrounding code to understand:
- What conditions trigger the error (thresholds, validation checks, categorization logic)
- What parameters, classifications, or categories the error encodes
- What the intended meaning of each category is and what action each warrants
- Whether the error is a symptom of invalid data, a threshold-based warning, or a design-time signal
Use this understanding to determine the correct fix strategy. Do NOT assume what the error means from its message alone — the construction code is the source of truth.
2. **Do NOT fix at the crash site.** Do not add guards, try/catch, or fallback values at the bottom of the stack trace. That only masks the problem.
3. **Trace the data flow upward** through the call stack to find the producer of invalid data.
4. **If the producer is cross-process** (e.g., IPC) and cannot be identified from the stack alone, **enrich the error message** with diagnostic context (data type, truncated value, operation name) so the next telemetry cycle reveals the source. Do NOT silently swallow the error.
5. **If the producer is identifiable**, fix it directly.

After making changes, check for compilation errors via the build task and run relevant unit tests.

Expand Down
28 changes: 28 additions & 0 deletions .github/skills/fix-errors/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,34 @@ throw new Error(`[UriError]: Scheme contains illegal characters. scheme:"${ret.s

**Right fix (when producer is known)**: Fix the code that sends malformed data. For example, if an authentication provider passes a stringified URI instead of a `UriComponents` object to a logger creation call, fix that call site to pass the proper object.

## Understanding error construction before fixing

Before proposing any fix, **always find and read the code that constructs the error**. Search the codebase for the error class name or a unique substring of the error message. The construction code reveals:

- **What conditions trigger the error** — thresholds, validation checks, state assertions
- **What classifications or categories the error encodes** — the error may have subtypes that require different fix strategies
- **What the error's parameters mean** — numeric values, ratios, or flags embedded in the message often encode diagnostic context
- **Whether the error is actionable** — some errors are threshold-based warnings where the threshold may be legitimately exceeded by design

Use this understanding to determine the correct fix strategy. The construction code is the source of truth — do NOT assume what the error means from its message alone.

### Example: Listener leak errors

Searching for `ListenerLeakError` leads to `src/vs/base/common/event.ts`, where the construction code reveals:

```typescript
const kind = topCount / listenerCount > 0.3 ? 'dominated' : 'popular';
const error = new ListenerLeakError(kind, message, topStack);
```

Reading this code tells you:
- The error has two categories based on a ratio
- **Dominated** (ratio > 30%): one code path accounts for most listeners → that code path is the problem, fix its disposal
- **Popular** (ratio ≤ 30%): many diverse code paths each contribute a few listeners → the identified stack trace is NOT the root cause; it's just the most identical stack among many. Investigate the emitter and its aggregate subscribers instead
- For popular leaks: do NOT remove caching/pooling/reuse patterns that appear in the top stack — they exist to solve other problems. If the aggregate count is by design (e.g., many menus subscribing to a shared context key service), close the issue as "not planned"

This analysis came from reading the construction code, not from memorized rules about listener leaks.

## Guidelines

- Prefer enriching error messages over adding try/catch guards
Expand Down
2 changes: 1 addition & 1 deletion .npmrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
disturl="https://electronjs.org/headers"
target="39.8.3"
ms_build_id="13620978"
ms_build_id="13658728"
runtime="electron"
ignore-scripts=false
build_from_source="true"
Expand Down
2 changes: 1 addition & 1 deletion extensions/csharp/cgmanifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"git": {
"name": "dotnet/csharp-tmLanguage",
"repositoryUrl": "https://github.com/dotnet/csharp-tmLanguage",
"commitHash": "2e6860d87d4019b0b793b1e21e9e5c82185a01aa"
"commitHash": "32ee13e806edf480ef9423adcf5ecf61ba39561b"
}
},
"license": "MIT",
Expand Down
30 changes: 29 additions & 1 deletion extensions/csharp/syntaxes/csharp.tmLanguage.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/dotnet/csharp-tmLanguage/commit/2e6860d87d4019b0b793b1e21e9e5c82185a01aa",
"version": "https://github.com/dotnet/csharp-tmLanguage/commit/32ee13e806edf480ef9423adcf5ecf61ba39561b",
"name": "C#",
"scopeName": "source.cs",
"patterns": [
Expand Down Expand Up @@ -5578,6 +5578,12 @@
{
"include": "#preprocessor-app-directive-property"
},
{
"include": "#preprocessor-app-directive-exclude"
},
{
"include": "#preprocessor-app-directive-include"
},
{
"include": "#preprocessor-app-directive-project"
},
Expand Down Expand Up @@ -5627,6 +5633,28 @@
}
}
},
"preprocessor-app-directive-exclude": {
"match": "\\b(exclude)\\b\\s*(.*)?\\s*",
"captures": {
"1": {
"name": "keyword.preprocessor.exclude.cs"
},
"2": {
"name": "string.unquoted.preprocessor.message.cs"
}
}
},
"preprocessor-app-directive-include": {
"match": "\\b(include)\\b\\s*(.*)?\\s*",
"captures": {
"1": {
"name": "keyword.preprocessor.include.cs"
},
"2": {
"name": "string.unquoted.preprocessor.message.cs"
}
}
},
"preprocessor-app-directive-project": {
"match": "\\b(project)\\b\\s*(.*)?\\s*",
"captures": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/julia/cgmanifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"git": {
"name": "JuliaEditorSupport/atom-language-julia",
"repositoryUrl": "https://github.com/JuliaEditorSupport/atom-language-julia",
"commitHash": "93454227ce9a7aa92f41b157c6a74f3971b4ae14"
"commitHash": "25cc285b5e8accab4ff7725eeb8594f458b45ce4"
}
},
"license": "MIT",
Expand Down
4 changes: 2 additions & 2 deletions extensions/julia/syntaxes/julia.tmLanguage.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/JuliaEditorSupport/atom-language-julia/commit/93454227ce9a7aa92f41b157c6a74f3971b4ae14",
"version": "https://github.com/JuliaEditorSupport/atom-language-julia/commit/25cc285b5e8accab4ff7725eeb8594f458b45ce4",
"name": "Julia",
"scopeName": "source.julia",
"comment": "This grammar is used by Atom (Oniguruma), GitHub (PCRE), and VSCode (Oniguruma),\nso all regexps must be compatible with both engines.\n\nSpecs:\n- https://github.com/kkos/oniguruma/blob/master/doc/RE\n- https://www.pcre.org/current/doc/html/",
Expand Down Expand Up @@ -301,7 +301,7 @@
"keyword": {
"patterns": [
{
"match": "\\b(?<![:_\\.])(?:function|mutable\\s+struct|struct|macro|quote|abstract\\s+type|primitive\\s+type|module|baremodule|where)\\b",
"match": "\\b(?<![:_\\.])(?:function|mutable\\s+struct|struct|macro|quote|abstract\\s+type|primitive\\s+type|typegroup|module|baremodule|where)\\b",
"name": "keyword.other.julia"
},
{
Expand Down
2 changes: 1 addition & 1 deletion extensions/latex/cgmanifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"git": {
"name": "jlelong/vscode-latex-basics",
"repositoryUrl": "https://github.com/jlelong/vscode-latex-basics",
"commitHash": "1f62731d63abfd134e03f4744fcbccadac4e0153"
"commitHash": "76dc409348227db00f6779772f7763dc90cdf22e"
}
},
"license": "MIT",
Expand Down
22 changes: 21 additions & 1 deletion extensions/latex/syntaxes/LaTeX.tmLanguage.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/jlelong/vscode-latex-basics/commit/1f62731d63abfd134e03f4744fcbccadac4e0153",
"version": "https://github.com/jlelong/vscode-latex-basics/commit/3eb98ef3aeceedbe3366d6a5192ad6d2948721e8",
"name": "LaTeX",
"scopeName": "text.tex.latex",
"patterns": [
Expand Down Expand Up @@ -3619,6 +3619,23 @@
}
]
},
"unbalanced-env": {
"patterns": [
{
"match": "(\\s*\\\\(?:begin|end)\\{(\\p{Alphabetic}+\\*?)\\})",
"captures": {
"1": {
"patterns": [
{
"include": "#macro-with-args-tokenizer"
}
]
}
},
"name": "meta.function.environment.general.latex"
}
]
},
"all-balanced-env": {
"patterns": [
{
Expand Down Expand Up @@ -3878,6 +3895,9 @@
{
"include": "#documentclass-usepackage-macro"
},
{
"include": "#unbalanced-env"
},
{
"include": "#input-macro"
},
Expand Down
2 changes: 1 addition & 1 deletion extensions/php/cgmanifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"git": {
"name": "language-php",
"repositoryUrl": "https://github.com/KapitanOczywisty/language-php",
"commitHash": "a0f3d9a3b0d017181455ed515e48a36607a90e3b"
"commitHash": "cd607a522b79c457fe78bf7a1b04511d1c49f693"
}
},
"license": "MIT",
Expand Down
Loading
Loading