- Pass isStreaming prop through message components to disable actions during streaming
- Improve action button styling with icons and better spacing
- Disable buttons while streaming to prevent concurrent actions
- Implement discuss mode toggle and UI in chat box
- Add quick action buttons for file, message, implement and link actions
- Extend markdown parser to handle quick action elements
- Update message components to support discuss mode and quick actions
- Add discuss prompt for technical consulting responses
- Refactor chat components to support new functionality
The changes introduce a new discuss mode that allows users to switch between code implementation and technical discussion modes. Quick action buttons provide immediate interaction options like opening files, sending messages, or switching modes.
The Docker build process was failing with an out-of-memory error during the `pnpm run build` step in the `bolt-ai-production` stage.
This commit increases the memory available to Node.js by modifying the build command to include the `--max-old-space-size=4096` flag. This provides 4GB of memory to the Node.js process, which should be sufficient to complete the build.
Remove redundant checks for deleted paths and streamline binary file handling. This fixes the browser using excessive memory and freezing.
Improve DiffView to use a singleton instance of Shiki
- Added logging for dynamic max tokens based on model details.
- Increased max token limit for Claude model from 8000 to 128000.
- Included beta header for Anthropik API call.
Add steps to build and upload Electron app artifacts as part of the release workflow. This includes setting up Node.js, installing dependencies, and building the app for different platforms (Windows, macOS, Linux). The built artifacts are then uploaded as release assets.
Remove redundant error type handling in webcontainer to simplify logic and improve maintainability. Additionally, comment out lock file patterns to speed up npm install process.
* feat: Add reusable UI components and fix GitHub repository display
* style: Fix linting issues in UI components
* fix: Add close icon to GitHub Connection Required dialog
* fix: Add CloseButton component to fix white background issue in dialog close icons
* Fix close button styling in dialog components to address ghost white issue in dark mode
* fix: update icon color to tertiary for consistency
The icon color was changed from `text-bolt-elements-icon-info` to `text-bolt-elements-icon-tertiary`
* fix: improve repository selection dialog tab styling for dark mode
- Update tab menu styling to prevent white background in dark mode
- Use explicit color values for better dark/light mode compatibility
- Improve hover and active states for better visual hierarchy
- Remove unused Tabs imports
---------
Co-authored-by: KevIsDev <zennerd404@gmail.com>
* Add persistent file locking feature with enhanced UI
* Fix file locking to be scoped by chat ID
* Add folder locking functionality
* Update CHANGES.md to include folder locking functionality
* Add early detection of locked files/folders in user prompts
* Improve locked files detection with smarter pattern matching and prevent AI from attempting to modify locked files
* Add detection for unlocked files to allow AI to continue with modifications in the same chat session
* Implement dialog-based Lock Manager with improved styling for dark/light modes
* Add remaining files for file locking implementation
* refactor(lock-manager): simplify lock management UI and remove scoped lock options
Consolidate lock management UI by removing scoped lock options and integrating LockManager directly into the EditorPanel. Simplify the lock management interface by removing the dialog and replacing it with a tab-based view. This improves maintainability and user experience by reducing complexity and streamlining the lock management process.
Change Lock & Unlock action to use toast instead of alert.
Remove LockManagerDialog as it is now tab based.
* Optimize file locking mechanism for better performance
- Add in-memory caching to reduce localStorage reads
- Implement debounced localStorage writes
- Use Map data structures for faster lookups
- Add batch operations for locking/unlocking multiple items
- Reduce polling frequency and add event-based updates
- Add performance monitoring and cross-tab synchronization
* refactor(file-locking): simplify file locking mechanism and remove scoped locks
This commit removes the scoped locking feature and simplifies the file locking mechanism. The `LockMode` type and related logic have been removed, and all locks are now treated as full locks. The `isLocked` property has been standardized across the codebase, replacing the previous `locked` and `lockMode` properties. Additionally, the `useLockedFilesChecker` hook and `LockAlert` component have been removed as they are no longer needed with the simplified locking system.
This gives the LLM a clear understanding of locked files and strict instructions not to make any changes to these files
* refactor: remove debug console.log statements
---------
Co-authored-by: KevIsDev <zennerd404@gmail.com>
The code signing credentials for macOS were removed from the GitHub Actions workflow and the identity field in the electron-builder.yml was set to null. This change was made to include unsigned .dmg releases
Enhance the search experience by ensuring the loader is displayed for a minimum duration to avoid flickering. Additionally, introduce a `hasSearched` state to accurately display "No results found" only after a search has been performed.
- Add support for `PREVIEW_CONSOLE_ERROR` in WebContainer error handling
- Introduce new Search component for text search functionality
- Extend `ScrollPosition` interface to include `line` and `column`
- Implement scroll-to-line functionality in CodeMirrorEditor
- Add tab-based navigation for files and search in EditorPanel
This commit introduces several enhancements to the editor, including improved error handling, better scrolling capabilities, and a new search feature. The changes are focused on improving the user experience and adding new functionality to the editor components.
chore: update @webcontainer/api to version 1.6.1-internal.1
fix: fix: make diff button consistent with other toolbar buttons originally fixed in PR #1601 but had been overwritten
Improves maintainability by moving the 'modern-scrollbar' class to the conditional styling block in BaseChat.tsx, making the code more consistent and easier to manage.
Introduce the modern-scrollbar class to enhance the visual consistency of scrollbars across the application. This class provides a cleaner and more modern look for scrollbars in WebKit and Firefox browsers.
Introduce a new starter template for Vite with shadcn/ui integration. The template includes React, TypeScript, and Tailwind, and is added to the STARTER_TEMPLATES list. Additionally, update the styling in StarterTemplates component to better accommodate the new template and add the shadcn.svg icon.
Clean up code by removing unnecessary debug logging statements in `StarterTemplates.tsx` and `useShortcuts.ts`. Making it easier to debug issues in console
Refine the UI design and content guidelines in the prompts to ensure consistency and professionalism. Add detailed instructions for animations, color schemes, typography, and layout.
Remove redundant console log in the LLM stream-text module.
Remove unused imports, files parameter, and redundant multimodal handling logic. Streamline the function by directly passing processed messages to _streamText. Also, add specific handling to remove package-lock.json content to reduce token usage
Introduce dynamic titles for bundled artifacts based on their state and ID. This improves user experience by providing more context during project creation or restoration. Also, pass the `title` parameter to the `getTemplates` function to customize the artifact title.
The dependency array in the Artifact component was missing `artifact.type` and `allActionFinished`, which could lead to incorrect evaluation of action completion. Additionally, the logic for determining if all actions are finished was updated to account for 'start' actions that are 'running'. This ensures that the component accurately reflects the state of bundled artifacts.
The artifact ID check was updated from 'imported-files' to 'restored-project-setup' to correctly identify the restored project setup action. This ensures the UI displays the appropriate message based on the artifact's state.