Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit e6fbc99

Browse files
Merge pull request #636 from codestoryai/fetch-upstream-260524
Fetch upstream 260524
2 parents 4e58986 + 6ee6458 commit e6fbc99

File tree

10 files changed

+42
-47
lines changed

10 files changed

+42
-47
lines changed

build/.cachesalt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2024-05-16T14:24:05.381Z
1+
2024-05-25T03:29:59.419Z

build/azure-pipelines/linux/product-build-linux-test.yml

-16
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,6 @@ steps:
100100
timeoutInMinutes: 20
101101

102102
- script: ./scripts/test-remote-integration.sh
103-
env:
104-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
105-
UV_USE_IO_URING: 0
106103
displayName: Run integration tests (Remote)
107104
timeoutInMinutes: 20
108105

@@ -137,8 +134,6 @@ steps:
137134
./scripts/test-remote-integration.sh
138135
env:
139136
VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)
140-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
141-
UV_USE_IO_URING: 0
142137
displayName: Run integration tests (Remote)
143138
timeoutInMinutes: 20
144139
@@ -169,16 +164,10 @@ steps:
169164

170165
- script: yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
171166
timeoutInMinutes: 20
172-
env:
173-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
174-
UV_USE_IO_URING: 0
175167
displayName: Run smoke tests (Browser, Chromium)
176168

177169
- script: yarn smoketest-no-compile --remote --tracing
178170
timeoutInMinutes: 20
179-
env:
180-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
181-
UV_USE_IO_URING: 0
182171
displayName: Run smoke tests (Remote)
183172

184173
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
@@ -189,8 +178,6 @@ steps:
189178
- script: yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
190179
env:
191180
VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)-web
192-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
193-
UV_USE_IO_URING: 0
194181
timeoutInMinutes: 20
195182
displayName: Run smoke tests (Browser, Chromium)
196183

@@ -201,9 +188,6 @@ steps:
201188
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)" \
202189
yarn smoketest-no-compile --tracing --remote --build "$APP_PATH"
203190
timeoutInMinutes: 20
204-
env:
205-
# TODO(deepak1556): Remove this once we update to Node.js >= 20.11.x
206-
UV_USE_IO_URING: 0
207191
displayName: Run smoke tests (Remote)
208192
209193
- script: |

build/checksums/nodejs.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
31d2d46ae8d8a3982f54e2ff1e60c2e4a8e80bf78a3e8b46dcaac95ac5d7ce6a node-v20.9.0-darwin-arm64.tar.gz
2-
fc5b73f2a78c17bbe926cdb1447d652f9f094c79582f1be6471b4b38a2e1ccc8 node-v20.9.0-darwin-x64.tar.gz
3-
d2a7dbeeb274bfd16b579d2cafb92f673010df36c83a5b55de3916aad6806a6a node-v20.9.0-linux-arm64.tar.gz
4-
a28a0de05177106d241ef426b3e006022bc7d242224adace7565868bd9ee6c06 node-v20.9.0-linux-armv7l.tar.gz
5-
f0919f092fbf74544438907fa083c21e76b2d7a4bc287f0607ada1553ef16f60 node-v20.9.0-linux-x64.tar.gz
6-
54e165b89e75158993910053db5b0e652c1826521e624126de5ca6de9ff7b06d win-arm64/node.exe
7-
538140015da83597ea7e7ef5e108ebac8a2dc4784b2a4134222b6c27c39f90ad win-x64/node.exe
1+
e0065c61f340e85106a99c4b54746c5cee09d59b08c5712f67f99e92aa44995d node-v20.11.1-darwin-arm64.tar.gz
2+
c52e7fb0709dbe63a4cbe08ac8af3479188692937a7bd8e776e0eedfa33bb848 node-v20.11.1-darwin-x64.tar.gz
3+
e34ab2fc2726b4abd896bcbff0250e9b2da737cbd9d24267518a802ed0606f3b node-v20.11.1-linux-arm64.tar.gz
4+
e42791f76ece283c7a4b97fbf716da72c5128c54a9779f10f03ae74a4bcfb8f6 node-v20.11.1-linux-armv7l.tar.gz
5+
bf3a779bef19452da90fb88358ec2c57e0d2f882839b20dc6afc297b6aafc0d7 node-v20.11.1-linux-x64.tar.gz
6+
a5a9d30a8f7d56e00ccb27c1a7d24c8d0bc96a2689ebba8eb7527698793496f1 win-arm64/node.exe
7+
bc585910690318aaebe3c57669cb83ca9d1e5791efd63195e238f54686e6c2ec win-x64/node.exe

