Commit Graph

15 Commits

  • Fix session sidebar scrollbar - make it visible and functional
    - Add CSS for .chat-history-list (was missing, only had .chat-sessions-list)
    - Add custom scrollbar styling for better UX
    - Add min-height: 0 to fix flexbox overflow issue
    - Update cache buster (v1769092045) to force CSS reload
    
    Fixes issue where long session lists had no scrollbar, making bottom
    sessions inaccessible.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
  • Add CodeNomad-inspired two-level tab system (Phase 2)
    Phase 2 of enhancement plan:
    - Created project-manager.js for project-level organization
    - Created session-tabs.js for session-level organization
    - Created project-tabs.css with responsive design
    - Added tab structure to index.html
    - Cache bust: v1769083200000
    
    Features:
    - Project tabs organize sessions by working directory
    - Session tabs show all sessions within active project
    - Context menu for rename/duplicate/delete/close
    - Visual indicators for active/running sessions
    - Responsive design for mobile
    
    Co-Authored-By: Claude <noreply@anthropic.com>
  • Add CodeNomad-inspired tool rendering system
    Phase 1 of enhancement plan:
    - Created tool-renderers.js with 13+ specialized tool renderers
    - Created tool-rendering.css for context-specific tool styling
    - Integrated into index.html with cache bust (v1769083100000)
    
    Supported tools:
    - bash, edit, write, read (file operations)
    - websearch, webfetch (web operations)
    - task, todowrite (agent operations)
    - grep, glob, list, patch (utilities)
    
    Each tool gets specialized rendering showing the most relevant
    information in a user-friendly format.
    
    Co-Authored-By: Claude <noreply@anthropic.com>
  • Fix execution trace panel collapse/expand functionality
    - Expose toggleTracePanel() to global scope for onclick access
    - Add localStorage state persistence for collapsed/expanded state
    - Add restoreTracePanelState() to remember user preference
    - Update onclick handler to safely call global function
    - Bump cache-bust version to force browser reload
    
    The trace panel toggle button now works correctly and remembers
    its state across page reloads.
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
  • Fix two critical session issues in Claude Code IDE
    Issue 1: Sessions history not showing in left sidebar
    - Converted loadChatHistoryOnLoad IIFE to named loadChatHistory() function
    - Added refresh calls in loadSessionMessages() after loading messages
    - Added guard to skip refresh if showing "Loading session..." state
    - Sidebar now properly shows all active sessions after attachment
    
    Issue 2: New chat session button fails with 'Failed to create session'
    - Changed startNewChat() to call loadChatHistory() instead of loadChatView()
    - Prevents triggering URL-based attachment logic that was causing confusion
    - Sidebar now refreshes correctly without getting stuck in loading state
    
    Also updated cache-bust version to force browser reload.
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
  • Add cache-busting for ide.js to force reload
    Add ?v=2 parameter to ide.js script tag to bypass browser
    and nginx caching of the old file with regex syntax error.
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
  • Implement terminal approval UI system
    Phase 1: Backend approval tracking
    - Add PendingApprovalsManager class to track pending approvals
    - Add approval-request, approval-response, approval-expired WebSocket handlers
    - Add requestApproval() method to ClaudeCodeService
    - Add event forwarding for approval requests
    
    Phase 2: Frontend approval card component
    - Create approval-card.js with interactive UI
    - Create approval-card.css with styled component
    - Add Approve, Custom Instructions, Reject buttons
    - Add expandable custom command input
    
    Phase 3: Wire up approval flow end-to-end
    - Add handleApprovalRequest, handleApprovalConfirmed, handleApprovalExpired handlers
    - Add detectApprovalRequest() to parse AI approval request patterns
    - Integrate approval card into WebSocket message flow
    - Route approval responses based on source (server vs AI conversational)
    
    This allows the AI agent to request command approval through a clean
    UI instead of confusing conversational text responses.
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
  • feat: AI auto-fix bug tracker with real-time error monitoring
    - Real-time error monitoring system with WebSocket
    - Auto-fix agent that triggers on browser errors
    - Bug tracker dashboard with floating button (🐛)
    - Live activity stream showing AI thought process
    - Fixed 4 JavaScript errors (SyntaxError, TypeError)
    - Fixed SessionPicker API endpoint error
    - Enhanced chat input with Monaco editor
    - Session picker component for project management
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
  • feat: Implement CodeMirror 6 file editor with tab support
    Implement Phase 1 of the file editor & chat UI redesign:
    - CodeMirror 6 integration with syntax highlighting
    - Multi-file tab support with dirty state tracking
    - Custom dark theme matching GitHub's color scheme
    - Keyboard shortcuts (Ctrl+S to save, Ctrl+W to close tab)
    - Mobile-responsive design with proper touch targets
    - Fallback to basic textarea if CodeMirror fails to load
    
    Technical details:
    - Import map for ESM modules from node_modules
    - Language support for JS, Python, HTML, CSS, JSON, Markdown
    - Auto-initialization on DOM ready
    - Global window.fileEditor instance for integration
    - Serve node_modules at /claude/node_modules for import map
    
    Files added:
    - public/claude-ide/components/file-editor.js (main component)
    - public/claude-ide/components/file-editor.css (responsive styles)
    
    Files modified:
    - public/claude-ide/index.html (import map, script tags)
    - public/claude-ide/ide.js (updated loadFile function)
    - server.js (serve node_modules for CodeMirror)
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
  • Fix multiple critical bugs: continueSessionInChat, projects link, mode buttons
    Bug fixes:
    - Add missing showLoadingOverlay/hideLoadingOverlay functions to ide.js
      (previously only existed in sessions-landing.js, causing continueSessionInChat to fail)
    - Add loading overlay CSS styles to main style.css
    - Fix Projects button URL: /projects -> /claude/ide?view=projects
    - Add ?view= URL parameter handling in ide.js initialization
    - Add missing Native mode button to chat view (now has 3 modes: Chat, Native, Terminal)
    
    These fixes resolve:
    1. "Continue in Chat" button not working in sessions view
    2. Projects button in landing page nav taking to wrong URL
    3. Missing "Native" mode button (user referred to as "Full Stack mode")
    4. Loading overlay not displaying in IDE
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
  • Add comprehensive mobile responsive design for all IDE views
    - Add mobile navigation menu with hamburger toggle
    - Add slide-out chat sidebar for mobile (chat.z.ai style)
    - Optimize chat view for mobile with:
      - Collapsible sidebar with overlay
      - Touch-friendly input controls (44px min)
      - Responsive message bubbles
      - Hidden scrollbars for cleaner UI
      - Proper font sizing and spacing
    - Add mobile responsive styles for:
      - Sessions view (stacked layout)
      - Projects view (single column grid)
      - Dashboard view (single column)
      - Files view (vertical sidebar)
      - Terminal view (compact tabs)
    - Add extra small device support (480px breakpoint)
    - Add touch-friendly target sizing for touch devices
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
  • feat: make Terminal Debug Panel collapsible
    Add collapse/expand functionality to debug panel with:
    - Toggle button with arrow icon (▼/▶)
    - Smooth CSS transitions (0.3s ease-in-out)
    - localStorage persistence for collapsed state
    - Hover effects for better UX (header background, button invert)
    - Accessible with aria-label
    - Click anywhere on header to toggle
    
    The panel remembers its collapsed state across page refreshes.
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
  • fix: remove debug panel close button to keep it always visible
    The close button would hide the debug panel with display: none,
    making it impossible to see debug messages without reloading.
    
    Also includes HTTP POST workaround changes for terminal command
    execution that bypass the WebSocket send issue.
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
  • debug: add visual debug panel and comprehensive logging
    - Added debug panel in terminal view that shows all terminal activity
    - Added debugLog() method to TerminalManager for consistent logging
    - Updated connectTerminal, handleTerminalMessage, launchCommand, createTerminal, initializeXTerm with detailed logging
    - Enhanced backend logging for WebSocket messages and close codes
    - Logs now show both to console and visual debug panel
    
    This should help diagnose the terminal command execution issue without
    requiring browser console access.
  • Initial commit: Obsidian Web Interface for Claude Code
    - Full IDE with terminal integration using xterm.js
    - Session management with local and web sessions
    - HTML preview functionality
    - Multi-terminal support with session picker
    
    Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>