Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cccZone/opcode
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: winfunc/opcode
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 16 commits
  • 36 files changed
  • 9 contributors

Commits on Sep 26, 2025

  1. fix: light-theme use white code block

    anrgct authored and 123vivekr committed Sep 26, 2025
    Configuration menu
    Copy the full SHA
    938406e View commit details
    Browse the repository at this point in the history
  2. fix: ligth-theme use white bash block

    anrgct authored and 123vivekr committed Sep 26, 2025
    Configuration menu
    Copy the full SHA
    97c6651 View commit details
    Browse the repository at this point in the history
  3. fix(ui): improve message scroll behavior to ensure bottom content vis…

    …ibility
    
    - Implement dual-phase scrolling: virtualizer positioning + native scroll to bottom
    - Reduce excessive bottom padding from pb-40 to pb-20 for better viewport usage
    - Unify scroll behavior across auto-scroll, history loading, and manual scroll
    - Fix issue where streamed content bottom couldn't reach viewport
    axin7 authored and 123vivekr committed Sep 26, 2025
    Configuration menu
    Copy the full SHA
    83096a3 View commit details
    Browse the repository at this point in the history
  4. fix(input): improve IME composition handling across input components

    - Add IME composition state tracking to prevent premature submission during input composition
    - Handle onCompositionStart/End events in text inputs and textareas
    - Replace onKeyPress with onKeyDown to better handle IME interactions
    - Add proper IME detection in FloatingPromptInput for enhanced input handling
    - Fix issues with Enter key triggering actions during IME composition in:
      - AgentExecution task input
      - ClaudeCodeSession fork dialog
      - TimelineNavigator checkpoint creation
      - WebviewPreview URL input
      - FloatingPromptInput main textarea
    
    This ensures proper input behavior for users of CJK input methods and other IME systems.
    axin7 authored and 123vivekr committed Sep 26, 2025
    Configuration menu
    Copy the full SHA
    9f03d77 View commit details
    Browse the repository at this point in the history
  5. feat: improve Claude binary detection for active NVM environments

    - Add support for NVM_BIN environment variable detection
    - Prioritize currently active NVM environment over other installations
    - Consolidate NVM-related logic in find_nvm_installations function
    - Maintain backward compatibility with existing detection methods
    
    This change helps users who manage Node.js versions with NVM by
    ensuring Claudia detects the Claude binary from the currently
    active Node.js environment, resolving issues where the wrong
    Claude version might be selected despite having multiple NVM
    installations available.
    junyoungeom authored and 123vivekr committed Sep 26, 2025
    Configuration menu
    Copy the full SHA
    246e0c8 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2025

  1. Fix missing installation_type field in ClaudeInstallation struct

    - Add missing installation_type field to ClaudeInstallation initialization in find_nvm_installations() function at line 222
    - This field is required by the struct definition but was omitted from one instance in the NVM discovery code
    - The missing field caused Rust compilation to fail with error E0063 during tauri build
    - Set installation_type to InstallationType::System to match other NVM installations in the same function
    - Fixes build failure for aarch64-apple-darwin target and other platforms
    izzoa authored and 123vivekr committed Oct 10, 2025
    Configuration menu
    Copy the full SHA
    821abad View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b8bf8bb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a05eb3c View commit details
    Browse the repository at this point in the history
  4. feat: implement web server mode

    Add comprehensive web server functionality to Claudia, enabling Claude
    Code execution from mobile browsers while maintaining feature parity
    with the desktop Tauri app.
    
    Enable users to access Claude Code from mobile devices via web browser,
    addressing the limitation of desktop-only access. This allows for:
    - Mobile development workflows
    - Remote access to Claude Code functionality
    - Browser-based Claude execution without desktop app installation
    - Cross-platform compatibility
    
    - **Axum web server** with WebSocket support for real-time streaming
    - **Dual-mode event system** supporting both Tauri desktop and DOM web
      events
    - **Session management** with HashMap-based tracking of active WebSocket
      connections
    - **Process spawning** for actual Claude binary execution with stdout
      streaming
    - **REST API** mirroring all Tauri command functionality
    
    - `web_server.rs`: Main server w/ WebSocket handlers and REST endpoints
    - Real Claude binary execution with subprocess spawning
    - WebSocket message streaming for real-time output
    - Comprehensive session state management
    - CORS configuration for mobile browser access
    
    - `apiAdapter.ts`: Environment detection and unified API layer
    - `ClaudeCodeSession.tsx`: Enhanced with DOM event support for web mode
    - WebSocket client with automatic failover from Tauri to web mode
    - Event dispatching system compatible with existing UI components
    
    - **Build system**: `just web` command for integrated build and run
    - **Binary detection**: Bundled binary first, system PATH fallback
    - **Message protocol**: JSON-based WebSocket communication
    - **Event handling**: Session-scoped and generic event dispatching
    - **Error handling**: Comprehensive error propagation and UI feedback
    
    - ✅ Basic WebSocket streaming and session management
    - ✅ REST API endpoints for all core functionality
    - ✅ Event handling compatibility between Tauri and web modes
    - ✅ Error handling and WebSocket connection management
    - ✅ Process spawning and output streaming
    - ✅ Comprehensive debugging and tracing
    
    - Session-scoped event dispatching needs refinement for multi-user
      scenarios
    - Process cancellation requires additional implementation
    - stderr handling not yet fully implemented
    - Limited to single concurrent session per connection
    
    🤖 Generated with [Claude Code](https://claude.ai/code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    2 people authored and 123vivekr committed Oct 10, 2025
    Configuration menu
    Copy the full SHA
    1b08ced View commit details
    Browse the repository at this point in the history
  5. fix: resolve TypeScript compilation errors after rebase

    - Remove unused tauriOpen import in ClaudeCodeSession
    - Replace invoke() with apiCall() in api.ts for web compatibility
    - Fix unused variable warnings
    
    These changes ensure the frontend builds correctly with the new
    web server mode while maintaining compatibility with Tauri desktop mode.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    2 people authored and 123vivekr committed Oct 10, 2025
    Configuration menu
    Copy the full SHA
    726ffdb View commit details
    Browse the repository at this point in the history
  6. fix(rust): resolve edition2024 dependency issue and compilation errors

    - Pin image crate to 0.25.1 to avoid edition2024 requirement from moxcms
    - Add missing installation_type field to ClaudeInstallation struct
    - Update Cargo.lock with compatible dependencies
    
    The moxcms-0.7.6 crate requires edition2024 which is not available in
    stable Rust 1.82. Pinning the image crate to 0.25.1 avoids this
    dependency while maintaining functionality.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    2 people authored and 123vivekr committed Oct 10, 2025
    Configuration menu
    Copy the full SHA
    84e8e90 View commit details
    Browse the repository at this point in the history
  7. feat(web): add Claude installations endpoint and debug command

    - Add /api/settings/claude/installations endpoint to web server
    - Implement list_claude_installations handler
    - Add 'just debug' command for troubleshooting Claude binary detection
    
    This fixes the HTTP 404 error when accessing Claude Installation settings
    in web mode. The debug command helps users verify their Claude installation
    is detected correctly.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    2 people authored and 123vivekr committed Oct 10, 2025
    Configuration menu
    Copy the full SHA
    1f9f09f View commit details
    Browse the repository at this point in the history
  8. refactor: rename claudia to opcode throughout web server code

    - Rename binary from claudia-web to opcode-web in Cargo.toml
    - Update all references in justfile (web commands)
    - Update console output messages in web_server.rs and web_main.rs
    - Update documentation in web_server.design.md
    
    This completes the project rename from Claudia to Opcode.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    2 people authored and 123vivekr committed Oct 10, 2025
    Configuration menu
    Copy the full SHA
    e3fff0d View commit details
    Browse the repository at this point in the history
  9. fix(tauri): add windows support for claude binary detection

    This commit adds support for detecting the Claude binary on Windows. The previous implementation used Unix-specific commands and paths, which caused the application to fail to locate the Claude binary on Windows systems. This commit introduces conditional compilation for Windows and Unix-like systems to fix the issue.
    Asm3r96 authored and 123vivekr committed Oct 10, 2025
    Configuration menu
    Copy the full SHA
    e518c12 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2025

  1. fix: resolve project path display bug for directories with hyphens

    This fixes a bug where project paths containing hyphens (e.g.,
    `~/projects/flipside/data-discovery`) were incorrectly displayed
    with hyphens replaced by slashes (`~/projects/flipside/data/discovery`).
    
    The root cause was that `get_project_path_from_sessions()` only
    checked the first line of JSONL session files for the `cwd` field.
    Some session files have `null` or empty `cwd` values on the first line.
    
    Changes:
    - Modified `get_project_path_from_sessions()` to check up to 10 lines
      for a valid, non-empty `cwd` value instead of just the first line
    - Added comprehensive unit tests covering the bug scenario and edge cases
    - Fixed missing `installation_type` field in `claude_binary.rs` that
      was causing compilation errors
    
    Tests: All 8 new unit tests pass
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    2 people authored and 123vivekr committed Oct 11, 2025
    Configuration menu
    Copy the full SHA
    92825e5 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2025

  1. fix(web): use wss:// for HTTPS connections and apply cargo fmt

    - Fix WebSocket protocol to use wss:// for HTTPS (ngrok) and ws:// for HTTP (localhost)
    - This resolves the issue where Send button doesn't work when accessed via ngrok
    - Apply cargo fmt to fix Rust code formatting issues
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    2 people authored and 123vivekr committed Oct 16, 2025
    Configuration menu
    Copy the full SHA
    70c16d8 View commit details
    Browse the repository at this point in the history
Loading