cgmanifest.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -516,11 +516,11 @@
516516
"git": {
517517
"name": "nodejs",
518518
"repositoryUrl": "https://github.com/nodejs/node",
519-
"commitHash": "22f383dcd529d6bf790856db614a35fea78e825f"
519+
"commitHash": "9b1bf44ea9e7785e38c93b7d22d32dbca262df6c"
520520
}
521521
},
522522
"isOnlyProductionDependency": true,
523-
"version": "20.9.0"
523+
"version": "20.11.1"
524524
},
525525
{
526526
"component": {

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "code-oss-dev",
33
"version": "1.90.0",
4-
"distro": "0f8d3c619e9a416854972b1f496b1eedc727ab18",
4+
"distro": "0263315aff0fc2c40701c5b26cfc53a6f76bf058",
55
"author": {
66
"name": "Microsoft Corporation"
77
},

remote/.yarnrc

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
disturl "https://nodejs.org/dist"
2-
target "20.9.0"
3-
ms_build_id "274207"
2+
target "20.11.1"
3+
ms_build_id "275039"
44
runtime "node"
55
build_from_source "true"

resources/server/bin/code-server-linux.sh

-4
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,4 @@ esac
99

1010
ROOT="$(dirname "$(dirname "$(readlink -f "$0")")")"
1111

12-
# workaround for https://github.com/microsoft/vscode/issues/212678
13-
# Remove this once we update to Node.js >= 20.11.x
14-
export UV_USE_IO_URING=0
15-
1612
"$ROOT/node" ${INSPECT:-} "$ROOT/out/server-main.js" "$@"

src/vs/workbench/contrib/chat/browser/actions/chatClearActions.ts

+16-10
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ import { CHAT_CATEGORY, isChatViewTitleActionContext } from 'vs/workbench/contri
1616
import { clearChatEditor } from 'vs/workbench/contrib/chat/browser/actions/chatClear';
1717
import { CHAT_VIEW_ID, IChatWidgetService } from 'vs/workbench/contrib/chat/browser/chat';
1818
import { ChatEditorInput } from 'vs/workbench/contrib/chat/browser/chatEditorInput';
19-
import { CONTEXT_IN_CHAT_SESSION, CONTEXT_CHAT_ENABLED, CONTEXT_IN_AIDE_CHAT_SESSION, CONTEXT_CHAT_HAS_REQUESTS, CONTEXT_CHAT_REQUEST_IN_PROGRESS } from 'vs/workbench/contrib/chat/common/chatContextKeys';
19+
import { ChatViewPane } from 'vs/workbench/contrib/chat/browser/chatViewPane';
20+
import { CONTEXT_CHAT_ENABLED, CONTEXT_CHAT_HAS_REQUESTS, CONTEXT_CHAT_REQUEST_IN_PROGRESS, CONTEXT_IN_AIDE_CHAT_SESSION, CONTEXT_IN_CHAT_SESSION } from 'vs/workbench/contrib/chat/common/chatContextKeys';
21+
import { IViewsService } from 'vs/workbench/services/views/common/viewsService';
2022

2123
export const ACTION_ID_NEW_CHAT = `workbench.action.chat.newChat`;
2224

@@ -52,7 +54,7 @@ export class ClearChatEditorAction extends Action2 {
5254
if (!widget) {
5355
return;
5456
}
55-
announceChatCleared(accessor);
57+
announceChatCleared(accessor.get(IAccessibilitySignalService));
5658
widget.clear();
5759
widget.focusInput();
5860
}
@@ -78,7 +80,7 @@ export function registerNewChatActions() {
7880
});
7981
}
8082
async run(accessor: ServicesAccessor, ...args: any[]) {
81-
announceChatCleared(accessor);
83+
announceChatCleared(accessor.get(IAccessibilitySignalService));
8284
await clearChatEditor(accessor);
8385
}
8486
});
@@ -113,29 +115,33 @@ export function registerNewChatActions() {
113115
});
114116
}
115117

