Commit Graph
37 Commits
Author SHA1 Message Date
David KayaandCopilot 91984e9dca refactor: remove unneeded sidecar refresh restart logic
Drop the refresh-time sidecar restart workaround and its helper/tests now that the verified fix is in the sidecar subprocess launcher itself. This keeps the runtime simpler and leaves only the changes required for correct Copilot version detection.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 18:09:35 +01:00
David KayaandCopilot 312ca0bf17 fix: scope sidecar exit handling to the active process
Wait for an intentional sidecar dispose to exit before refreshing capabilities, and ignore exit events from stale sidecar processes. This prevents a refresh from killing the old process and then having that old exit reject the new capabilities request with an unexpected sidecar exit error.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 16:44:40 +01:00
David KayaandCopilot 9cded003b5 fix: restart idle sidecar on capability refresh
Force-refreshing sidecar capabilities now disposes the idle sidecar process before re-querying capabilities, so Kopaya can pick up backend sidecar changes and refreshed Copilot connection state without a full app restart.

Add a small helper and regression tests for the refresh decision.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 15:29:59 +01:00
David KayaandCopilot b73f5dfb41 feat: show account identity, version badge, and org pills in settings
Extend CopilotStatusCard to surface the new backend diagnostics:
- Account identity row (login + host) when authenticated
- Organization pills with +N overflow
- CLI version freshness badge (latest/outdated/unknown)
- Latest-version hint in expandable details when outdated
- Mark version/account roadmap items as complete

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 15:19:24 +01:00
David KayaandCopilot bf5aa7ce57 feat: add Copilot version and account diagnostics
- report Copilot CLI version freshness as latest, outdated, or unknown
- expose active Copilot account metadata from the SDK auth status
- add best-effort GitHub organization context when gh is available
- document the frontend follow-up in HANDOVER.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 15:10:10 +01:00
David KayaandCopilot e97d00e362 refactor: group settings nav into AI Provider and Orchestration sections
Adds section headers to the left sidebar navigation so future
settings items slot naturally under the right category.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 14:00:46 +01:00
David KayaandCopilot cc882d2f09 refactor: redesign settings page with sidebar navigation
- Replace single-scroll settings with two-column layout:
  left sidebar nav (Connection, Patterns) + content area
- Consistent back arrow (←) on the left for all navigation levels:
  settings → app, pattern editor → settings list
- Fix CopilotStatusCard path overflow: use break-all for long
  Windows paths, structured detail sections with proper wrapping
- Simplify status card: cleaner status dot indicator, separated
  detail sections with labeled fields and proper text overflow

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 13:56:34 +01:00
David KayaandCopilot c237b9e82d feat: add Copilot connection status card in settings
- New CopilotStatusCard component with status-specific visuals for
  ready, cli-missing, auth-required, and error states
- Expandable technical details section with CLI path and timestamps
- Refresh button wired to refreshSidecarCapabilities IPC
- Integrated into SettingsPanel above orchestration patterns

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 13:44:10 +01:00
David KayaandCopilot d68b1b99f3 feat: add Copilot connection diagnostics
Add backend support for Copilot connection and account-status UX without introducing raw provider credential management.

This change extends sidecar capabilities with explicit connection diagnostics, adds a refreshable capabilities IPC path, classifies common Copilot CLI failure modes, and includes a frontend handover document describing the new payload and expected UI states.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 12:58:40 +01:00
David KayaandCopilot be9a8f6d7f feat: restore compact inline pills for scratchpad model picker
Re-apply the inline pill-button design for the scratchpad model and
thinking effort selectors that was overwritten by a concurrent agent.

- InlineModelPill: compact pill with provider icon, upward-opening
  grouped dropdown with provider headers and tier badges; respects
  the new availableModels prop for live model availability
- InlineThinkingPill: compact Sparkles pill with upward-opening
  effort selector; shows N/A when model has no reasoning support
  (respects supportedEfforts from per-model capabilities)
- Removes the large bordered card wrapper, replaces with subtle
  inline row of pills sitting just above the composer textarea
- Preserves all new logic from the model-availability agent:
  availableModels prop, resolveReasoningEffort, getSupportedEfforts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 11:46:41 +01:00
