Skip to content

Dev v0.3.5.46 - #55

Merged
ruslanmv merged 2 commits into
masterfrom
dev-v0.3.5.46
Jul 15, 2026
Merged

Dev v0.3.5.46#55
ruslanmv merged 2 commits into
masterfrom
dev-v0.3.5.46

Conversation

@ruslanmv

Copy link
Copy Markdown
Owner

What the corrected patch does

  1. Preserves every existing animation

The corrected CSS starts from the complete original stylesheet rather than replacing it.

This preserves:

Message entrance animation
Animated thinking dots
Thinking-card light sweep
Thinking-card collapse
Streaming cursor blink
Success flash
Error shake
Tool activity fade
Loading spinner
Code-copy transitions
Approval and results styling
Reduced-motion accessibility

The compact layout is added as an override section at the bottom, so the existing component system remains intact.

  1. Adds the new GitPilot animations

The patch adds restrained animations matching the orange GitPilot design:

Connection indicator

The connection dot now reflects actual state:

Connected green glow and expanding ring
Degraded orange pulse
Disconnected red static indicator

The JavaScript updates its class, label, and tooltip from the backend connection state.

GitPilot avatar

The empty-state GP avatar has:

A subtle breathing glow
Two slowly rotating orbital rings
A small illuminated orbit point
GitPilot orange accents

The effect remains understated enough for continuous use in VS Code.

Thinking state

The existing thinking animation is enhanced with:

Orange animated dots
A brighter but subtle sweep
A pulsing phase icon
Elapsed-time display
Phase-dependent labels such as:
Analyzing your request
Writing response
Reviewing changes
Applying changes
Plan progress

Active plans now use:

Smooth progress-width transitions
A moving highlight across the progress track
A glowing progress endpoint
A scan animation across the active plan step
A pulsing active-step marker
Composer

The composer adds:

Orange focus glow
Animated send-button sheen on hover
Subtle send-button pulse during work
Animated Stop state
Smooth mode selection activation
Dynamic cards

The following now animate into view rather than appearing abruptly:

Task status
Approval request
Tool activity
Test results
Diagnostic results
Files and changes sections
3. Implements the proper three-zone sidebar

The sidebar now uses:

grid-template-rows: auto minmax(0, 1fr) auto;

This produces:

Compact header
Scrollable conversation
Fixed composer

The composer no longer disappears below the viewport. The header and input remain visible while only the conversation scrolls.

The old:

.chat-list {
max-height: 380px;
overflow: auto;
}

is overridden. This removes the small chat box and nested scrollbar.

  1. Keeps the GitPilot color theme

The corrected patch retains:

--gp-accent: #D95C3D;
--gp-accent-bright: #ff7a3c;
--gp-accent-hover: #C44F32;

GitPilot orange is used for:

Active modes
Send actions
Plan progress
Active plan steps
Avatar details
Focus indicators
Hover highlights
Streaming cursor

Green remains reserved for success states, including:

Connected
Completed steps
Passed tests
Successful operations

Red remains reserved for failures and deletions.

VS Code theme variables still control the underlying background, text, inputs, and borders, so the extension remains compatible with dark, light, and high-contrast themes.

  1. Restores semantic component markup

The simplified template has been expanded enough to retain the compact layout while restoring the classes required by the existing rendering system.

This includes proper structures for:

Task status and progress
Plan disclosure
Plan approval
Files in scope
Changed files
Approval requests
Tool activity
Terminal output
Tests and diagnostics
Task controls

This is important because the JavaScript dynamically generates classes such as:

chat-item
thinking-row
plan-item
plan-marker
activity-item
approval-risk
test-badge
diag-badge

Those classes now have their complete styling again.

  1. Fixes the suggestion action

The broken attribute was changed from:

data-prompt="Find potential bugs in the codebase"

to:

data-suggestion="Find potential bugs in the codebase"

It now matches the existing JavaScript listener.

  1. Improves the Send/Stop behavior

Instead of replacing the compact send control with large text reading Send or Stop, the corrected script uses icon states:

➤ Send
■ Stop generation

The accessible name and tooltip are updated:

btn.setAttribute(
"aria-label",
busy ? "Stop generation" : "Send message"
);

The button retains its compact size while remaining keyboard- and screen-reader-friendly.

  1. Adds reliable busy-state styling

The webview now toggles:

body.gp-is-busy

during active work.

This allows the CSS to coordinate:

Composer border state
Send/stop animation
Task status dot
Thinking card
Working label

The compatibility busy overlay remains hidden because the animated chat thinking card is the primary status indicator. This avoids covering the interface with a blocking overlay.

  1. Retains reduced-motion support

All new animations are disabled when the user has requested reduced motion:

@media (prefers-reduced-motion: reduce) {
/* animation disabled */
}

The original reduced-motion behavior is also preserved.

ruslanmv added 2 commits July 15, 2026 13:10
…e containment

Replaced the previous prefix-style patch path check with path.relative containment plus realpath resolution of the workspace and nearest existing target path, blocking sibling-prefix and symlink escapes.

Made patch application more transactional: it validates all targets before writing, captures original file states, creates parent directories, rolls back already-written files after an apply failure, and keeps originals for a later revert.

Implemented safer revert behavior through the persistent PatchApplier, including workspace-safe path validation and trash-based removal for files that were newly created by an applied patch.

Wired changed-file diff actions to the existing DiffService, which now opens a real vscode.diff preview only after workspace-safe path validation.

Added a registered gitpilot.executeApprovedPlan command instead of leaving the UI path dependent on an unregistered command.

Declared limited Workspace Trust support and blocked terminal execution/file modification when the workspace is untrusted, with trust checks failing closed if trust state cannot be read.

Restricted webview localResourceRoots to runtime output/resources and forwarded INIT to the extension-level bootstrap handler after state sync so initialization has one active path.

Committed the follow-up changes on the current branch: 24b00e3 Address VS Code extension safety gaps.

Created PR metadata with title: Address VS Code extension safety gaps.
What this patch reproduces

This patch reproduces the left GitPilot sidebar from the generated design:

Compact repository header
Animated connection state
Orange GitPilot avatar
Animated empty state
Four suggested tasks
Full-height chat
Animated streaming and thinking
Sticky composer
Ask, Plan, and Auto modes
Approval, plan, test, and activity cards

The generated screenshot also contains a full editor-area GitPilot Workspace and right-side Inspector. Those areas require a separate implementation involving:

src/panels/workspaceCopilotPanel.ts
src/extension.ts
src/core/types.ts
src/core/stateStore.ts

The uploaded patch does not modify those runtime components, so claiming that this sidebar patch alone reproduces the entire center-and-right layout would be inaccurate. The next UI patch should convert WorkspaceCopilotPanel into the three-column Chat / Workspace / Inspector interface while sharing the same state and animations.
@vercel

vercel Bot commented Jul 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
gitpilot Ready Ready Preview, Comment Jul 15, 2026 12:28pm

@ruslanmv
ruslanmv merged commit 5871353 into master Jul 15, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant