Code change:
Type: <bBug</bWhen reviewing outgoing changes for my tracking fork of microsoft/vscode after merging upstream/main into my local copy today. ! Also, based on I was surprised to see the magnifying glass icon still being used for "View Changes". VS Code version: Code - Insiders 1.85.0-insider (, 2023-11-22T05:35:23.085Z) OS version: Windows_NT x64 10.0. Modes: <!-- generated by issue reporter --
/assign
I'm very sure this is a duplicate of
This sounds like there was no insiders for today. Can you check you are running the build from today? The PR just got merged yesterday.
Yes, this is today's. The new codicon appears in the Timeline view, just not in the incoming/outgoing party of Source Control view: !
It does for me: !
Ah, we're not talking about the same thing. My screenshot is of the feature recently by and controlled by the and settings. It comes from here:
are you able to reproduce this consistently? Could you provide steps that that I should use to try to reproduce the issue? Thanks!
in said it was probably a known issue. Ever since Insiders got that fix I haven't had any problems opening multi-diff for outgoing changes that get listed after I merge from upstream/main into my local main prior to pushing them to origin/main (my tracking repo). So I'm closing this one.
thanks for the update!
Hmm, just happened to me again with today's Insiders: ! Reopening. I'll hold back from pushing the local changes that I merged in from upstream/main in case there are places you'd like me to look for clues while I can repro it.
Devtools console:
It's this one: ! And specifically which is of course binary: ! I guess the multi diff editor needs to handle this case gracefully instead of failing to show the diffs for the other files.
thanks! could you please take a look? Thanks!
Ahh, because it is a binary file...

Related discussion:
text: private async _createModel(): Promise<IMultiDiffEditorModel & IDisposable> { const store = new DisposableStore(); <del> const rs = await Promise.all(this.resources.map(async r => ({ originalRef: r.original ? store.add(await this._textModelService.createModelReference(r.original)) : undefined, originalModel: !r.original ? store.add(this._modelService.createModel('', null)) : undefined, modifiedRef: r.modified ? store.add(await this._textModelService.createModelReference(r.modified)) : undefined, modifiedModel: !r.modified ? store.add(this._modelService.createModel('', null)) : undefined, title: r.resource.fsPath, }))); </del> <ins> const rs = (await Promise.all(this.resources.map(async r => { try { return { originalRef: r.original ? store.add(await this._textModelService.createModelReference(r.original)) : undefined, originalModel: !r.original ? store.add(this._modelService.createModel('', null)) : undefined, modifiedRef: r.modified ? store.add(await this._textModelService.createModelReference(r.modified)) : undefined, modifiedModel: !r.modified ? store.add(this._modelService.createModel('', null)) : undefined, title: r.resource.fsPath, }; } catch (e) { // e.g. "File seems to be binary and cannot be opened as text" console.error(e); onUnexpectedError(e); return undefined; } }))).filter(isDefined); </ins> const textResourceConfigurationService = this._textResourceConfigurationService;