Commit Graph

20 Commits

Author SHA1 Message Date
Stijnus
36f1b9c52d feat: comprehensive debug logging system with capture and download
Add a robust debug logging system that captures application state, user interactions, and system diagnostics for enhanced troubleshooting and development experience.

##  Features Added

### 🔍 **Multi-Source Data Capture**
- **Console Logging**: Captures all console.log, console.warn, console.error
- **Error Handling**: Intercepts JavaScript errors and unhandled promise rejections
- **Network Monitoring**: Tracks all fetch requests with timing and status
- **User Actions**: Records user interactions and UI events
- **Terminal Activity**: Captures shell input/output with ANSI cleaning
- **Performance Metrics**: Memory usage, page load times, paint timing

### 📊 **System Information Collection**
- Platform detection (macOS, Windows, Linux)
- Browser and viewport information
- Git repository status (branch, commit, dirty state)
- Application state (model, provider, workbench view)
- Performance and memory statistics

### 🎯 **User Interface Integration**
- **Avatar Dropdown**: "Download Debug Log" option with download icon
- **Header Actions**: "Debug Log" button alongside existing "Report Bug"
- **One-Click Download**: Generates comprehensive debug reports
- **Error Handling**: Graceful degradation with user feedback

### 🔧 **Technical Implementation**
- **Circular Buffers**: Memory-efficient storage with fixed capacity (1K entries)
- **Lazy Loading**: Zero performance impact when disabled (default state)
- **Debouncing**: Terminal logs debounced at 100ms to prevent spam
- **JSON Safe**: Circular reference protection and depth limiting
- **Async Operations**: Non-blocking debug operations

### 📁 **Files Modified**
- `app/utils/debugLogger.ts` (1,284 lines) - Core debug logging utility
- `app/utils/logger.ts` - Integration with existing logging system
- `app/utils/shell.ts` - Terminal activity capture
- `app/components/@settings/core/AvatarDropdown.tsx` - UI integration
- `app/components/header/HeaderActionButtons.client.tsx` - Header button
- `app/root.tsx` - Initialization and setup
- `app/routes/api.git-info.ts` - Git information endpoint

## 🚀 **Benefits**

- **Enhanced Debugging**: Comprehensive data collection for issue reproduction
- **Performance Monitoring**: Built-in performance tracking and memory analysis
- **User Support**: Easy debug log generation for support tickets
- **Developer Experience**: Rich debugging data without performance penalty
- **Production Ready**: Opt-in system with zero impact on regular users

## 🔒 **Security & Privacy**

- Client-side only operation (no server transmission)
- User-controlled data collection and export
- No sensitive information captured automatically
- Manual opt-in required for debug mode activation

## 📈 **Performance Impact**

- **Disabled by Default**: No performance impact for regular users
- **Lazy Initialization**: Components loaded only when needed
- **Memory Bounded**: Fixed-size buffers prevent memory leaks
- **Non-Blocking**: All operations are asynchronous
- **Efficient Storage**: Circular buffers with automatic cleanup

## 🔄 **Integration Points**

- Seamlessly integrates with existing `logger` utility
- Compatible with current shell/terminal implementation
- Works with existing error handling patterns
- Maintains backward compatibility

This implementation provides developers and users with powerful debugging capabilities while maintaining excellent performance and user experience.
2025-09-07 01:14:29 +02:00
Stijnus
5517f7d6f1 feat: move export/sync buttons to workbench and standardize styling
- Move Export and Sync buttons from header to workbench editor panel
- Position buttons in front of Toggle Terminal button
- Standardize button styling with consistent:
  * Accent colored background and white text
  * Same padding (px-3 py-1.5) and font size (text-xs)
  * Consistent border styling and hover states
- Fix font size conflicts by removing parent text-sm classes
- Clean up unused imports and fix prettier formatting
- Ensure dropdown items have consistent text-sm font size

