Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Fix spinner wobbling with centralized Spinner component#44

Merged
wesbillman merged 2 commits intomainfrom
matt2e/spinner
Feb 11, 2026
Merged

Fix spinner wobbling with centralized Spinner component#44
wesbillman merged 2 commits intomainfrom
matt2e/spinner

Conversation

@matt2e
Copy link
Contributor

@matt2e matt2e commented Feb 11, 2026

Summary

  • Created a centralized Spinner.svelte component to fix wobbling issues across the application
  • Migrated 13 components to use the new component, removing duplicate spinner CSS
  • Cleaned up orphaned spinner animation references

Changes

New Component

  • Spinner.svelte: Centralized component supporting all sizes (12px-24px) and both Loader2/RefreshCw icons
  • Fixes wobbling with proper transform-origin and will-change CSS
  • Uses Svelte 5 runes ($derived, $props)

Refactored Components

Updated 13 components to use the new Spinner component:

  • ActionOutputModal, AgentDropdown, AgentSetupModal
  • BranchCard, DiffModal, FolderPickerModal
  • NewBranchModal, NewSessionModal, ProjectSettingsModal
  • RemoteBranchCard, SessionLauncher, SessionModal, TimelineRow

Cleanup

  • Removed duplicate @keyframes spin definitions (13 instances)
  • Removed orphaned .spinning CSS rules from ActionOutputModal and NewSessionModal
  • Removed global .spinner/.spinning classes from app.css

Test plan

  • Verify all spinners render correctly at different sizes
  • Confirm wobbling is fixed across all components
  • Check that both Loader2 and RefreshCw icons work properly
  • Test spinner behavior in modals and inline contexts

🤖 Generated with Claude Code

matt2e and others added 2 commits February 11, 2026 13:51
Creates a centralized Spinner component that handles all spinner usage
across the application. This component:

- Supports all current sizes (12px, 14px, 16px, 20px, 24px)
- Supports both Loader2 and RefreshCw icons
- Fixes wobbling issues with proper CSS (transform-origin, will-change)
- Uses Svelte 5 runes ($derived, $props)
- Consolidates duplicate spinner CSS across 13 components

All spinner instances have been migrated to use the new component,
removing duplicate @Keyframes definitions and inconsistent styling.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Removes unused :global(.spinning) CSS rules from ActionOutputModal and
NewSessionModal, plus the global .spinner/.spinning classes from app.css.
The centralized Spinner component now handles all spinner styling and
animation internally via its own .spinner class.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@wesbillman wesbillman merged commit 82b14e3 into main Feb 11, 2026
2 checks passed
@wesbillman wesbillman deleted the matt2e/spinner branch February 11, 2026 21:53
loganj added a commit that referenced this pull request Feb 26, 2026
## Summary
- Add `transport_test.go` with end-to-end HTTP transport tests
- Tests: find_project roundtrip, full thread lifecycle (create → list → reply → read), files_in_review

**Stack**: Stacked on PR 3 (MCP tools).

## Test plan
- [x] `go test ./internal/mcpserver/ -run TestMCPOverHTTP -v` — all 3 tests pass
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.

2 participants