Skip to content

Conversation

@Stijnus
Copy link
Collaborator

@Stijnus Stijnus commented Sep 5, 2025

🚀 GitLab Integration Implementation / Improvements

This PR implements comprehensive GitLab integration for Bolt.diy, including connection management, repository handling, and deployment capabilities.

✨ Key Features Added

🔗 GitLab Integration

  • GitLab Connection Management: OAuth and Personal Access Token authentication
  • Repository Browsing: List, search, and manage GitLab repositories
  • GitLab Deployment: Deploy projects directly to GitLab Pages
  • Repository Cloning: Clone GitLab repositories with proper authentication

🎨 UI Improvements

  • GitHub Clone Dialog: Fixed missing repository selection dialog for GitHub cloning
  • Connection Components: Reorganized Netlify and Vercel components into subfolders
  • Clean UI: Removed environment variables section from connections tab
  • Performance: Added caching, pagination, and optimized loading states

🔧 Technical Enhancements

  • GitLab API Service: Complete API integration with error handling
  • State Management: GitLab connection store with proper state management
  • Push Functionality: GitLab push capabilities in workbench
  • Component Cleanup: Removed unused connection components

📝 Changes Made

GitLab Integration (Major)

  • ✅ Implement GitLab connection management and repository handling
  • ✅ Add GitLab deployment dialog and functionality
  • ✅ Create GitLab API service with comprehensive error handling
  • ✅ Add GitLab connection store and state management
  • ✅ Implement GitLab push functionality in workbench

GitHub Improvements

  • ✅ Fix GitHub clone repository dialog functionality
  • ✅ Update GitHub push method to use new pushToRepository approach
  • ✅ Enhance GitHub connection components and repository handling

Code Organization & Cleanup

  • ✅ Reorganize connections folder structure (Netlify/Vercel subfolders)
  • ✅ Remove environment variables info section from ConnectionsTab
  • ✅ Clean up unused connection components
  • ✅ Fix GitLab personal access tokens documentation link

Performance & UX

  • ✅ Add comprehensive caching for GitLab repositories
  • ✅ Implement pagination and search with debouncing
  • ✅ Add skeleton loaders and improved loading states
  • ✅ Fix DialogTitle accessibility warnings
  • ✅ Remove CORS-problematic attributes from avatars

🔍 Files Changed (Direct Branch Commits)

  • GitLab Components: 8 new GitLab-related components
  • GitHub Components: 6 enhanced GitHub components
  • Services & Stores: GitLab API service and connection store
  • UI Components: Reorganized connection components
  • Workbench: Enhanced with GitLab push functionality
  • Types: GitLab TypeScript definitions

🐛 Bug Fixes

  • Fixed GitHub clone repository dialog missing functionality
  • Resolved GitLab deployment dialog accessibility issues
  • Fixed GitLab personal access tokens documentation link
  • Cleaned up unused component files

Hayat55 and others added 14 commits April 17, 2025 12:24
Introduced PushToGitLabDialog and GitlabConnection components to handle GitLab project connections and push functionality. Includes user authentication, project handling, and UI for seamless integration with GitLab.
Introduce `GitlabConnection` and `PushToGitLabDialog` components to handle GitLab integration. These components allow users to connect their GitLab account, manage recent projects, and push code to a GitLab repository with detailed configurations and feedback.
Add GitLab integration components for connection and push
- Add comprehensive caching system for repositories and user data
- Implement pagination and search/filter functionality with debouncing
- Add skeleton loaders and improved loading states
- Implement retry logic for API calls with exponential backoff
- Add background refresh capabilities
- Improve error handling and user feedback
- Optimize API calls to reduce loading times
…ository handling

- Add GitLab connection UI components
- Implement GitLab API service for repository operations
- Add GitLab connection store for state management
- Update existing connection components (Vercel, Netlify)
- Add repository listing and statistics display
- Refactor GitLab components into organized folder structure
- Fix DialogTitle accessibility warnings for screen readers
- Remove CORS-problematic attributes from avatar images to prevent loading errors
- Enhance GitLab API error handling with detailed error messages
- Fix project creation settings to prevent initial commit conflicts
- Add automatic GitLab connection state initialization on app startup
- Improve deployment dialog UI with better error handling and user feedback
- Add GitLab deployment source type to action runner system
- Clean up deprecated push dialog files and consolidate deployment components

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit fixes the missing GitHub repository selection dialog in the "Clone a repo" feature
by implementing the same elegant interface pattern used by GitLab.

Key Changes:
- Added onCloneRepository prop support to GitHubConnection component
- Updated RepositoryCard to generate proper GitHub clone URLs (https://github.com/{full_name}.git)
- Implemented full GitHub repository selection dialog in GitCloneButton.tsx
- Added proper dialog close handling after successful clone operations
- Maintained existing GitHub connection settings page functionality

Technical Details:
- Follows same component patterns as GitLab implementation
- Uses proper TypeScript interfaces for clone URL handling
- Includes professional dialog styling with loading states
- Supports repository search, pagination, and authentication flow

The GitHub clone experience now matches GitLab's functionality, providing users with
a unified and intuitive repository selection interface across both providers.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove ConnectionForm.tsx (unused GitHub form component)
- Remove CreateBranchDialog.tsx (unused branch creation dialog)
- Remove RepositoryDialogContext.tsx (unused context provider)
- Remove empty components/ directory

These files were not referenced anywhere in the codebase and were leftover from development.
- Remove collapsible environment variables section
- Clean up unused state and imports
- Simplify the connections tab UI
- Create netlify/ folder and move NetlifyConnection.tsx
- Create vercel/ folder and move VercelConnection.tsx
- Add index.ts files for both netlify and vercel folders
- Update imports in ConnectionsTab.tsx to use new folder structure
- All connection components now follow consistent folder organization
@Stijnus Stijnus merged commit 3ea9650 into stackblitz-labs:main Sep 5, 2025
16 checks passed
@Stijnus Stijnus deleted the BOLTDIY_GITLAB_FEAT branch September 19, 2025 09:08
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