Resolves button styling inconsistencies and improves UX
2025-09-05 01:18:05 +02:00
Stijnus
4e214dcf98 update export and report bug button 2025-08-31 16:02:23 +02:00
Stijnus
7072600b50 feat: Redesign bug reporting and header actions
- Remove BugReportTab component and move bug reporting to header
- Add bug report icon to main header and profile dropdown
- Add sync button to main header with deploy button styling
- Remove duplicate sync/bug report buttons from workbench header
- Clean up unused imports and code
- Improve header button organization and visibility
2025-08-31 15:44:33 +02:00
KevIsDev
cd37599f3b feat(design): add design scheme support and UI improvements
- Implement design scheme system with palette, typography, and feature customization
- Add color scheme dialog for user customization
- Update chat UI components to use design scheme values
- Improve header actions with consolidated deploy and export buttons
- Adjust layout spacing and styling across multiple components (chat, workbench etc...)
- Add model and provider info to chat messages
- Refactor workbench and sidebar components for better responsiveness
2025-05-28 23:49:51 +01:00
KevIsDev
c63732d2f4 fix: simplify the SHA-1 hash function in api.netlify-deploy.ts by using the crypto module directly this allows it to work in both dev and prod environments.
also extract Netlify and Vercel deploy logic into separate components

Move the Netlify and Vercel deployment logic from HeaderActionButtons.client.tsx into dedicated components (NetlifyDeploy.client.tsx and VercelDeploy.client.tsx) to improve code maintainability and reusability.
2025-04-02 16:47:04 +01:00
KevIsDev
687b03ba74 feat: add Vercel integration for project deployment
This commit introduces Vercel integration, enabling users to deploy projects directly to Vercel. It includes:
- New Vercel types and store for managing connections and stats.
- A VercelConnection component for managing Vercel account connections.
- A VercelDeploymentLink component for displaying deployment links.
- API routes for handling Vercel deployments.
- Updates to the HeaderActionButtons component to support Vercel deployment.

The integration allows users to connect their Vercel accounts, view project stats, and deploy projects with ease.
2025-03-27 00:06:10 +00:00
KevIsDev
23c22c5c12 fix: show netlify deployed link
netlify deploy button to be disabled on streaming and show link icon when deployed
2025-02-25 19:02:03 +00:00
KevIsDev
19137c934b add: various improvements to connections
- improved organisation of connections (collapsibles)
- improved deploy button
- improved unique chat deployments
2025-02-25 00:41:44 +00:00
KevIsDev
96a0b2a066 add: connection improvements
Improve connections visually and functionality
2025-02-25 00:39:39 +00:00
KevIsDev
4da13d1edc feat: add netlify one-click deployment 2025-02-24 17:24:32 +00:00
KevIsDev
2a8472ed17 feat: add one-click netlify deployment 2025-02-24 17:24:00 +00:00
Anirban Kar
071fed24c6 added logo 2024-12-10 21:46:05 +05:30
Anirban Kar
8067bb63af Merge branch 'main' into ui-background-rays 2024-12-08 01:55:05 +05:30
Anirban Kar
7e18820946 Merge pull request #483 from PuneetP16/feat/enhance-chat-description-management
[feat]: Implement chat description editing in sidebar and header, add…
2024-12-04 00:35:09 +05:30
PuneetP16
5335580646 [feat]: Implement chat description editing in sidebar and header, add visual cue for active chat in sidebar 2024-12-03 11:41:58 +05:30
Qwikode
5f455e6cc3 fix(ui): header gradient and textarea border effect 2024-11-21 23:32:53 +02:00
Qwikode
f644066189 fix(ui): mobile friendly 2024-11-21 15:12:33 +02:00
Anirban Kar
7984a07b16 feat(styling): added rey effects for the UI as decorative elements 2024-11-14 17:50:00 +05:30
Sam Denty
6fb59d2bc5 fix: remove monorepo 2024-09-25 19:54:09 +01:00