jiebi/CodeConvo huggingface dataset:
Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: Yes <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.69.1 In the Comments panel, the position of the is sometimes shifted: ! This happens when a comment has multiple lines. In the DOM, the div contains the full comment, even though only the first line is displayed. If a line within the comment is longer than the first line, the div will be larger, causing the issue visible in the screenshot. I've reproduced the issue on with the GitHub comments. cc
Tried to repro with a multiline comment and didn't see any shifting.

Discussion:
templateData.disposables.push(disposables); const renderedComment = this.getRenderedComment(originalComment.comment.body, disposables); templateData.disposables.push(renderedComment); <del> templateData.threadMetadata.commentPreview.appendChild(renderedComment.element); </del> <ins> templateData.threadMetadata.commentPreview.appendChild(renderedComment.element.firstElementChild ?? renderedComment.element); </ins> templateData.threadMetadata.commentPreview.title = renderedComment.element.textContent ?? ''; }
Change:
Issue Type: <bBug</bSet the variable to something like this: You should see something similar to the following: I'm assuming it's associated with . If I'm reading correctly, it checks for semicolons but not things like , , , etc. I understand this is probably an edge case. I was able to workaround by: creating a new function to wrap the others set to the new function VS Code version: Code 1.69.0 (, 2022-07-07T05:28:46.408Z) OS version: Darwin arm64 21.5.0 Restricted Mode: No <!-- generated by issue reporter --
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.69.1. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding!
I can confirm this bug still exists in 1.69.1, and is probably less of an edge case than you might think , as I found this issue when the terminal wouldn't start because I had powerline installed.
O
My bash (GNU bash, version 5.1.16(1)-release (x86_64-apple-darwin21.1.0)) didn't want to work with empty functions, this reproduces the problem though:

Discussion:
builtin unset VSCODE_INJECTION fi <del> # Disable shell integration if PROMPT_COMMAND is 2+ function calls since that is not handled. if [[ "$PROMPT_COMMAND" =~ .*(' '.*;)|(;.*' ').* ]]; then builtin unset VSCODE_SHELL_INTEGRATION builtin return fi </del> if [ -z "$VSCODE_SHELL_INTEGRATION" ]; then builtin return fi

__vsc_prompt_cmd_original() { __vsc_status="$?" <del> if [[ ${IFS+set} ]]; then __vsc_original_ifs="$IFS" fi if [[ "$__vsc_original_prompt_command" =~ .+;.+ ]]; then IFS=';' </del> <ins> # Evaluate the original PROMPT_COMMAND similarly to how bash would normally # See https://unix.stackexchange.com/a/672843 for technique if [[ ${#__vsc_original_prompt_command[@]} -gt 1 ]]; then for cmd in "${__vsc_original_prompt_command[@]}"; do __vsc_status="$?" eval "${cmd:-}" done </ins> else <del> IFS=' ' </del> <ins> eval "${__vsc_original_prompt_command:-}" </ins> fi <del> builtin read -ra ADDR <<<"$__vsc_original_prompt_command" if [[ ${__vsc_original_ifs+set} ]]; then IFS="$__vsc_original_ifs" unset __vsc_original_ifs else unset IFS fi for ((i = 0; i < ${#ADDR[@]}; i++)); do (exit ${__vsc_status}) builtin eval ${ADDR[i]} done </del> __vsc_precmd }

__vsc_precmd } <del> if [[ "$PROMPT_COMMAND" =~ (.+;.+) ]]; then # item1;item2... __vsc_original_prompt_command="$PROMPT_COMMAND" else # (item1, item2...) __vsc_original_prompt_command=${PROMPT_COMMAND[@]} fi </del> <ins> # PROMPT_COMMAND arrays and strings seem to be handled the same (handling only the first entry of # the array?) __vsc_original_prompt_command=$PROMPT_COMMAND </ins> if [[ -z "${bash_preexec_imported:-}" ]]; then if [[ -n "$__vsc_original_prompt_command" && "$__vsc_original_prompt_command" != "__vsc_prompt_cmd" ]]; then
Change:
developer tools console :bug: see a bunch of errors like this for github authentication, microsoft authentication, typescript language features, remote repositories etc