David KayaandCopilot 6e623b7bd6 fix: use live copilot model availability
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 11:07:43 +01:00
David KayaandCopilot 4e4f6ebedb feat: redesign scratchpad config as compact inline pills
Replace the large bordered card with model/thinking dropdowns with
subtle inline pill-buttons that sit just above the composer textarea.

- Create InlineModelPill: compact pill showing provider icon + model
  name with upward-opening grouped dropdown (same model catalog)
- Create InlineThinkingPill: compact pill with Sparkles icon and
  effort label with upward-opening dropdown
- Both pills use minimal border styling that highlights on open/hover
- Dropdowns open upward (bottom-full) so they don't get clipped
- Add loading spinner next to pills while config is saving
- Remove the large 'Applies to future replies' card wrapper

Also fixes 'onUpdateScratchpadConfig is not a function' error:
- Make onUpdateScratchpadConfig optional in ChatPaneProps (only
  relevant for scratchpad sessions, not regular project sessions)
- Guard the call with !onUpdateScratchpadConfig early return

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 10:21:44 +01:00
David KayaandCopilot fd0256d62f feat: add scratchpad chat model controls
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 10:20:17 +01:00
David KayaandCopilot 1b41cbd1e0 feat: add scratchpad chat sessions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 10:11:42 +01:00
David KayaandCopilot 2f90a19736 feat: label pending and final agent messages
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 09:46:13 +01:00
David KayaandCopilot 16229b8b0a fix: stabilize streamed agent text
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 21:39:46 +01:00
David KayaandCopilot 0cb87d8b66 feat: redesign sidebar with richer session cards and visual polish
- Session cards now show orchestration mode icon (colored per type:
  indigo=single, amber=sequential, emerald=concurrent, sky=handoff,
  violet=group-chat) giving at-a-glance pattern visibility
- Add relative timestamps (just now, 2m ago, yesterday, etc.)
- Running sessions show animated pulse on left accent bar and
  text status label instead of static dot
- Multi-agent sessions display agent count badge (Users icon + count)
- Error sessions show explicit red Error label
- Project headers show running session count as live badge
  and total count as pill; folder icon highlights on hover
- Upgrade Kopaya logo from letter badge to gradient icon with
  Sparkles, add BETA tag
- Move New Session button to prominent dashed-border CTA below header
- Better empty state with composite folder+plus icon treatment
  and indigo Add Project button
- Add sidebar-pulse CSS keyframe animation for running indicators

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 21:34:51 +01:00
David KayaandCopilot f940b9d153 fix: enforce handoff delegation roles
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 21:13:16 +01:00
David KayaandCopilot 8f668da7f8 feat: use official SVG brand icons for model providers
Replace colored letter badges with official SVG icons sourced from
Simple Icons (Anthropic, Google Gemini) and Wikimedia Commons (OpenAI).

- Create shared ProviderIcons.tsx with OpenAI, Anthropic, and Gemini
  SVG icon components using the official brand marks
- Update PatternEditor ModelSelect dropdown to use real provider icons
- Update ActivityPanel model badges to use real provider icons
- Remove duplicated providerStyles objects from both files

Icons are inline SVG using currentColor for theme-aware coloring.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 20:58:38 +01:00
David KayaandCopilot baea491cf2 feat: add model dropdown with provider logos and tier badges
- Create model catalog (src/shared/domain/models.ts) with 12 models
  from OpenAI, Anthropic, and Google including tier metadata
- Replace free-text model input with custom ModelSelect dropdown
  grouped by provider with colored provider icons (green AI for
  OpenAI, orange A for Anthropic, blue G for Google)
- Show tier badges (premium/standard/fast) on each model option
- Highlight currently selected model with indigo accent
- Update ActivityPanel to show provider icons on model badges
  for visual consistency across the app

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 20:05:54 +01:00
David KayaandCopilot 018100a9a8 feat: fix settings header overlap, redesign pattern editor
- Fix SettingsPanel and PatternEditor headers with pt-12 to clear
  the title bar overlay zone
- Replace mode dropdown with visual mode selector cards showing
  icon, description, and inline flow diagrams for each pattern