116-
run(accessor: ServicesAccessor, ...args: any[]) {
118+
async run(accessor: ServicesAccessor, ...args: any[]) {
117119
const context = args[0];
120+
const accessibilitySignalService = accessor.get(IAccessibilitySignalService);
118121
if (isChatViewTitleActionContext(context)) {
119122
// Is running in the Chat view title
120-
announceChatCleared(accessor);
123+
announceChatCleared(accessibilitySignalService);
121124
context.chatView.clear();
122125
context.chatView.widget.focusInput();
123126
} else {
124127
// Is running from f1 or keybinding
125128
const widgetService = accessor.get(IChatWidgetService);
129+
const viewsService = accessor.get(IViewsService);
126130

127-
const widget = widgetService.lastFocusedWidget;
131+
let widget = widgetService.lastFocusedWidget;
128132
if (!widget) {
129-
return;
133+
const chatView = await viewsService.openView(CHAT_VIEW_ID) as ChatViewPane;
134+
widget = chatView.widget;
130135
}
131-
announceChatCleared(accessor);
136+
137+
announceChatCleared(accessibilitySignalService);
132138
widget.clear();
133139
widget.focusInput();
134140
}
135141
}
136142
});
137143
}
138144

139-
function announceChatCleared(accessor: ServicesAccessor): void {
140-
accessor.get(IAccessibilitySignalService).playSignal(AccessibilitySignal.clear);
145+
function announceChatCleared(accessibilitySignalService: IAccessibilitySignalService): void {
146+
accessibilitySignalService.playSignal(AccessibilitySignal.clear);
141147
}

src/vs/workbench/contrib/chat/browser/chatListRenderer.ts

-1
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,6 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
315315
};
316316
const hoverOptions = getChatAgentHoverOptions(() => isResponseVM(template.currentElement) ? template.currentElement.agent : undefined, this.commandService);
317317
templateDisposables.add(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('element'), user, hoverContent, hoverOptions));
318-
templateDisposables.add(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), header, hoverContent, hoverOptions));
319318
templateDisposables.add(dom.addDisposableListener(user, dom.EventType.KEY_DOWN, e => {
320319
const ev = new StandardKeyboardEvent(e);
321320
if (ev.equals(KeyCode.Space) || ev.equals(KeyCode.Enter)) {

src/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions.ts

+13-3
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,16 @@ class AgentCompletions extends Disposable {
203203
const agents = this.chatAgentService.getAgents()
204204
.filter(a => a.locations.includes(widget.location));
205205

206+
// When the input is only `/`, items are sorted by sortText.
207+
// When typing, filterText is used to score and sort.
208+
// The same list is refiltered/ranked while typing.
209+
const getFilterText = (agent: IChatAgentData, command: string) => {
210+
// This is hacking the filter algorithm to make @terminal /explain match worse than @workspace /explain by making its match index later in the string.
211+
// When I type `/exp`, the workspace one should be sorted over the terminal one.
212+
const dummyPrefix = agent.id === 'github.copilot.terminal' ? `0000` : ``;
213+
return `${chatSubcommandLeader}${dummyPrefix}${agent.name}.${command}`;
214+
};
215+
206216
const justAgents: CompletionItem[] = agents
207217
.filter(a => !a.isDefault)
208218
.map(agent => {
@@ -218,7 +228,7 @@ class AgentCompletions extends Disposable {
218228
insertText: `${agentLabel} `,
219229
range: new Range(1, 1, 1, 1),
220230
kind: CompletionItemKind.Text,
221-
sortText: `${chatSubcommandLeader}${agent.id}`,
231+
sortText: `${chatSubcommandLeader}${agent.name}`,
222232
command: { id: AssignSelectedAgentAction.ID, title: AssignSelectedAgentAction.ID, arguments: [{ agent, widget } satisfies AssignSelectedAgentActionArgs] },
223233
};
224234
});
@@ -230,13 +240,13 @@ class AgentCompletions extends Disposable {
230240
const withSlash = `${chatSubcommandLeader}${c.name}`;
231241
return {
232242
label: { label: withSlash, description: agentLabel, detail: isDupe ? ` (${agent.publisherDisplayName})` : undefined },
233-
filterText: `${chatSubcommandLeader}${agent.name}${c.name}`,
243+
filterText: getFilterText(agent, c.name),
234244
commitCharacters: [' '],
235245
insertText: `${agentLabel} ${withSlash} `,
236246
detail: `(${agentLabel}) ${c.description ?? ''}`,
237247
range: new Range(1, 1, 1, 1),
238248
kind: CompletionItemKind.Text, // The icons are disabled here anyway
239-
sortText: `${chatSubcommandLeader}${agent.id}${c.name}`,
249+
sortText: `${chatSubcommandLeader}${agent.name}${c.name}`,
240250
command: { id: AssignSelectedAgentAction.ID, title: AssignSelectedAgentAction.ID, arguments: [{ agent, widget } satisfies AssignSelectedAgentActionArgs] },
241251
} satisfies CompletionItem;
242252
})))

0 commit comments

Comments
 (0)