Discussion:
const merge = require('merge-options'); const CopyWebpackPlugin = require('copy-webpack-plugin'); const { NLSBundlePlugin } = require('vscode-nls-dev/lib/webpack-bundler'); <del> const { DefinePlugin } = require('webpack'); </del> <ins> const { DefinePlugin, optimize } = require('webpack'); </ins> function withNodeDefaults(/**@type WebpackConfig*/extConfig) { /** @type WebpackConfig */

} const browserPlugins = [ <ins> new optimize.LimitChunkCountPlugin({ maxChunks: 1 }), </ins> new CopyWebpackPlugin({ patterns: [ { from: 'src', to: '.', globOptions: { ignore: ['**/test/**', '**/*.ts'] }, noErrorOnMissing: true }
Change:
It was weird when I toggled word wrap in the merge editor yet only the editor I was focused on had it toggled. I kind of expected all editors to have it toggled. My rationale is that toggling word wrap is usually a symptom of having long lines and the chances that all three editors have long lines is high if a single editor has long lines.
I agree. Until recently word wrap only toggled one side of the diff editor. See

Discussion:
import { DEFAULT_EDITOR_ASSOCIATION, EditorInputWithOptions, IEditorOpenContext, IResourceMergeEditorInput } from 'vs/workbench/common/editor'; import { EditorInput } from 'vs/workbench/common/editor/editorInput'; import { applyTextEditorOptions } from 'vs/workbench/common/editor/editorOptions'; <ins> import { readTransientState, writeTransientState } from 'vs/workbench/contrib/codeEditor/browser/toggleWordWrap'; </ins> import { MergeEditorInput } from 'vs/workbench/contrib/mergeEditor/browser/mergeEditorInput'; import { DocumentMapping, getOppositeDirection, MappingDirection } from 'vs/workbench/contrib/mergeEditor/browser/model/mapping'; import { MergeEditorModel } from 'vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel';

@IEditorService editorService: IEditorService, @IEditorGroupsService editorGroupService: IEditorGroupsService, @IFileService fileService: IFileService, <ins> @ICodeEditorService private readonly _codeEditorService: ICodeEditorService, </ins> ) { super(MergeEditor.ID, telemetryService, instantiation, storageService, textResourceConfigurationService, themeService, editorService, editorGroupService, fileService);

) ); // TODO@jrieken make this proper: add menu id and allow extensions to contribute const toolbarMenu = this._menuService.createMenu(MenuId.MergeToolbar, this._contextKeyService); const toolbarMenuDisposables = new DisposableStore();

}); }, 'update alignment view zones')); <ins> // word wrap special case - sync transient state from result model to input[1|2] models const mirrorWordWrapTransientState = () => { const state = readTransientState(model.resultTextModel, this._codeEditorService); writeTransientState(model.input2.textModel, state, this._codeEditorService); writeTransientState(model.input1.textModel, state, this._codeEditorService); }; this._sessionDisposables.add(this._codeEditorService.onDidChangeTransientModelProperty(candidate => { if (candidate === this.inputResultView.editor.getModel()) { mirrorWordWrapTransientState(); } })); mirrorWordWrapTransientState(); </ins> // detect when base, input1, and input2 become empty and replace THIS editor with its result editor // TODO@jrieken@hediet this needs a better/cleaner solution
Change:
down in the button, then move outside the button and mouse up You get this border: ! Weirdly enough that's not the same border you get when tabbing onto the button: !
Weird, by performing this gesture you get to focus the inside the button itself. Will see what the best fix is.
It's a bug in the as it does not happen with the "Publish Branch" or "Commit" buttons.

Discussion:
this._labelElement = document.createElement('div'); this._labelElement.classList.add('monaco-button-label'); <del> this._labelElement.tabIndex = -1; </del> this._element.appendChild(this._labelElement); this._descriptionElement = document.createElement('div'); this._descriptionElement.classList.add('monaco-button-description'); <del> this._descriptionElement.tabIndex = -1; </del> this._element.appendChild(this._descriptionElement); }
Change:
to repro: run the build task reload the window delete the build task terminals run the build task you can't and see an error abt the terminal now existing ! Originally posted by in

