Commit Graph
1490 Commits
Author SHA1 Message Date
Benjamin Christopher Simmonds f4850e0faa Merge pull request #328999 from microsoft/benibenj/financial-lungfish
Show Markdown preview pills for external session files
2026-08-05 01:08:17 +02:00
Rob Lourens 8e3f97149d Delete hygiene skill (#329061) 2026-08-04 22:49:27 +00:00
Paul 042bcc57ca Update to eng changes requirement (#329043) 2026-08-04 21:58:09 +00:00
BeniBenjandCopilot a6bcea1d3f Merge main into benibenj/financial-lungfish
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-04 22:46:25 +02:00
Sandeep SomavarapuandCopilot 15d90da027 sessions: show created session pill in response summary (#328984)
* sessions: keep created session pill in response summary

Move completed create-session and create-chat results after the final response so they remain visible when work steps collapse.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: wait for final response before collapsing work

Avoid calculating the completed-work disclosure against a progressively rendered prefix before the final response is mounted.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: defer created session pill until response completes

Render the interactive session result only in its final position so keyboard focus is never lost to response-completion reordering.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: refresh session result when response completes

Replace the generic completed tool row with the interactive session pill even when a response has no final markdown to trigger positional reordering.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: wait for incremental markdown to drain

Delay completed-work disclosure and session result placement until the final markdown morpher reports that buffered content is visible in the DOM.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-04 18:16:45 +00:00
Henning DieterichsandCopilot fc2e19ea36 Avoid large Component Fixtures step outputs
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d04b3d01-1bb4-4c9e-af2a-86b97a8934c5
2026-08-04 18:19:01 +02:00
Sandeep SomavarapuandCopilot 6d247f810d sessions: fix maximized side pane toggle (#328974)
* sessions: fix maximized side pane toggle

Make the Agents workbench own side-pane visibility transitions and expose completed before/after state to layout controllers. This ensures a maximized side pane closes fully while preserving editor/detail restoration and per-session state.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: address side pane review feedback

Keep side-pane state editor/aux-only, correct lifecycle documentation, and leave transient auxiliary-bar cleanup to layout-specific strategies.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-04 15:44:40 +00:00
BeniBenj bca5211245 cache isOutsideWorkspace 2026-08-04 12:56:17 +02:00
BeniBenj 9c3abbe8f3 add isOutsideWorkspace as a property and use it for markdown pills 2026-08-04 12:27:59 +02:00
Justin Chen f86cc6f50c subagent tool placeholder and general cleanup (#328896)
* subagent tool placeholder and general cleanup

* fix tests
2026-08-04 07:36:45 +00:00
Aaron MungerandCopilot 219ad590fe agentHost: separate agent selection and execution mode telemetry (#328843)
* agentHost: separate agent and execution mode telemetry

Keep chat.modeChange scoped to user picker and custom-agent selections, including the Agents Window, and report interactive, plan, and autopilot transitions through agentHost.executionModeChanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: scope mode picker telemetry to active chat

Resolve the previous mode and request count from the picker surface's scoped session and active chat so multi-session and peer-chat selections are attributed correctly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-03 20:39:00 -07:00
Don JayamanneandCopilot dce00340cb Support multi-root Agent Host session metadata (#328863)
* Support multi-root Agent Host session metadata

Persist Editor workspace provenance on Agent Host sessions and use it for authoritative multi-root session filtering. Remove the temporary workspace membership memento.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address multi-root session review feedback

Apply workspace-file filtering across folder-count transitions, sanitize provider metadata before database fallbacks, and exercise cache deserialization in tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-03 23:52:54 +00:00
Justin Chen d5dd3ab696 subagent ux: mirror subagent ux for editor window (#328651)
* subagent ux: mirror subagent ux for editor window

* address comments
2026-08-02 19:19:38 -07:00
Rob Lourens 08fe2b7a97 build: harden validation script contracts (#328584)
* build: harden targeted validation scripts

Reject validation commands that would otherwise succeed without checking files, support multiple stylelint targets, and report validation scope and elapsed time. Document how to avoid redundant typechecking before compilation.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* build: count files entering hygiene checks

Track requested files only when they reach an actual hygiene checker, deduplicate across checker branches, and cover non-checkable assets.\n\n(Written by Copilot)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-01 23:36:31 +00:00
Justin Chenandcopilot-swe-agent[bot] 91663e918c plan widget + commenting service (#328293)
* plan widget + commenting service

* address comments

* fix component fixtures and bug

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-08-01 00:00:05 +00:00
Josh SpicerandCopilot d5eb7d2ed5 chat: Enforce per-marketplace plugin auto-updates (#327844)
* chat: Enforce per-marketplace plugin auto-updates

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: Address plugin auto-update review feedback

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* policy: Regenerate marketplace policy data

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-31 23:58:02 +00:00
Ben Villalobos 8bf178e1e1 Create css best practices instructions file (#328524)
Create css best practices instructions with :has rule
2026-07-31 23:25:00 +00:00
Josh SpicerandCopilot 30c696ae70 policy: keep exported policy data synchronized (#328490)
* policy: keep exported policy data synchronized

Export policy catalogs from both the Workbench and Agents window in isolated profiles, then merge them with explicit conflict validation. Restore the blocking integration check so policy source changes cannot drift from the generated catalog.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* policy: regenerate catalog after main merge

Regenerate the catalog with the canonical dual-entrypoint exporter after resolving the main merge. This restores ChatAllowManagedMcpServersOnly and keeps newly merged policies in generated order.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* policy: isolate export environment

Ignore portable and app-data overrides when launching policy export windows, and honor the configured temporary directory with compact paths that remain under macOS IPC limits.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* policy: sort exported catalog by key

Sort merged policy entries by configuration key before serialization so identical sources always produce the same catalog regardless of registration order.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-31 14:54:40 -07:00
Kyle Cutler 57f4000496 Additional browser smoke tests (#328465)
* Additional browser smoke tests

* Open and navigate flow

* feedback
2026-07-31 14:49:07 -07:00
Megan Rogge e0ff05f8aa Merge branch 'main' into eli/agents/button-style-update-circle-outline 2026-07-31 13:11:35 -04:00
Benjamin Christopher SimmondsandCopilot ac673890c2 Respect editor associations for chat file pills (#328415)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-31 14:39:46 +00:00
Giuseppe CianciandCopilot 71e54e8159 sessions: don't lose pins and groups when an agent can't list its sessions (#328408)
The agent host aggregates one `listSessions` result across all of its
agents. An agent that isn't ready yet returned an empty list rather than
failing, so a startup auth race produced a listing that looked complete
but was missing whole agents. `_refreshSessions` then evicted every
cached session absent from it and fired `removed`, which
`SessionGroupsService` and `SessionsListModelService` treated as a
deletion — permanently erasing the user's group membership, pins and
manual sort keys. The sessions returned on the next launch, but ungrouped
and unpinned.

Three changes:

- Durable UI state is discarded only on a definitive delete
  (`onDidDeleteSession`) or archive, never on `onDidChangeSessions.removed`,
  which is an eviction and can be transient.
- `CodexAgent.listSessions` rejects with `AHP_AUTH_REQUIRED` instead of
  returning `[]` while its GitHub token is still landing. The workbench
  already handles a rejected listing correctly: no eviction, the cache is
  not marked authoritative, and a backoff retry heals it. This also fixes
  a latent bug where an `openai` usage source could never list sessions.
- `_refreshSessions` no longer evicts an agent's sessions when that agent
  contributed no rows while others did — that namespace is unknown, not
  empty. A wholly empty listing still prunes, preserving the existing
  stale-hydrated-entry cleanup.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-31 13:16:51 +00:00
Ulugbek AbdullaevandCopilot 0beac730dd sessions: keep feedback submit overlay inside diff (#328203)
sessions: fix: keep feedback submit overlay inside diff

Anchor the agent feedback overlay to the inset editor pane instead of the full editor group so the docked detail panel cannot capture its bottom-right placement. Add focused unit coverage and a dark/light component fixture for the single-pane geometry.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 151ec481-fb28-49e1-8485-9229da423c15
2026-07-31 07:52:15 +00:00
Elijah KingandCopilot 6d1d6070d0 chat: address PR feedback — Agents window parity, compact add glyph, voice fixtures
Apply the circular send styling across every chat composer, not just the
editor one:

- The sessions part re-declared the send button's radius as
  `cornerRadius-small`, overriding the base rule and leaving the Agents
  window's active chat a rounded square. Drop those overrides so it
  inherits from chat.css — duplicating the radius per surface is what let
  the two drift apart in the first place.
- The Agents window's new-chat composer is a distinct widget with its own
  send button, so give `.sessions-chat-send-button` the circular radius
  too, and carry the ringed-circle treatment to its voice toolbar and
  dictation mic so the row stays consistent with the editor.

Use the compact glyph for Add Context. `Codicon.addCompact` exists, and
the convention is to swap to the optically tuned glyph rather than only
scaling the base one. Updated in both composers plus the automation
dialog's selector, and the Agents attach button drops an off-ramp 14px
size in the process. The design-tokens doc listed "plus" as having no
compact variant, which is no longer true.

Add screenshot fixture variants for the standalone dictation and Voice
Mode controls across all eight states they style differently: dictation
idle / recording / preparing, and Voice Mode idle / connecting /
listening / speaking / disconnect. The glow's audio-reactive level is
pinned so the screenshots stay deterministic.

Those fixtures immediately caught a live bug: the green disconnect rule
was specificity (0,3,0) while the blanket `icon-foreground !important`
rule that colors every toolbar codicon is (0,5,0). With equal
`!important` the higher specificity wins, so the disconnect button had
been rendering grey rather than green. Scoped the rule to the full
toolbar path so it wins, rather than baselining the bug.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-30 09:08:59 -07:00
Henning Dieterichs 0f3a16cb20 builds component explorer artifact 2026-07-30 16:35:19 +02:00
Joaquín Ruales a8643391a7 Rewording in Data agent: measurements->measures (#328148) 2026-07-30 02:39:07 +00:00
Logan RamosandCopilot 5c3112aaa7 Chat usage tracking improvements (#328012)
* Agent host usage tracking

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e3463606-86bf-4c41-ab25-936dc1c9d952

* Cleanup some model picker stuff

* Address comments

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e3463606-86bf-4c41-ab25-936dc1c9d952
2026-07-29 16:38:56 +00:00
Justin Chen 8fdf719d28 chat: completed response disclosure (#327923)
* chat: completed response disclosure

* address feedback + fix
2026-07-29 03:52:43 +00:00
Rob LourensandCopilot 461fdd6f5e Revert invalid markdown Dependabot schedule (#327912)
Revert invalid markdown Dependabot schedule (Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-28 22:18:35 +00:00
Ulugbek AbdullaevandCopilot App e269291290 Apply session _meta once per adapter update and keep it transactional (#327675)
* agents window: apply session `_meta` once per update and keep it transactional

Follow-up to "agents window: keep workspace-less quick chats out of bogus
workspace groups". That change made `_meta` arrive on every `listSessions`
refresh, which turns two pre-existing quirks in `AgentHostSessionAdapter.update`
into per-session, per-turn-completion work:

- `_meta` was applied twice: once inline and again through the trailing
  `setMeta`. With the promotion logic now living in `setMeta`, that also ran
  `_promoteToQuickChatIfWorkspaceless` and `_computeWorkspace` twice. Apply it
  once, up front, where the promotion still precedes the workspace rebuild.
- `setMeta` opened its own `transaction()`. `transaction()` never joins an
  enclosing one - it constructs a `TransactionImpl` and `finish()`es it - so
  moving the single application to the top of `update` would notify observers
  of `_meta` / `isQuickChat` / `workspace` before `isArchived`, `isRead`,
  `changes` and `activity` were applied, handing them a torn snapshot. Take an
  optional `ITransaction` and use `subtransaction`, and thread the caller's
  transaction from `update` and `_handleSessionSummaryChanged`. The two
  standalone callers pass nothing and keep their own transaction.

Also pins the absent-`_meta` case on the wire (the item is built field by field
and `satisfies SessionSummary` cannot catch a dropped optional in either
direction), and corrects the session-database key named in the docs: the marker
is persisted as `agentHost.workspaceless` (`AH_META_WORKSPACELESS_DB_KEY`,
written by `AgentService`), never `copilot.workspaceless`.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f4788b1-3307-4b88-b3fc-23565548de06

* agents window: drop the redundant workspace rebuild and finish the transaction threading

Addresses review feedback on this PR.

- `update()` still recomputed the workspace unconditionally after `setMeta`
  had already rebuilt it from the same project / working directories and the
  same `_meta`, so a `_meta`-bearing refresh paid for `_computeWorkspace()`
  twice - exactly the duplicate per-turn work this PR set out to remove. The
  fallback rebuild now only runs when the snapshot carries no `_meta`.

- `setChangesSummary` and `setActivity` wrote their observables with no
  transaction, and `observableValue.set(v, undefined)` builds and finishes one
  of its own, so they notified mid-way through the enclosing update. Both now
  take an optional `ITransaction`, and `update()` /
  `_handleSessionSummaryChanged` thread theirs through. Without this, threading
  the transaction into `setMeta` alone left `SessionSummaryChanged` still torn:
  `changes` is applied before `_meta`, so an observer of both ran once on the
  new chip with the stale workspace, then again at the outer finish.

The new test covers that notification path and fails with the intermediate
`{ branch: undefined, files: 2 }` snapshot when the transaction is dropped.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f4788b1-3307-4b88-b3fc-23565548de06

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f4788b1-3307-4b88-b3fc-23565548de06
2026-07-28 18:11:04 +00:00
Ladislau Szomoru 96ff69c836 Engineering - use macOS 26 for PR checks (#327773) 2026-07-28 17:47:54 +00:00
Henning Dieterichs fb8e4aaec9 Schedule Markdown editor updates twice daily (#327814) 2026-07-28 14:56:16 +00:00
Don Jayamanne 2273bb0674 feat(agentHost): add support for multiple working directories in Copilot provider (#327769)
* feat(agentHost): add support for multiple working directories in Copilot provider

- Introduced `AgentHostCopilotMultiRootEnabledConfigKey` to enable multiple working directory support.
- Updated `platformRootSchema` to include the new configuration key with default value set to false.
- Modified `agentHostStarter.config.contribution.ts` to register the new setting, hidden from the UI.
- Enhanced `agentService.ts` to manage the new configuration key for Copilot sessions.
- Updated `CopilotAgent` to advertise `multipleWorkingDirectories` capability based on the new setting.
- Added tests to ensure correct behavior of multiple working directories feature.
- Created `AgentHostWorkspaceSessionMembershipStore` to manage session membership in multi-root workspaces.
- Updated session list store to utilize the new membership store for filtering sessions based on workspace context.

* feat(agentHost): enhance multi-root workspace handling and session membership management
2026-07-28 13:22:07 +00:00
Paul f9a9ac4ab9 Add SDK logs to testing (#327698) 2026-07-27 23:01:37 +00:00
dependabot[bot] 1263c0f6ca build(deps): bump actions/setup-dotnet from 5 to 6 (#326145)
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 5 to 6.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](https://github.com/actions/setup-dotnet/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 14:49:17 -07:00
Ulugbek AbdullaevandCopilot App e823aaba40 quick chats: fix: show within Chats section instead of random UUID dirs (#327629)
agents window: keep workspace-less quick chats out of bogus workspace groups

Automation-created quick chats (and any quick chat seen after a reload or a
list refresh) rendered in the sessions sidebar under a section header labelled
with a raw session UUID instead of under "Chats".

Whether a session is a quick chat cannot be derived from its working directory
-- the host assigns workspace-less sessions a throwaway scratch cwd at
~/.copilot/chats/<sessionId> -- so it travels as an `agentHost.workspaceless`
marker on the generic `_meta` bag. `AgentService.listSessions()` overlays it
correctly, but the AHP `root/listSessions` round-trip dropped `_meta` on both
ends, so any session first materialized from a listing was classified as a
workspace session rooted at that scratch dir. `notify/sessionAdded` does carry
`_meta`, which is why a fresh quick chat looked right until the next refresh.

- carry `_meta` on the `listSessions` wire item (server) and map it back
  (client -- the only IAgentConnection implementation, so this covers the
  local host too)
- infer workspace-less in `_buildInitialSummary` from `config?.` so a
  `createSession()` with no config matches what the agents themselves infer
- make the adapter session-kind monotonically promotable instead of frozen at
  construction, so a mis-classified session heals when an authoritative
  `_meta` arrives, and report the promotion even when the workspace was
  already undefined so the list regroups
- persist the healed kind by overlaying the adapter live quick-chat state in
  `_persistCache`, so a stale snapshot cannot resurrect the mis-classification

The provider tests could never have caught the wire drop -- the mock host
returns its stored metadata verbatim, bypassing both mappers -- so the wire
regression tests live at the protocol layer, and the provider tests cover the
promotion and the cache round-trip.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c93359f3-9a7d-411d-9adb-21bdda78c6af
2026-07-27 16:30:32 +00:00
Justin Chen 0b01b08279 agents window: show tool info for subagent (#327557)
* agents window: show tool info for subagent

* address comments
2026-07-27 01:26:39 +00:00
Connor PeetandCopilot f6af01a89f chat: ask side questions from selected responses (#327465)
* chat: ask side questions from selected responses

Reuse the feedback input affordance in the Agents window to create side chats from selected assistant markdown, with accessible pending state and Agent Host context coverage.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chat: address side question review feedback

Preserve accessible labels and multiline input behavior, guard stale async UI completion after navigation, and normalize side-chat orchestration APIs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-25 16:51:57 +00:00
Osvaldo OrtegaandCopilot eb940dfa10 sessions: Refine the prompt sticky header (styling, navigation, roll) (#327401)
* sessions: Refine prompt sticky header styling and navigation

- Replace the sticky title hover underline with the chat request bubble
  background and hover color, matching the VS Code standard treatment.
- Give the hover background breathing room (padding + control-tier radius)
  while keeping the label aligned with the prompts underneath.
- Let the header span the full transcript width so the prompt label uses the
  available room before it has to ellipsize.
- Reveal the prompt row itself on Previous/Next (like the dock rail and the
  title), and drop the navigation pin so the header consistently hides after a
  jump instead of covering the top-aligned prompt.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: Roll the sticky prompt header label on prompt change

When the pinned prompt changes while the sticky header is visible, the
outgoing prompt name slides and fades out while the incoming name slides in
from the scroll direction, using the Web Animations API. The opaque band
stays fixed (translating it would overflow above the transcript and clip its
shadow); only the label text rolls inside a clip viewport. Snaps on first
appearance and jumps, and honors prefers-reduced-motion.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: Constrain the sticky prompt band to the message column

Move the band's background, border, and shadow from the full-width outer
element onto the centered content element (max-width 950, margin auto) so it
matches the transcript's title and prompt column instead of bleeding to the
window edges. This also removes the ~1px bump where the full-width band
overhung the vertical scrollbar gutter on the right.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: Align the sticky prompt band with the session header

Mirror the session header's box model so the band's background lines up with
the header's bottom-border line above it: a centered 950 host with the header
bar's 10px side padding, and an inner band that carries the background,
border, and shadow (like .chat-composite-bar-header). A 22px left inset
reproduces the header's status-icon column so the prompt text stays aligned
with the title and the prompts below.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: Round the sticky prompt band's bottom corners

Add a 4px (control-tier) radius to the bottom corners of the sticky prompt
band so it reads as a rounded control resting on the transcript.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: Add side borders to the sticky prompt band

Give the band left and right borders (in addition to the bottom) with the
top left open, so the rounded bottom corners read as intentional: the band is
anchored to the top of the transcript and closes off at the bottom. Switch the
border to the stroke-thickness token.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* sessions: Address PR review feedback on the sticky prompt header

- Composite the label hover token over the opaque panel base so it matches the
  standard chat bubble hover instead of stacking over the band's own tint.
- Reuse --session-view-centered-content-max-width (with a 950px fallback)
  instead of duplicating the centered-content width literal.
- Keep the SKILL note aligned with the request-bubble hover treatment.
- Shorten two-line method-body comments to one line.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-25 08:33:35 +00:00
Rob LourensandCopilot d50d52b618 Relax custom instruction validation requirements (#327395)
* Relax custom instruction validation requirements (Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* build tweaks

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-24 22:20:21 +00:00
Connor PeetandCopilot 3008d4f223 chat: carry selected text into side chats
Propagate /btw transcript selections through sessions and agent host.
Hide the snapshot in the first side-chat prompt while preserving it in origin metadata.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-24 10:53:07 -07:00
Connor PeetandCopilot 37d99fc160 agentHost: preserve local side chat context
Keep the selected local turn as side-chat provenance while using a separate concrete provider anchor. Inject the bounded local context exactly once on the first side-chat prompt.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-24 10:52:33 -07:00
Connor PeetandCopilot e8df488cdb agentHost: discriminate chat sources
Require explicit fork/sideChat source kinds throughout VS Code.

Remove the legacy ChatSource helper/fallbacks and update focused tests plus the sessions skill note.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-24 10:52:33 -07:00
Connor Peet e56fb82fca update 2026-07-24 10:52:32 -07:00
Connor PeetandCopilot 19feeb2c53 chat: show side chats as session tabs
/btw now branches the active chat context into standard Agents tabs instead of a separate side chat surface.

This keeps hidden tool subagents out of the visible tab model while preserving compatibility with the legacy fork-based side chat protocol.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-24 10:52:30 -07:00
Connor PeetandCopilot d9bd7d0242 agentHost: initial implementation of /btw
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-24 10:51:57 -07:00
Josh Spicer 95307914be Improve managed settings policy diagnostics (#327332)
* Improve managed settings diagnostics

* Fix local managed settings diagnostics routing
2026-07-24 10:44:12 -07:00
BeniBenj 0cd0450e31 adjust commit instructions 2026-07-24 11:58:14 +02:00
Sandeep SomavarapuandCopilot d0e6c7cb22 sessions: align secondary sidebar command state (#326735)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-23 22:50:42 +00:00
Henning Dieterichs 96b7470ad1 Keep markdown editor updated (#327146) 2026-07-23 18:43:12 +00:00