When NotebookTextModel.createSnapshot() throws 'Notebook too large to
backup' (outputs exceed notebook.backup.sizeLimit), catch the error at
the caller side and log a telemetry event instead of letting it propagate
unhandled.
- chatEditingModifiedNotebookEntry.create(): Catch error from
createNotebookTextDocumentSnapshot with Backup context and fall back
to Save context for the one-time original model initialization.
- chatEditingModifiedNotebookEntry.createSnapshot(): Catch errors from
the snapshot utility and fall back to initialContent so that session
persistence doesn't crash.
- Both paths log 'chatEditing/notebookSnapshotError' telemetry events.
When NotebookTextModel.createSnapshot() throws 'Notebook too large to
backup' (outputs exceed notebook.backup.sizeLimit), catch the error at
the caller side instead of letting it propagate unhandled.
- chatEditingModifiedNotebookSnapshot.createSnapshot(): Catch error and
retry with transientOutputs: true to produce a degraded snapshot
without outputs. Logs a warning.
- chatEditingModifiedNotebookEntry.create(): Catch error from
createNotebookTextDocumentSnapshot with Backup context and fall back
to Save context for the one-time original model initialization.
Logs a warning.
Adopt upstream otherSessions array pattern for groupSessionsByRepository
while keeping the centralized AgentSessionSectionLabels label. Keep both
resetSectionCollapseState and collapseAllSections on the interface.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the localized "Other" label into AgentSessionSectionLabels so both
groupSessionsByRepository and computeRecentRepositoryLabels share the
same string. Ensure the "Other" group always appears after all named
repository sections and just above Archived.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Instead of throwing 'Notebook too large to backup' when notebook outputs
exceed the backup size limit, strip outputs from the snapshot to produce
a valid (degraded) backup without outputs.
This fixes unhandled errors in both the hot-exit backup tracker and the
chat editing snapshot system, which both use SnapshotContext.Backup.
Previously, the error either propagated unhandled (chat editing) or was
silently swallowed resulting in no backup at all (hot-exit). Now callers
get a backup that preserves cell source code and metadata, just without
the large outputs.
Sessions without a detected repository are grouped under "Other" in
repository grouping. Previously, computeRecentRepositoryLabels skipped
these sessions, so the "Other" section would always default to collapsed
even if it contained recent sessions. Now we add the unknown repository
label to the set when getRepositoryName returns undefined.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Adds a "Show Plugin" option on every plugin-contributed item in the
customizations view (closes#302514)
- Fixes MCP servers from plugins showing under "built-in"
- Fixes "Show Configuration" on plugin MCP servers opening a not found file
- Fixes hooks from plugins not showing in the customizations list. A bit
of a special case here because hooks get parsed from plugin manifests
and have special interpolation logic.
* Enhance chat model picker with interaction logging and description link callbacks
* Refactor chat model picker to remove interaction callback and implement description link action handler
* Refactor action handler naming for clarity in ActionList and ModelPicker
* Update owner in ChatModelPickerInteractionClassification to reflect current author
* Fix link handler condition to check for disabled items in ModelPickerWidget
* Refactor ModelPickerWidget to simplify manageSettingsUrl handling and improve link handler logic
* Add IUriIdentityService to ModelPickerWidget for improved URI handling
When a PR review comment is converted to agent feedback in the editor
widget, it is now locally marked as converted so it hides from the
feedback widget. The converted state survives PR poll refreshes.
Changes:
- CodeReviewService: track converted PR comment IDs per session, filter
them from the PR review observable state and poll rebuilds
- AgentFeedbackService: add optional sourcePRReviewCommentId to
IAgentFeedback and addFeedback()
- IAgentFeedbackVariableEntry: carry sourcePRReviewCommentId through
to the chat attachment
- AgentFeedbackEditorWidget: on convert, call
markPRReviewCommentConverted and pass the source thread ID
- AgentFeedbackAttachment: include PR comment origin (thread ID) in
the stringified value sent to the LLM
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>