Discussion:
watchingProblemMatcher.aboutToStart(); let delayer: Async.Delayer<any> | undefined = undefined; [terminal, error] = this._terminalForTask ? [this._terminalForTask, undefined] : await this._createTerminal(task, resolver, workspaceFolder); <ins> this._terminalForTask = undefined; </ins> if (error) { return Promise.reject(new Error((<TaskError>error).message));

}); } else { [terminal, error] = this._terminalForTask ? [this._terminalForTask, undefined] : await this._createTerminal(task, resolver, workspaceFolder); <ins> this._terminalForTask = undefined; </ins> if (error) { return Promise.reject(new Error((<TaskError>error).message));
Change:
a folder try to run task Says task command not found !
What commit is that insiders based on? I believe I fixed this yesterday.
It says there is no updates for me but this is
Is that in oss? Hard to tell
No this is just todays insiders. I can test again on monday if you'd like
Thanks can you repro in oss?
Can repro when running the task command but not ctrl+shift+b. so this is a diff't bug
Reopen due to revert:

Discussion:
})); this._taskRunningState = TASK_RUNNING_STATE.bindTo(_contextKeyService); this._onDidStateChange = this._register(new Emitter()); <del> this._registerCommands(); </del> <ins> this._registerCommands().then(() => { TaskCommandsRegistered.bindTo(this._contextKeyService).set(true); }); </ins> this._configurationResolverService.contributeVariable('defaultBuildTask', async (): Promise<string | undefined> => { let tasks = await this._getTasksForGroup(TaskGroup.Build); if (tasks.length > 0) {

this._openTaskFile(resource, TaskSourceKind.WorkspaceFile); } }); <del> TaskCommandsRegistered.bindTo(this._contextKeyService).set(true); </del> } private get workspaceFolders(): IWorkspaceFolder[] {

} private get _jsonTasksSupported(): boolean { <del> return !!ShellExecutionSupportedContext.getValue(this._contextKeyService) && !!ProcessExecutionSupportedContext.getValue(this._contextKeyService); </del> <ins> return ShellExecutionSupportedContext.getValue(this._contextKeyService) === true && ProcessExecutionSupportedContext.getValue(this._contextKeyService) === true; </ins> } private _computeWorkspaceFolderTasks(workspaceFolder: IWorkspaceFolder, runSource: TaskRunSource = TaskRunSource.User): Promise<IWorkspaceFolderTaskResult> {

import { TerminalMenuBarGroup } from 'vs/workbench/contrib/terminal/browser/terminalMenus'; import { isString } from 'vs/base/common/types'; <del> const SHOW_TASKS_COMMANDS_CONTEXT = ContextKeyExpr.or(ShellExecutionSupportedContext, ProcessExecutionSupportedContext); </del> <ins> const SHOW_TASKS_COMMANDS_CONTEXT = ContextKeyExpr.and(ShellExecutionSupportedContext, ProcessExecutionSupportedContext); </ins> const workbenchRegistry = Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench); workbenchRegistry.registerWorkbenchContribution(RunAutomaticTasks, LifecyclePhase.Eventually);
Change:
https://vscode- Deminified Stack TypeError: Cannot read properties of undefined (reading 'resource') at deserializeWebviewPanel in /vscode/bin/linux-x64//extensions/markdown-language- at (node:events:390:28) at addChunk (node:internal/streams/readable:315:12) at readableAddChunk (node:internal/streams/readable:289:9) at (node:internal/streams/readable:228:10) at TCP.onStreamRead (node:internal/streambase_commons:199:23)