- Add flow pill diagrams (Single, Sequential, Concurrent, Handoff,
  Group Chat, Magentic) illustrating how agents interact
- Add reasoning effort selector (Low/Medium/High/Maximum) to
  agent cards — previously not exposed in the editor
- Improve agent cards with numbered badges and 3-column layout
  for name, model, and reasoning fields

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 19:54:22 +01:00
David KayaandCopilot c4502c9661 feat: show agent model, effort, and description in activity panel
Each agent now renders as a card with:
- Status dot and name
- Model badge (e.g. gpt-5.4) and reasoning effort badge
- Agent description text
- Live activity status label
Cards highlight with blue/emerald borders when active/completed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 19:16:06 +01:00
David KayaandCopilot 879c6c145c feat: render chat messages as markdown with code blocks
- Add react-markdown and remark-gfm for markdown rendering
- Create MarkdownContent component with custom code block renderer
  featuring language labels and copy-to-clipboard buttons
- Add full markdown prose styles (headings, lists, tables, links,
  blockquotes, inline code) matching the dark zinc theme
- Replace plain-text message rendering in ChatPane with MarkdownContent
- Handle fenced code blocks with and without language specifiers

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 19:04:24 +01:00
David KayaandCopilot 9138aa8819 feat: add right-side activity panel for agent status
- Create ActivityPanel component showing per-agent status with
  activity dots, agent names, and contextual status labels
- Add detailPanel slot to AppShell layout (right aside, w-64)
- Move agent activity display from inline ChatPane card to the
  dedicated side panel
- Remove activity prop and inline panel from ChatPane
- Panel appears when a session is selected, hidden on WelcomePane

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 18:34:05 +01:00
David KayaandCopilot 867f2932df fix: harden activity event handling
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 18:18:06 +01:00
David KayaandCopilot 9ba0174f68 fix: stream session updates live
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 16:12:48 +01:00
David KayaandCopilot e6826f1324 fix: improve agent activity reporting
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 13:41:09 +01:00
David KayaandCopilot b28a955271 fix: remove synthetic agent status fallback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 13:10:17 +01:00
David KayaandCopilot 9dfdb03f6f feat: show per-agent activity statuses
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 12:58:21 +01:00
David KayaandCopilot c5979d07bd feat: add agent activity events
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 12:48:27 +01:00
David KayaandCopilot b9e9662f6e feat: blend title bar, remove menu, add agent activity indicators
- Configure hidden title bar with titleBarOverlay matching dark theme
- Remove native menu bar via Menu.setApplicationMenu(null)
- Fix backgroundColor mismatch (#0f172a -> #09090b)
- Add full-width drag region in AppShell for window dragging
- Adjust sidebar and chat headers with top padding for overlay zone
- Add ThinkingDots component with animated dot sequence
- Show activity indicator in chat when agent is processing
- Replace 'Generating...' spinner with inline blinking cursor
- Refine header status badge to subtle pulsing dot
- Add BACKEND_UI_CHANGES.md documenting future sidecar protocol additions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 12:43:44 +01:00
Copilot CLIandCopilot 32f8de6485 feat: redesign UI for modern look and clean UX
- Refined dark theme with zinc palette and indigo accents
- Clean sidebar showing only project/session tree
- Moved pattern management to full-screen settings panel
- New session modal with project + pattern picker
- Modern chat with avatar icons, inline send button, Enter-to-send
- Welcome pane when no session is selected
- Added lucide-react for consistent iconography
- Custom scrollbar styling and auto-resize textarea
- Removed clutter: no sidebar pattern list, no verbose headers

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 11:22:51 +01:00
Copilot CLIandCopilot 56c81fe053 fix: shell-launch copilot on windows
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 10:44:00 +01:00
Copilot CLIandCopilot 2fbb5dc5a5 fix: sanitize sidecar launch environment
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 10:35:55 +01:00
Copilot CLIandCopilot c8d23f91d1 feat: add packaging and validation coverage
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 09:30:37 +01:00
Copilot CLIandCopilot 9e509593d6 feat: scaffold electron orchestrator foundation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 09:27:28 +01:00
Dávid KayaandCopilot 1ed3d3f652 chore: initialize repo with Copilot LSP config
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 09:25:14 +01:00