jiebi/CodeConvo huggingface dataset:
Change:
This is a continuation of to implement a proper fix in the runtime or application as necessary. Known data points: SIGTRAP when gpu tried to access resource bundle to load a label for assigning display name when computing vsync interval using the internal implementation rather than the gl extension. Also name from resource bundle is only requested for builtin-displays and not virtual ;l=449-456 Using gpu codepath from main process serves as a workaround. Debian package on the same system didn't trigger the crash codepath, very likely a different gl backend was used. Next steps: 1) Compare gl initialization trace between snap 1.89 and 1.90, using the following categories 2) Compare gl initialization trace between debian 1.90 and snap 1.90 3) Confirm if resource bundle access from gpu process is necessary moving forward.
This turned out to be a regression from https://chromium- which causes the gpu process when using the software display compositor to reach into the resource bundle. Before the CL, gpu process will not call into only the main process did.
is there something to verify here?
This is related to the candidate issue and I was just using it to track fixes. Nothing particular to verify for this particular issue, maybe confirm the checksums for both branches are same vs

Discussion:
disturl "https://electronjs.org/headers" target "29.4.0" <del> ms_build_id "9593362" </del> <ins> ms_build_id "9728852" </ins> runtime "electron" build_from_source "true"

{ "name": "code-oss-dev", "version": "1.91.0", <del> "distro": "170beceb9849568b8f7159757bc3fc3964af1986", </del> <ins> "distro": "361fc45f5932b161db29080d5b19bc5afb9baae6", </ins> "author": { "name": "Microsoft Corporation" },

wait_for_async_execs <del> exec "$@" "--no-sandbox" </del> <ins> exec "$@" </ins>

apps: @@NAME@@: <del> command: electron-launch $SNAP/usr/share/@@NAME@@/bin/@@NAME@@ </del> <ins> command: electron-launch $SNAP/usr/share/@@NAME@@/bin/@@NAME@@ --no-sandbox </ins> common-id: @@NAME@@.desktop url-handler: <del> command: electron-launch $SNAP/usr/share/@@NAME@@/bin/@@NAME@@ --open-url </del> <ins> command: electron-launch $SNAP/usr/share/@@NAME@@/bin/@@NAME@@ --open-url --no-sandbox </ins>
Change:
Type my long commit message Type and suggest widget for issues pops up aggressively Press esc to get rid of it All the commit text is gone I think this is new?

Discussion:
KeybindingsRegistry.registerCommandAndKeybindingRule({ id: 'scm.clearInput', weight: KeybindingWeight.WorkbenchContrib, <del> when: ContextKeyExpr.has('scmRepository'), </del> <ins> when: ContextKeyExpr.and(ContextKeyExpr.has('scmRepository'), SuggestContext.Visible.toNegated()), </ins> primary: KeyCode.Escape, handler: async (accessor) => { const scmService = accessor.get(ISCMService);
Change:
todays insiders open a notebook use cell generate and submit a prompt nothing happens, the error below appears

Discussion:
this._sessionCtor = createCancelablePromise<void>(async token => { await this._startSession(token); <ins> assertType(this._model.value); const model = this._model.value; this._widget?.inlineChatWidget.setChatModel(model); </ins> if (fakeParentEditor.hasModel()) { if (this._widget) {

assertType(this._model.value); assertType(this._strategy); <del> const model = this._model.value; this._widget.inlineChatWidget.setChatModel(model); </del> const lastInput = this._widget.inlineChatWidget.value; this._historyUpdate(lastInput);
Change:
todays insiders do any inline chat query the edits are done live and shows inside the chat diff editor <img width="946" alt="Screenshot 2024-06-14 at 10 59 47" src=""

Discussion:
@IChatService chatService: IChatService, @IHoverService hoverService: IHoverService, ) { <del> super(location, { ...options, chatWidgetViewOptions: { editorOverflowWidgetsDomNode: _parentEditor.getOverflowWidgetsDomNode() } }, instantiationService, contextKeyService, keybindingService, accessibilityService, configurationService, accessibleViewService, textModelResolverService, chatService, hoverService); </del> <ins> super(location, { ...options, chatWidgetViewOptions: { ...options.chatWidgetViewOptions, editorOverflowWidgetsDomNode: _parentEditor.getOverflowWidgetsDomNode() } }, instantiationService, contextKeyService, keybindingService, accessibilityService, configurationService, accessibleViewService, textModelResolverService, chatService, hoverService); </ins> } // --- layout
Change:
The context key used in terminal and notebook chat which is wrong because it signals that there is a chat participant for the editor location and it doesn't know anything about other locations.
It's now removed from the notebook side.

Discussion:
this._sessionCtor = createCancelablePromise<void>(async token => { await this._startSession(token); <ins> assertType(this._model.value); const model = this._model.value; this._widget?.inlineChatWidget.setChatModel(model); </ins> if (fakeParentEditor.hasModel()) { if (this._widget) {

assertType(this._model.value); assertType(this._strategy); <del> const model = this._model.value; this._widget.inlineChatWidget.setChatModel(model); </del> const lastInput = this._widget.inlineChatWidget.value; this._historyUpdate(lastInput);
Change:
mentioned that the current keybinding for this controls speech rate for jaws users on windows should be used for code chat next code block and go to next /previous cell
related ctrl+pagedown/pageup are currently bound to next/previous editor
shouldn't those have context keys though that will mean this can still work for notebook cells?
next/previous editor don't have context keys for those keybindings, so it will be a behavior change. We could add the bindings just for SR mode if you don't think those users would be annoyed by it.
what do you think? I also don't want to surprise users with this behavior change.
I don’t think this is a surprise change. If we weigh the tradeoff, going with the new keybindings avoiding SR keys might be more beneficial in the long run.

Discussion:
import { INotebookActionContext, INotebookCellActionContext, NotebookAction, NotebookCellAction, NOTEBOOK_EDITOR_WIDGET_ACTION_WEIGHT, findTargetCellEditor } from 'vs/workbench/contrib/notebook/browser/controller/coreActions'; import { CellEditState } from 'vs/workbench/contrib/notebook/browser/notebookBrowser'; import { CellKind, NOTEBOOK_EDITOR_CURSOR_BOUNDARY } from 'vs/workbench/contrib/notebook/common/notebookCommon'; <del> import { NOTEBOOK_CELL_HAS_OUTPUTS, NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, NOTEBOOK_CELL_TYPE, NOTEBOOK_CURSOR_NAVIGATION_MODE, NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_OUTPUT_INPUT_FOCUSED, NOTEBOOK_OUTPUT_FOCUSED } from 'vs/workbench/contrib/notebook/common/notebookContextKeys'; </del> <ins> import { NOTEBOOK_CELL_HAS_OUTPUTS, NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, NOTEBOOK_CELL_TYPE, NOTEBOOK_CURSOR_NAVIGATION_MODE, NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_OUTPUT_INPUT_FOCUSED, NOTEBOOK_OUTPUT_FOCUSED, NOTEBOOK_CELL_EDITOR_FOCUSED } from 'vs/workbench/contrib/notebook/common/notebookContextKeys'; </ins> const NOTEBOOK_FOCUS_TOP = 'notebook.focusTop'; const NOTEBOOK_FOCUS_BOTTOM = 'notebook.focusBottom';

weight: KeybindingWeight.WorkbenchContrib }, { <del> when: NOTEBOOK_EDITOR_FOCUSED, primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageDown, mac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageDown, }, weight: KeybindingWeight.WorkbenchContrib </del> <ins> when: ContextKeyExpr.and(NOTEBOOK_CELL_EDITOR_FOCUSED, CONTEXT_ACCESSIBILITY_MODE_ENABLED), primary: KeyMod.CtrlCmd | KeyCode.PageDown, mac: { primary: KeyMod.WinCtrl | KeyCode.PageUp, }, weight: KeybindingWeight.WorkbenchContrib + 1 </ins> }, ] });

weight: KeybindingWeight.WorkbenchContrib, // markdown keybinding, focus on list: higher weight to override list.focusDown }, { <del> when: NOTEBOOK_EDITOR_FOCUSED, primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageUp, mac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.PageUp }, weight: KeybindingWeight.WorkbenchContrib </del> <ins> when: ContextKeyExpr.and(NOTEBOOK_CELL_EDITOR_FOCUSED, CONTEXT_ACCESSIBILITY_MODE_ENABLED), primary: KeyMod.CtrlCmd | KeyCode.PageUp, mac: { primary: KeyMod.WinCtrl | KeyCode.PageUp, }, weight: KeybindingWeight.WorkbenchContrib + 1 </ins> }, ], });
Change:
The current read-only message has a link that will take you to settings, but all I ever want to do is immediately toggle the file.
To verify: Open your clone of the this repo Open a file from the folder Try to edit the file Verify that the read-only message offers a one-click way to make the file writeable.

Discussion:
private static readonly READONLY_MESSAGES = { providerReadonly: { value: localize('providerReadonly', "Editor is read-only because the file system of the file is read-only."), isTrusted: true }, sessionReadonly: { value: localize({ key: 'sessionReadonly', comment: ['Please do not translate the word "command", it is part of our internal syntax which must not change', '{Locked="](command:{0})"}'] }, "Editor is read-only because the file was set read-only in this session. [Click here](command:{0}) to set writeable.", 'workbench.action.files.setActiveEditorWriteableInSession'), isTrusted: true }, <del> configuredReadonly: { value: localize({ key: 'configuredReadonly', comment: ['Please do not translate the word "command", it is part of our internal syntax which must not change', '{Locked="](command:{0})"}'] }, "Editor is read-only because the file was set read-only via settings. [Click here](command:{0}) to configure.", `workbench.action.openSettings?${encodeURIComponent('["files.readonly"]')}`), isTrusted: true }, </del> <ins> configuredReadonly: { value: localize({ key: 'configuredReadonly', comment: ['Please do not translate the word "command", it is part of our internal syntax which must not change', '{Locked="](command:{0})"}'] }, "Editor is read-only because the file was set read-only via settings. [Click here](command:{0}) to configure or [toggle for this session](command:{1}).", `workbench.action.openSettings?${encodeURIComponent('["files.readonly"]')}`, 'workbench.action.files.toggleActiveEditorReadonlyInSession'), isTrusted: true }, </ins> fileLocked: { value: localize({ key: 'fileLocked', comment: ['Please do not translate the word "command", it is part of our internal syntax which must not change', '{Locked="](command:{0})"}'] }, "Editor is read-only because of file permissions. [Click here](command:{0}) to set writeable anyway.", 'workbench.action.files.setActiveEditorWriteableInSession'), isTrusted: true }, fileReadonly: { value: localize('fileReadonly', "Editor is read-only because the file is read-only."), isTrusted: true } };
Change:
Type: <bBug</bSteps to Reproduce: Visual Studio Code. to and select . the language for any selected file by running the command (). the dropdown list from step 2 with the dropdown list from step 3. Expected Behavior: Both dropdown lists should appear consistent, as they serve a similar purpose. Specifically, the list should include icons for the language identifiers, just as the list does. Here's what it looks like: VS Code version: Code 1.90.2 (, 2024-06-18T22:33:48.698Z), Code - Insiders 1.91.0-insider (, 2024-06-19T05:51:22.778Z) OS version: Linux x64 6.5.0-41-generic snap Modes: <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --

Discussion:
import { basename, joinPath } from 'vs/base/common/resources'; import { URI } from 'vs/base/common/uri'; import { ILanguageService } from 'vs/editor/common/languages/language'; <ins> import { getIconClassesForLanguageId } from 'vs/editor/common/services/getIconClasses'; </ins> import * as nls from 'vs/nls'; import { MenuId } from 'vs/platform/actions/common/actions'; import { IFileService } from 'vs/platform/files/common/files';

label: languageId, description: `(${label})`, filepath: joinPath(dir, `${languageId}.json`), <del> hint: true </del> <ins> hint: true, iconClasses: getIconClassesForLanguageId(languageId) </ins> }); } }
Change:
start inline on a line in the middle of the view port :bug: when the zone shows, the "focus line" is scrolls towards the bottom

Discussion:
import { ScrollType } from 'vs/editor/common/editorCommon'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ChatAgentLocation } from 'vs/workbench/contrib/chat/common/chatAgents'; <ins> import { ILogService } from 'vs/platform/log/common/log'; </ins> export class InlineChatZoneWidget extends ZoneWidget {

location: ChatAgentLocation, editor: ICodeEditor, @IInstantiationService private readonly _instaService: IInstantiationService, <ins> @ILogService private _logService: ILogService, </ins> @IContextKeyService contextKeyService: IContextKeyService, @IConfigurationService configurationService: IConfigurationService, ) {

const lineNumber = position.lineNumber <= 1 ? 1 : 1 + position.lineNumber; <ins> const scrollTop = this.editor.getScrollTop(); </ins> const lineTop = this.editor.getTopForLineNumber(lineNumber); const zoneTop = lineTop - height.pixelsValue; const editorHeight = this.editor.getLayoutInfo().height; <del> const newLineBottom = this.editor.getBottomForLineNumber(lineNumber); </del> <ins> const lineBottom = this.editor.getBottomForLineNumber(lineNumber); </ins> <del> let newTop: number; if (newLineBottom > editorHeight) { newTop = newLineBottom - editorHeight; } else { newTop = zoneTop; } const currentTop = this.editor.getScrollTop(); </del> <ins> let newScrollTop = zoneTop; let forceScrollTop = false; </ins> <del> // console.log('REVEAL ZONE TOP', { zoneTop, newLineBottom, editorHeight, currentTop, newTop }); </del> <ins> if (lineBottom >= (scrollTop + editorHeight)) { // revealing the top of the zone would pust out the line we are interested it and // therefore we keep the line in the view port newScrollTop = lineBottom - editorHeight; forceScrollTop = true; } </ins> <del> if (newTop < currentTop) { this.editor.setScrollTop(newTop, ScrollType.Immediate); </del> <ins> if (newScrollTop < scrollTop || forceScrollTop) { this._logService.trace('[IE] REVEAL zone', { zoneTop, lineTop, lineBottom, scrollTop, newScrollTop, forceScrollTop }); this.editor.setScrollTop(newScrollTop, ScrollType.Immediate); </ins> } }
Change:
Testing text buttons and reload typing, then hit tab once. Tab goes to microphone tab again can't tell where the focus is. It's not on the "enter to send" button, because I can see that focus moves there on a subsequent, third, tab. !
Looks like the (empty) list below grabs focus... <img width="1298" alt="Screenshot 2024-06-25 at 14 12 05" src=""
Verified but noticed that the hover feedback on this button is only the hover: !

Discussion:
padding: 0; } <ins> .monaco-workbench .inline-chat-content-widget.interactive-session .interactive-list { display: none; } </ins> .monaco-workbench .inline-chat-content-widget.interactive-session .toolbar { display: none; padding-top: 4px;
Change:
Testing From gear icon, enable the setting Switch back to the interactive window and see no hint in the input box Reloading the workspace does not help as well <img width="1031" alt="Screenshot 2024-06-25 at 18 49 24" src=""
does shift+enter work as a keybinding?
Yes the keybinding works, issue is only about the hint UI.
the hint text keeps saying "Press Command+Enter to execute" and doesn't update depending on the setting. I was expecting the hint to display "Enter" or "Shift+Enter" depending on the setting.
- can you enable the shift+enter option, run and try to press enter in the input box? Do you get something like this in the troubleshooting logs?
it looks like you may have a custom keyboard layout that changes the key label to . I don't know how many ways there are to modify key labels, so I'll just rely on the order of the keybinding registration to show shift+enter instead of always showing cmd/ctrl+enter. It might still show cmd+enter when in the python REPL experiment with a custom keyboard layout, but I think this is as close as I can reliably get.
verification: with Jupyter and python extensions installed run The execution hint should show in the input box click the gear, change the setting shift+enter setting the hint should update should at least show in the hint with the setting enabled. When disabled, it will either show or
<img width="1381" alt="Screenshot 2024-06-27 at 10 21 16 AM" src=""still occurring - key bindings come in as Resolving meta+[Enter] and Resolving shift+[Enter]

Discussion:
import { status } from 'vs/base/browser/ui/aria/aria'; import { KeybindingLabel } from 'vs/base/browser/ui/keybindingLabel/keybindingLabel'; import { Event } from 'vs/base/common/event'; <ins> import { ResolvedKeybinding } from 'vs/base/common/keybindings'; </ins> import { Disposable } from 'vs/base/common/lifecycle'; import { OS } from 'vs/base/common/platform'; import { ContentWidgetPositionPreference, ICodeEditor, IContentWidget, IContentWidgetPosition } from 'vs/editor/browser/editorBrowser';

private getKeybinding() { const keybindings = this.keybindingService.lookupKeybindings('interactive.execute'); const shiftEnterConfig = this.configurationService.getValue(InteractiveWindowSetting.executeWithShiftEnter); <ins> const hasChord = (chord: string, kb: ResolvedKeybinding) => { const chords = kb.getDispatchChords(); return chords.length === 1 && chords[0] === chord; }; </ins> if (shiftEnterConfig) { <del> const keybinding = keybindings.find(kb => kb.getLabel() === 'Shift+Enter'); </del> <ins> const keybinding = keybindings.find(kb => hasChord('shift+Enter', kb)); </ins> if (keybinding) { return keybinding; } } else { <del> let keybinding = keybindings.find(kb => kb.getLabel() === 'Enter'); </del> <ins> let keybinding = keybindings.find(kb => hasChord('Enter', kb)); </ins> if (keybinding) { return keybinding; } keybinding = this.keybindingService.lookupKeybindings('python.execInREPLEnter') <del> .find(kb => kb.getLabel() === 'Enter'); </del> <ins> .find(kb => hasChord('Enter', kb)); </ins> if (keybinding) { return keybinding; } } <del> return undefined; </del> <ins> return keybindings?.[0]; </ins> } override dispose(): void {
Change:
Testing From gear icon, enable the setting Switch back to the interactive window and see no hint in the input box Reloading the workspace does not help as well <img width="1031" alt="Screenshot 2024-06-25 at 18 49 24" src=""
does shift+enter work as a keybinding?
Yes the keybinding works, issue is only about the hint UI.
the hint text keeps saying "Press Command+Enter to execute" and doesn't update depending on the setting. I was expecting the hint to display "Enter" or "Shift+Enter" depending on the setting.
- can you enable the shift+enter option, run and try to press enter in the input box? Do you get something like this in the troubleshooting logs?
it looks like you may have a custom keyboard layout that changes the key label to . I don't know how many ways there are to modify key labels, so I'll just rely on the order of the keybinding registration to show shift+enter instead of always showing cmd/ctrl+enter. It might still show cmd+enter when in the python REPL experiment with a custom keyboard layout, but I think this is as close as I can reliably get.
verification: with Jupyter and python extensions installed run The execution hint should show in the input box click the gear, change the setting shift+enter setting the hint should update should at least show in the hint with the setting enabled. When disabled, it will either show or
<img width="1381" alt="Screenshot 2024-06-27 at 10 21 16 AM" src=""still occurring - key bindings come in as Resolving meta+[Enter] and Resolving shift+[Enter]

Discussion:
title: localize2('interactive.execute', 'Execute Code'), category: interactiveWindowCategory, keybinding: [{ <ins> // when: NOTEBOOK_CELL_LIST_FOCUSED, when: ContextKeyExpr.equals('activeEditor', 'workbench.editor.interactive'), primary: KeyMod.CtrlCmd | KeyCode.Enter, weight: NOTEBOOK_EDITOR_WIDGET_ACTION_WEIGHT }, { </ins> when: ContextKeyExpr.and( ContextKeyExpr.equals('activeEditor', 'workbench.editor.interactive'), ContextKeyExpr.equals('config.interactiveWindow.executeWithShiftEnter', true)

), primary: KeyCode.Enter, weight: NOTEBOOK_EDITOR_WIDGET_ACTION_WEIGHT <del> }, { // when: NOTEBOOK_CELL_LIST_FOCUSED, when: ContextKeyExpr.equals('activeEditor', 'workbench.editor.interactive'), primary: KeyMod.CtrlCmd | KeyCode.Enter, weight: NOTEBOOK_EDITOR_WIDGET_ACTION_WEIGHT </del> }], menu: [ {
Change:
Testing From gear icon, enable the setting Switch back to the interactive window and see no hint in the input box Reloading the workspace does not help as well <img width="1031" alt="Screenshot 2024-06-25 at 18 49 24" src=""
does shift+enter work as a keybinding?
Yes the keybinding works, issue is only about the hint UI.
the hint text keeps saying "Press Command+Enter to execute" and doesn't update depending on the setting. I was expecting the hint to display "Enter" or "Shift+Enter" depending on the setting.
- can you enable the shift+enter option, run and try to press enter in the input box? Do you get something like this in the troubleshooting logs?
it looks like you may have a custom keyboard layout that changes the key label to . I don't know how many ways there are to modify key labels, so I'll just rely on the order of the keybinding registration to show shift+enter instead of always showing cmd/ctrl+enter. It might still show cmd+enter when in the python REPL experiment with a custom keyboard layout, but I think this is as close as I can reliably get.
verification: with Jupyter and python extensions installed run The execution hint should show in the input box click the gear, change the setting shift+enter setting the hint should update should at least show in the hint with the setting enabled. When disabled, it will either show or
<img width="1381" alt="Screenshot 2024-06-27 at 10 21 16 AM" src=""still occurring - key bindings come in as Resolving meta+[Enter] and Resolving shift+[Enter]

Discussion:
private getKeybinding() { const keybindings = this.keybindingService.lookupKeybindings('interactive.execute'); const shiftEnterConfig = this.configurationService.getValue(InteractiveWindowSetting.executeWithShiftEnter); <del> const hasChord = (chord: string, kb: ResolvedKeybinding) => { </del> <ins> const hasEnterChord = (kb: ResolvedKeybinding, modifier: string = '') => { </ins> const chords = kb.getDispatchChords(); <del> return chords.length === 1 && chords[0] === chord; </del> <ins> const chord = modifier + 'Enter'; const chordAlt = modifier + '[Enter]'; return chords.length === 1 && (chords[0] === chord || chords[0] === chordAlt); </ins> }; if (shiftEnterConfig) { <del> const keybinding = keybindings.find(kb => hasChord('shift+Enter', kb)); </del> <ins> const keybinding = keybindings.find(kb => hasEnterChord(kb, 'shift+')); </ins> if (keybinding) { return keybinding; } } else { <del> let keybinding = keybindings.find(kb => hasChord('Enter', kb)); </del> <ins> let keybinding = keybindings.find(kb => hasEnterChord(kb)); </ins> if (keybinding) { return keybinding; } keybinding = this.keybindingService.lookupKeybindings('python.execInREPLEnter') <del> .find(kb => hasChord('Enter', kb)); </del> <ins> .find(kb => hasEnterChord(kb)); </ins> if (keybinding) { return keybinding; }
Change:
view, "What are the issues from this repo assigned to me" get a response, click on the line is cut The outline should contain the actions on the right !
Better than before -verified However the outline should be 1px or 2px larger. If you zoom in you can see how the outline cuts in the gray circle around the icon. let me know if you want a new issue for this. ! !
Pushing a fix for that

Discussion:
display: flex; align-items: center; gap: 8px; <del> width: 100%; </del> } .interactive-item-container .header .username {