Discussion:
import { MarkdownPreviewConfigurationManager } from './previewConfig'; import { scrollEditorToLine, StartingScrollFragment } from './scrolling'; import { TopmostLineMonitor } from './topmostLineMonitor'; <ins> import * as nls from 'vscode-nls'; const localize = nls.loadMessageBundle(); </ins> export interface DynamicPreviewSettings { readonly resourceColumn: vscode.ViewColumn;

webview: vscode.WebviewPanel, state: any ): Promise<void> { <del> const resource = vscode.Uri.parse(state.resource); const locked = state.locked; const line = state.line; const resourceColumn = state.resourceColumn; const preview = await DynamicMarkdownPreview.revive( { resource, locked, line, resourceColumn }, webview, this._contentProvider, this._previewConfigurations, this._workspace, this._logger, this._topmostLineMonitor, this._contributions, this._tocProvider); this.registerDynamicPreview(preview); </del> <ins> try { const resource = vscode.Uri.parse(state.resource); const locked = state.locked; const line = state.line; const resourceColumn = state.resourceColumn; const preview = DynamicMarkdownPreview.revive( { resource, locked, line, resourceColumn }, webview, this._contentProvider, this._previewConfigurations, this._workspace, this._logger, this._topmostLineMonitor, this._contributions, this._tocProvider); this.registerDynamicPreview(preview); } catch (e) { console.error(e); webview.webview.html = /* html */`<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <!-- Disable pinch zooming --> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> <title>Markdown Preview</title> <style> html, body { min-height: 100%; height: 100%; } .error-container { display: flex; justify-content: center; align-items: center; text-align: center; } </style> <meta http-equiv="Content-Security-Policy" content="default-src 'none';"> </head> <body class="error-container"> <p>${localize('preview.restoreError', "An unexpected error occurred while restoring the Markdown preview.")}</p> </body> </html>`; } </ins> } public async resolveCustomTextEditor(
Change:
https://vscode- Deminified Stack Error: Failed to execute 'transaction' on 'IDBDatabase': The database connection is closing.
This could be upstream and suggests it could be from running out of disk space. Should we maybe not log these indexed DB errors to telemetry ?
if we expect the failure we should either catch the error and handle or catch and rethrow as

Discussion:
*--------------------------------------------------------------------------------------------*/ import { toErrorMessage } from 'vs/base/common/errorMessage'; <del> import { getErrorMessage } from 'vs/base/common/errors'; </del> <ins> import { ErrorNoTelemetry, getErrorMessage } from 'vs/base/common/errors'; </ins> import { mark } from 'vs/base/common/performance'; class MissingStoresError extends Error {

c(request.result); } }; <del> transaction.onerror = () => e(transaction.error); transaction.onabort = () => e(transaction.error); </del> <ins> transaction.onerror = () => e(transaction.error ? ErrorNoTelemetry.fromError(transaction.error) : new ErrorNoTelemetry('unknown error')); transaction.onabort = () => e(transaction.error ? ErrorNoTelemetry.fromError(transaction.error) : new ErrorNoTelemetry('unknown error')); </ins> const request = dbRequestFn(transaction.objectStore(store)); }).finally(() => this.pendingTransactions.splice(this.pendingTransactions.indexOf(transaction), 1)); }
Change:
! Not sure if this is recent, but shouldn't the title background go all the way?
It should. I didn't change anything recently but I'll take a look
verification (Using tomorrow's build): Using GHPR extension open a PR webview Select the milestone using the default theme you should be able to not see any border on the title bar verification that this didn't break Turn off settings sync if you have it on Turn on settings sync to see: ! Tab to select a Quick pick item row Click with your mouse on the "Please sign in to synchronize..." text which will cause the focus to be entirely around the qp (like in the above screenshot) verify there is still a solid border around the entire qp.

Discussion:
position: absolute; width: 600px; z-index: 2550; <del> padding: 0 1px 1px 1px; </del> left: 50%; margin-left: -300px; -webkit-app-region: no-drag;

.quick-input-list { line-height: 22px; margin-top: 6px; <ins> padding: 0px 1px 1px 1px; </ins> } .quick-input-widget.hidden-input .quick-input-list {
Change:
Type: <bBug</bIf I bind a snippet like so: before the last update, it would insert the snippet when I press the shortcut, but now it brings up the Snippet Selector. VS Code version: Code - Insiders 1.70.0-insider (, 2022-07-19T05:21:29.044Z) OS version: Darwin arm64 21.5.0 Modes: <details<summarySystem Info</summary </details<details<summaryExtensions (24)</summaryExtensionVersion ------ vscode-apollo1.19.11 vscode-tailwindcss0.8.6 better-toml0.3.2 npm-intellisense1.4.2 vscode-eslint2.2.6 vscode-quick-select0.2.9 prettier-vscode9.5.0 auto-rename-tag0.1.10 shell-format7.2.2 bash-ide-vscode1.14.0 ts-error-translator0.5.1 dotenv1.0.1 vscode-docker1.22.1 remote-ssh0.85. remote-ssh-edit0.80.0 vscode-typescript-next4.8. prisma4.0.0 vscode-yaml1.9.1 rust-analyzer0.4.1132 vs-code-prettier-eslint5.0.3 code-settings-sync3.4.3 shellcheck0.19.5 vscode-lldb1.7.2 vscode-import-cost3.3.0 (1 theme extensions excluded) </details<!-- generated by issue reporter --
verified using the parameter. didn't try with one by , but imagine it works the same way ?

Discussion:
}); } <del> async runEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor, arg: any) { </del> <ins> async runEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor, args: any[]) { </ins> const languageService = accessor.get(ILanguageService); const snippetService = accessor.get(ISnippetsService);

const snippet = await new Promise<Snippet | undefined>((resolve, reject) => { const { lineNumber, column } = editor.getPosition(); <del> const { snippet, name, langId } = Args.fromUser(arg); </del> <ins> const { snippet, name, langId } = Args.fromUser(args[0]); </ins> if (snippet) { return resolve(new Snippet(
Change:
Insiders the terminal, run new file called should be open in the editor. that tab. The command no longer returns
Thanks! I thought that it was some configuration issue on my side when GitLens Rebase editor didn't release file and later text editors did the same.
<!-- AUTHORVERIFICATIONREQUEST --This bug has been fixed in the latest release of ! you can help us out by commenting if things are now working as expected. If things still don't seem right, please ensure you're on version of Insiders (today's or later - you can use in the command palette to check), and leave a comment letting us know what isn't working as expected. Happy Coding!
Worked fine for me for both cases: prompt for commit message update as well as GitLens' Rebase editor. Version: 1.70.0-insider (user setup) Commit: Date: 2022-07-21T05:17:27.580Z OS: Windows_NT x64 10.0.

Discussion:
// When run with --wait, make sure we keep the paths to wait for if (filesToOpen && openConfig.waitMarkerFileURI) { <del> filesToOpen.filesToWait = { paths: [...filesToOpen.filesToDiff, filesToOpen.filesToMerge[3] /* [3] is the resulting merge file */, ...filesToOpen.filesToOpenOrCreate], waitMarkerFileUri: openConfig.waitMarkerFileURI }; </del> <ins> filesToOpen.filesToWait = { paths: coalesce([...filesToOpen.filesToDiff, filesToOpen.filesToMerge[3] /* [3] is the resulting merge file */, ...filesToOpen.filesToOpenOrCreate]), waitMarkerFileUri: openConfig.waitMarkerFileURI }; </ins> } // These are windows to restore because of hot-exit or from previous session (only performed once on startup!)

if (filesToOpen && potentialNewWindowsCount === 0) { // Find suitable window or folder path to open files in <del> const fileToCheck = filesToOpen.filesToOpenOrCreate[0] || filesToOpen.filesToDiff[0] || filesToOpen.filesToMerge[3] /* [3] is the resulting merge file */; </del> <ins> const fileToCheck: IPath<IEditorOptions> | undefined = filesToOpen.filesToOpenOrCreate[0] || filesToOpen.filesToDiff[0] || filesToOpen.filesToMerge[3] /* [3] is the resulting merge file */; </ins> // only look at the windows with correct authority const windows = this.getWindows().filter(window => filesToOpen && isEqualAuthority(window.remoteAuthority, filesToOpen.remoteAuthority));

return this.parentURI(filesToOpenOrCreate[0].fileUri); } else if (filesToDiff && filesToDiff.length) { return this.parentURI(filesToDiff[0].fileUri); <del> } else if (filesToMerge && filesToMerge.length) { </del> <ins> } else if (filesToMerge && filesToMerge.length === 4) { </ins> return this.parentURI(filesToMerge[3].fileUri) /* [3] is the resulting merge file */; } return undefined;
Change:
all out of ideas on this one. I'm not relying on setTimeouts or anything. It's a totally responsive test:
Maybe add some logging that only prints if the event does not fire in 4 seconds.
Ok I've better logging in the form of... if takes too long, the test failure will be different. Additionally, just in case this is a weird focus artifact, I have set ignoreFocusOut
I've not heard any reports of this failing recently... once it fails again, I'll revisit now that I have extra logging. With that said, it's possible that because of I have fixed the test failure.

Discussion:
controller = new QuickInputController({ container: fixture, idPrefix: 'testQuickInput', <del> ignoreFocusOut() { return false; }, </del> <ins> ignoreFocusOut() { return true; }, </ins> isScreenReaderOptimized() { return false; }, returnFocus() { }, backKeybindingLabel() { return undefined; },

await wait; controller.accept(); <del> const pick = await pickPromise; </del> <ins> const pick = await raceTimeout(pickPromise, 2000); </ins> assert.strictEqual(pick, item); });

await wait; controller.accept(); <del> const value = await inputPromise; </del> <ins> const value = await raceTimeout(inputPromise, 2000); </ins> assert.strictEqual(value, 'foo'); });