Open
Conversation
- Implement `/v1/model-catalog` API endpoint for Refact cloud - Add `startup_refresh_and_sync` trait for providers to fetch live model lists and persist config - RefactProvider: fetch running models/pricing from catalog, save to `providers.d/refact.yaml` - ClaudeCode/OpenAICodex: auto-refresh OAuth tokens near expiry, persist to YAML - Update model configs for new Gemini 3.x models and GPT-5.3-codex - Switch providers to `ModelSource::Api`, remove static caps fallback logic - Add YAML config loading for refact provider overrides during registry init
feat(markdown): add Mermaid and SVG diagram rendering with toggle/copy UI fix(sse): distinguish buffered vs total bytes for accurate flush caps fix(sse): fix lagged recovery seq monotonicity with re-subscribe-before-snapshot feat(queued): add full content to QueuedItem for editing workflows perf(sse): improve stream delta merging with precise pending byte tracking fix(cef): improve JCEF render process crash recovery and health checks refactor(chat): add closed_flag atomic for efficient SSE heartbeat checks style(chat): make queued messages editable with click/keyboard support chore(deps): add mermaid, dompurify for diagram support
Introduce `%RICH_CONTENT_INSTRUCTIONS%` snippet explaining rich fenced code blocks and update all default modes to schema v8+ with instructions included. Add frontend support for: - `html` blocks → interactive ArtifactBlock with live preview, source toggle, error handling, auto-resize, download/open-in-tab - Pass `isStreaming` prop through Markdown components - Update ShikiCodeBlock to route special blocks correctly BREAKING CHANGE: Mode schema versions incremented (7→8, 8→9, etc.)
…d7bcd3d2/card/T-1/6f079871
…d7bcd3d2/card/T-2/b51efebf
…d7bcd3d2/card/T-4/132cac2f
…d7bcd3d2/card/T-5/aad894a2
…d7bcd3d2/card/T-3/5decb24b
…d7bcd3d2/card/T-6/42ba0b46
…d7bcd3d2/card/T-7/2885c292
…d7bcd3d2/card/T-8/c5980274
…d7bcd3d2/card/T-10/90ec8d08
…d7bcd3d2/card/T-12/7b837094
…d7bcd3d2/card/T-18/ff305c2a
…d7bcd3d2/card/T-14/cbf12e13
…d7bcd3d2/card/T-15/03445310
…d7bcd3d2/card/T-19/3d8b00d9
…d7bcd3d2/card/T-20/69b592d7
- Add hierarchical tree view with expand/collapse chevrons in RecentItem - Support nested rendering with dynamic indentation based on depth - Improve loading states with initial skeleton placeholders - Replace emoji icons with Radix UI icons in navbar and open section - Enhance stats strip with better compact loading and success rate display - Fix minor CSS layout issues and scroll behavior
- Add hierarchical tree view with expand/collapse chevrons in RecentItem - Implement nested rendering with dynamic indentation based on depth - Add Virtuoso virtualization for performant scrolling of large histories - Enhance StatsStrip with responsive layouts, project pulse, and provider stats - Add TasksSection for active task monitoring with click-to-open support - Improve loading states with skeleton placeholders throughout - Replace emoji icons with Radix UI icons in navbar and action buttons - Add new chat/task quick actions and DotTrail hover tooltips - Fix CSS layout issues and scroll behavior across components
- Add hierarchical tree view with expand/collapse chevrons in RecentItem - Implement nested rendering with dynamic indentation based on depth - Add Virtuoso virtualization for performant scrolling of large histories - Enhance StatsStrip with responsive layouts, project pulse, and provider stats - Add TasksSection for active task monitoring with click-to-open support - Improve loading states with skeleton placeholders throughout - Replace emoji icons with Radix UI icons in navbar and action buttons - Add new chat/task quick actions and DotTrail hover tooltips - Fix CSS layout issues and scroll behavior across components
- Add hierarchical tree view with expand/collapse chevrons in RecentItem - Implement nested rendering with dynamic indentation based on depth - Add Virtuoso virtualization for performant scrolling of large histories - Enhance StatsStrip with responsive layouts, project pulse, and provider stats - Add TasksSection for active task monitoring with click-to-open support - Add ModelsSection showing default model configuration - Improve loading states with skeleton placeholders throughout - Replace emoji icons with Radix UI icons in navbar and action buttons - Add new chat/task quick actions and DotTrail hover tooltips - Fix CSS layout issues and scroll behavior across components
- Add hierarchical tree view with expand/collapse chevrons in RecentItem - Implement nested rendering with dynamic indentation based on depth - Add Virtuoso virtualization for performant scrolling of large histories - Enhance StatsStrip with responsive layouts, project pulse, and provider stats - Add TasksSection for active task monitoring with click-to-open support - Add ModelsSection showing default model configuration - Improve loading states with skeleton placeholders throughout - Replace emoji icons with Radix UI icons in navbar and action buttons - Add new chat/task quick actions and DotTrail hover tooltips - Fix CSS layout issues and scroll behavior across components
- Filter providers to count only enabled ones in StatsStrip - Update UI labels from "providers" to "active providers" - Move TasksSection after CollapsibleSection with divider for better layout flow
- Replace IconButton + Tooltip with styled button showing "New Task" label - Add hover, focus, and disabled states via CSS - Remove unused Chevron icons import The diff shows TasksSection button improvements, not provider counting or reordering.
- Add MiniDonut component for compact circular data visualization - Replace text-based stats with MiniDonut + list layout in PROJECT PULSE - Improve TasksSection: remove expand/collapse, show all tasks, simplify header - Add failed cards and base branch display in task list - Enhance scrolling with virtualization and thin scrollbar - Remove unused Chevron icons import
- Update MCP integration to new rmcp SDK (streamable HTTP transport, new param types) - Replace message_id-based skill compaction with index-based (more reliable after restarts) - Add SkillActivatedCard UI for skill context display (name, tools, model, body) - Skip pure activate_skill tool_calls in chat rendering - Add provider quota monitoring (Claude Code 5h/weekly, OpenAI Codex rate limits) - Dashboard: collapsible sections + resizable chats/tasks split - MCP tool responses: truncate to 200KB to prevent context explosion - Various MCP API updates (GetPromptRequestParams, ReadResourceRequestParams, etc) Includes extensive tests for skill compaction, auth flows, and MCP handlers.
Replace inefficient shutdown polling loops with direct flag checks at loop starts and integrate into tokio::select! patterns for proper stream termination in VecDB, AST indexer, and HTTP streaming endpoints.
Introduce `compress_chat_probe/apply` tools for selective chat history compression (context files, tool outputs, memories, dedup) and `handoff_to_mode` for creating specialized child chats. Add token budget warnings every 6 exchanges when approaching context limit. Enhance dashboard with setup actions for project skills/agents/ commands/MCPs/subagents. Improve SSE subscription prioritization and Mermaid diagram zoom/pan. Fixes #chat-compression #mode-handoff #token-budget
- Return shutdown flag Arc instead of false in MCP reconnect when context unavailable
- Replace `starts_with("http")` with `contains("://")` for robust URL detection
- Add `args_from_env: vec![]` to all InstallRecipe initializations
- Increase Node.js memory limit in GUI build workflow
Fixes incomplete struct initialization and improves URL parsing reliability.
Update version across all components: - IntelliJ plugin (gradle.properties) - refact-chat-js (package.json, package-lock.json) - VSCode extension (package.json + dependency) - refact-lsp engine (Cargo.toml) Add update-dependencies.sh script for IntelliJ plugin to automate GUI build and LSP binary bundling.
Move unix::fs::PermissionsExt import inside #[cfg(unix)] block and add no-op #[cfg(windows)] implementation since Windows doesn't require explicit execute permissions. Also add skipLibCheck to VSCode tsconfig for build compatibility.
… resolution - Move unix::fs::PermissionsExt import inside #[cfg(unix)] block - Add no-op #[cfg(windows)] implementation for make_executable - Use which::which for cross-platform claude binary detection - Add Windows-specific claude.exe path in claude_code provider - Update tests with platform-specific .exe extensions and skip case-sensitive test on Windows - Improve is_local_source with Path::is_absolute check - Add skipLibCheck to VSCode tsconfig for build compatibility
…sage - Add 8GB swap space for Linux cross-compilation to handle LTO memory needs - Limit CARGO_BUILD_JOBS to 2 to reduce peak RAM usage during whisper-rs LTO builds - Applied to both agent_engine_build.yml and agent_engine_release.yml workflows
Replace `fallocate` with `dd if=/dev/zero` (8GB total) and add cleanup steps to ensure consistent swap file creation across CI runs. Applied to both agent_engine_build.yml and agent_engine_release.yml.
Add `skill_md_exists_case_sensitive` helper to properly check for "SKILL.md" (uppercase) instead of case-insensitive filesystem check. build(gui): increase Node.js memory limit to 8GB Prevent build OOM errors during TypeScript compilation and Vite builds by setting NODE_OPTIONS=--max-old-space-size=8192.
Improve skill deactivation cleanup to preserve activation tool messages while compacting skill conversation history. Add `activation_tool_call_id` to `ActiveCommandContext` and `PendingSkillDeactivation` for exact matching. Enhance OpenAI/Anthropic adapters to use top-level `cache_control` for OpenRouter Anthropic models (avoids block-level churn). Simplify UI badges by removing explicit colors (use theme defaults). Update setup mode YAMLs with refined principles/workflows. Add comprehensive skill compaction tests. Includes minor CSS/UX polish (SkillActivatedCard border, MCPOAuth expiry).
Remove linearize.rs module and its usage from chat preparation pipeline. The linearization logic (merging consecutive user-like messages, folding tool-appendable content into tool/diff messages) is no longer needed as the underlying message processing has evolved. This simplifies the chat preparation flow while preserving cache hits through other mechanisms. Includes minor fixes: - gui: fix coin display logic in UsageCounter - queue: handle null boost_reasoning in patches - caps: add Default impl for CodeAssistantCaps - session: improve skill deactivation compaction - cache_guard: strict tools array equality for cache invalidation - other: snapshot param handling, tool sorting, vecdb scope filtering
…ed rendering Add `render_extra` module with canonical text rendering for context_file, plain_text, and cd_instruction roles. Update OpenAI, Anthropic, Refact, and Responses adapters to: - Fold context into matching tool results by tool_call_id (with fallback) - Buffer unmatched context + tool images for next user message - Preserve message ordering without extra user turns - Support images in tool results (deferred to user content) Fixes server-executed tool filtering logic.
Introduce MCP lazy mode when >15 MCP tools are available: - Replace all individual MCP schemas with 2 fixed proxy tools - `mcp_tool_search`: regex search MCP tools, returns schema text - `mcp_call`: execute any MCP tool by exact name + args - Inject session hint with MCP tool index (name:description) - Cache-safe: tool list fixed for entire session lifetime Update marketplace index to 120 tools. Minor fixes to Mermaid error handling.
…e lazy loading - Add `match_against_confirm_deny` to `ToolMcpCall` to proxy confirmation checks to underlying MCP tools before execution, enabling normal pause/deny flow - Disable parallel execution for `mcp_call` and add input validation for `args` - Filter disabled MCP tools from `mcp_search` results - Enhance MCP lazy loading with `is_integration_mcp_tool` helper to exclude proxy builtins (`mcp_call`, `mcp_search`) from filtering logic, making it idempotent and cache-safe - Apply lazy filter consistently in chat tool handling
…olution - Convert resolve_path_with_workdir to return Result, fail fast on unresolvable paths - Add expected_preimage validation to write_file to detect concurrent modifications - Enhance strip_line_number_prefixes with conservative matching (all lines must match) - Guard empty patterns/old_str and fix find_match_lines advancement - Support empty-file line ranges (allow 1:1 on 0-line files) - Add literal replacement mode to regex tool - Add comprehensive tests for new validation logic - Update all write_file callsites with expected_preimage where available gui: implement handoff_to_mode chat switching Auto-switch to new chat_id from tool messages when active, preserving task context. Bounded processed handoff tracking prevents memory growth on SSE reconnects.
- Bump schema_version across all default modes (7→8, 8→9, 10→11, 11→12, 12→13) - Normalize legacy modes in chat queue (NO_TOOLS→explore, TASK_AGENT→task_agent, EXPLORE→explore) - Add canonicalize_mode_for_stats() for consistent stats reporting - Update task agent spawning to use "task_agent" canonical id - Enhance git shadow cleanup: prune old refact-* branches + git gc --auto - Improve subchat param normalization for model context limits - UI: task card badges/titles, LSP usage timeout, sticky usage counters - Expand setup mode prompts with detailed workflows and tool guides
feat(chat): improve JCEF browser health monitoring - Add constants for timeouts (10s unresponsive, 5s healthy window) - Extract `isJcefRendererUnresponsive()` and `hasRecentJcefPong()` utilities - Reduce health check interval from 30s to 10s - Simplify unresponsive detection logic (pong-only instead of ping+pong) - Add comprehensive unit tests for edge cases refactor(notifications): replace invokeLater with AppExecutorUtil chore(middleware): remove unused forceReloadProjectTreeFiles listener
…ility refactor: format long method chain calls across multiple lines for better readability
- Format long `baseQuery` calls with try/finally blocks in providers.ts - Restructure hook destructuring and replace manual ref updates with useEffect in ProviderUsageIndicator.tsx - Minor formatting fix in stats reader (to_lowercase)
…heck Use has_root() instead of is_absolute() to more accurately detect paths with root components, improving cross-platform path handling.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.