Skip to content

Checkpoint storage setting + settings view redesign#1379

Merged
cte merged 1 commit intomainfrom
cte/checkpoints-settings
Mar 5, 2025
Merged

Checkpoint storage setting + settings view redesign#1379
cte merged 1 commit intomainfrom
cte/checkpoints-settings

Conversation

@cte
Copy link
Collaborator

@cte cte commented Mar 4, 2025

Context

  • Break the SettingsView up into individual components for each section
  • Add a checkpoints section
  • Convert a bunch of things to Tailwind
  • Try to make some things prettier
settings.mp4

Implementation

Screenshots

before after

How to Test

Get in Touch


Important

Redesigns the settings view by breaking it into components, adding a checkpoints section, and converting styles to Tailwind, with updates to state management and testing.

  • Settings View Redesign:
    • Break SettingsView into individual components: AdvancedSettings, ApiConfigManager, CheckpointSettings, etc.
    • Add checkpoints section with CheckpointSettings component.
    • Convert styles to Tailwind for consistency and improved UI.
  • Functionality Changes:
    • Introduce CheckpointStorage type in Cline.ts and ClineProvider.ts for managing checkpoint storage settings.
    • Update ExtensionStateContext to handle new settings and state management.
  • UI Components:
    • Add new components: Section, SectionHeader, SettingsFooter, ExperimentalFeature, etc.
    • Use VSCodeCheckbox, VSCodeButton, and other VSCode UI toolkit components for consistent UI elements.
  • Testing:
    • Update tests in SettingsView.test.tsx to cover new settings and components.
    • Ensure ExtensionStateContext.test.tsx reflects changes in state management.

This description was created by Ellipsis for e1ccb70. It will automatically update as commits are pushed.

@cte cte requested a review from mrubens as a code owner March 4, 2025 21:41
@changeset-bot
Copy link

changeset-bot bot commented Mar 4, 2025

⚠️ No Changeset found

Latest commit: e1ccb70

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@dosubot dosubot bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Mar 4, 2025
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Working on this as a follow-up.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should stop tampering with the non-shadow repo altogether now that the shadow repo implementation has been out for a while.

@dosubot dosubot bot added the Enhancement New feature or request label Mar 4, 2025
@ellipsis-dev
Copy link
Contributor

ellipsis-dev bot commented Mar 4, 2025

This pull request is quite large, with significant changes across multiple files and components. It includes both refactoring and new feature additions, which could potentially be split into separate pull requests. This would make it easier to review and manage the changes.

Here are some suggestions for splitting the pull request:

  1. Refactoring Changes: Consider creating a separate pull request for all the refactoring changes, such as those in src/core/Cline.ts, webview-ui/src/components/common/MermaidBlock.tsx, and webview-ui/src/components/history/HistoryPreview.tsx.

  2. New Feature Additions: Create another pull request for the new features, such as the AdvancedSettings, AutoApproveSettings, and BrowserSettings components.

  3. Styling Updates: The styling updates, like those in webview-ui/src/components/settings/ApiConfigManager.tsx and webview-ui/src/index.css, could be grouped into a separate pull request.

By splitting the changes into these categories, it will be easier to review and ensure that each set of changes is thoroughly tested and validated. Let me know if you have any questions or need further assistance!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of this logic was copied to a dedicated custom hook to clean this component up a bit.

@cte cte changed the title Cte/checkpoints settings heckpoint storage setting + settings view redesign Mar 4, 2025
@cte cte changed the title heckpoint storage setting + settings view redesign Checkpoint storage setting + settings view redesign Mar 4, 2025
@cte cte force-pushed the cte/checkpoints-settings branch from b5c5169 to e1ccb70 Compare March 4, 2025 23:18
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Mar 5, 2025
@cte cte merged commit 2e41376 into main Mar 5, 2025
11 checks passed
@cte cte deleted the cte/checkpoints-settings branch March 5, 2025 02:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement New feature or request lgtm This PR has been approved by a maintainer size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants