* Redesign chat customizations welcome page
- Extract welcome page into dedicated AICustomizationWelcomePage class
and aiCustomizationWelcome.css for better code organization
- Replace old banner + card grid with:
- 'Analyze Your Project and Configure AI' input box that opens
/agent-customization in chat with user's description
- 2x3 category card grid (Agents, Skills, Instructions, Hooks,
MCP Servers, Plugins) with actionable chip buttons
- Chips prepopulate chat with specific prompts (e.g. 'Create a
code review agent', 'Enforce coding style')
- Remove redundant 'Chat Customizations' heading (already in tab)
- Remove redundant 'browse by type' pills (cards serve same purpose)
- Improve chip contrast with visible borders and link-colored text
- Tighten card padding and description sizing for cleaner layout
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Polish welcome page: bigger input, separator, more copy
- Make input box taller with rounded corners and inner submit button
styled like a chat input (pill-shaped submit that fills on hover)
- Add section divider line between input area and card grid
- Add 'Or configure individual customizations:' label above grid
- Expand description copy to mention codebase analysis
- Bump card label font-weight to 600 and restore 12px desc size
- Restore card padding to 14px for better breathing room
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Rework welcome page: stacked list, better input, centered divider
- Replace 2x3 card grid with full-width stacked category list
where each row shows icon, label, description, and chip buttons
inline on a single line
- Input box uses cornerRadius-large, proper padding matching chat
input style, submit button inside with pill shape
- Separator now shows centered text: 'or configure individually'
with lines extending on both sides
- Reduce max-width to 680px and remove all excess whitespace
- Remove card/grid CSS entirely
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Improve welcome page hierarchy and command styling
- Restore strong page intro with 'Chat Customizations' heading and
descriptive copy from the original welcome page
- Increase overall scale: wider content, larger workflow heading,
larger description text, and roomier input box
- Break each section into title row, description row, and command row
instead of compressing everything into a single line
- Restyle example actions as monospace command-like entries such as
'/create-skill ...' to better communicate they prepopulate chat
- Make category rows roomier with card-like boundaries and better
visual hierarchy
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Simplify welcome page into launcher-style sections
- Replace boxed customization cards with lightweight stacked sections
separated by subtle rules
- Keep the centered 'or configure individually' separator
- Increase overall scale for the intro, workflow heading, copy, and input
- Make command examples look like real slash commands with plain
command-link styling instead of pill buttons
- Separate each section into title, description, and command rows for
clearer hierarchy
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Revert welcome page to original design (keep file separation)
Restore the original welcome page layout from main exactly as it was:
- 'Chat Customizations' heading + subtitle
- 'Configure Your AI' getting-started banner
- Responsive card grid with Browse and Generate with AI buttons
The only structural change kept is the file separation:
welcome page logic lives in aiCustomizationWelcomePage.ts and
welcome CSS lives in media/aiCustomizationWelcome.css.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add centered 'or configure individually' divider between banner and cards
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Replace Configure Your AI banner with chat-style input box
Swap the old getting-started banner for a clean input box styled
like the chat input part: cornerRadius-large, input-background,
submit arrow inside. No highlight borders or extra UI chrome.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix input box focus outlines to match chat input part
Remove the double-outline: the inner monaco-inputbox and the native
input element both had their own focus borders showing through. Force
border/outline to none on both inner elements and let only the outer
container show the single focus border. Use transparent as default
border (matching chat input) and add overflow: hidden to clip inner
outlines at the rounded corners.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix inner input box border by passing transparent inputBoxStyles
The InputBox sets an inline style border via applyStyles() which
cannot be overridden by CSS. Pass inputBorder: transparent and
inputBackground: transparent so the inner box is invisible and
only the outer container provides the border.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Refactor agent customizations welcome page
Split the Agent Customizations welcome page into classic and prompt-launcher variants, add a configuration switch for selecting the implementation, and add component fixtures for the welcome page variants.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Polish customization welcome page variants
Refine the classic and prompt-launcher welcome pages so the workflow entry point is more prominent and the category actions are simpler and better aligned.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Swap welcome variants and fix sessions chat prefill
Move the polished workflow-box layout into promptLaunchers (now the default) and restore classic to the origin/main baseline. Add prefillChat callback so the Generate Workflow input works in both the sessions app (via NewChatViewPane.sendQuery) and core VS Code (via workbench.action.chat.open). Enable the getting-started banner in sessions. Fix double-box input styling and card footer alignment.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix input focus outline and polish welcome page layout
Replace InputBox widget with plain <input> element to eliminate the focus border that the global .monaco-workbench input[type=text]:focus rule was applying. Move helper text above the input, match input-row rounding to the outer card, and add strong specificity overrides for all focus states.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Scope the sessions-only sash styling to round the hover indicator and orthogonal drag handles, and document the layout update in LAYOUT.md.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
refactor(xtab): extract _performFetch from _streamEditsImpl
Separate the HTTP fetch lifecycle (FetchStreamSource setup, makeChatRequest2,
initial error handling, line stream construction with cursor-tag removal and
latency logging) into a dedicated _performFetch method.
This makes the fetch infrastructure self-contained and returns a clean
AsyncIterable<string> line stream + getFetchFailure callback for downstream
format handlers, matching the pattern already used by
XtabCustomDiffPatchResponseHandler.
_streamEditsImpl is now a coordinator: it calls _performFetch, then dispatches
to format handlers, then post-processes edit-window results.
Part of #308744