Skip to content

Conversation

@alashchev17
Copy link
Member

No description provided.

- Fix double scrollbar in Chat by removing overflowY from root Flex
- Fix double scrollbar in EnhancedModelSelector dialog with flex layout
- Add total coins display to bottom stats bar
- Reorder stats: coins → ctx → tokens (Σ prefix) → compression
- Add cache read (📖) and write (✏️) token indicators
- Store server-executed tools in server_executed_tools field
- Add citations display for web search results
- Handle LiteLLM streaming error format
- Update tests for new server_executed_tools behavior
- MessageUsageInfo: show only coins, remove ctx display from inline view
- Add padding-right to message and reasoning content to prevent overlap
- UsageCounter: vertical layout with coins+ctx on first line, I/O on second
- Remove cache read/write from main display (still in hover card)
fix: improve usage counter layout and prevent text overlap
…om dropdown

- Remove setMaxNewTokens reset after each chat turn in actions.ts
- Only dispatch setMaxNewTokens when n_ctx is defined in useCapsForToolUse.ts
- Remove unused DEFAULT_MAX_NEW_TOKENS imports
- Add ability to queue messages while AI is streaming/processing
- Two queue modes:
  - 'Add to queue': sends after current flow completes (including tools)
  - 'Send next': priority queue, sends at next turn (interrupts tool flow)
- Show queued messages as bubbles in chat with position indicators
- Priority messages shown with blue styling, regular with amber
- Badge shows queued message count near send button
- Dropdown menu appears during streaming with queue options

Changes:
- Add QueuedUserMessage type with priority flag
- Add enqueue/dequeue actions and reducer logic
- Add queue selectors
- Modify useSendChatRequest to queue when busy
- Add useAutoSend queue flush logic with priority handling
- Create SendButtonWithDropdown component
- Create QueuedMessage bubble component
- Update ChatForm to support queue submission
- Update fixtures and tests
- Created ToolMarkdown component for terminal-style markdown rendering
- All text uses consistent size matching MarkdownCodeBlock baseline
- Headings are bold but same size (no scaling) for terminal appearance
- Applied research-based fixes for browser font-size quirks:
  * Force 1em inheritance to prevent UA stylesheet shrinkage
  * Use 'monospace, monospace' to fix Firefox font-size bug
  * Wrap in Radix Text size='2' for consistency
- Smart detection: only renders markdown when patterns detected
- Falls back to code block for plain logs/JSON/stack traces
- Supports all markdown features: lists, tables, links, code blocks, math
- Add AGENTS.md comprehensive developer guide
- Fix usage counter layout: add right margin for better spacing
- Adjust message usage info positioning for alignment
- Add right padding to assistant input button group
Replace ToolMarkdown with Markdown in tool result rendering to match
the same document-like styling used in reasoning blocks.

Changes:
- Use Markdown component instead of ToolMarkdown for tool outputs
- Remove terminal-like monospace font from tool_result_markdown CSS
- Remove dark hljs background styling

This gives tool outputs proper heading scaling, Radix UI typography,
and consistent look with reasoning content.
Move the ResendButton and LikeButton to bottom-right position using
absolute positioning, matching the MessageUsageInfo layout style.
feat(chat): add message queue for sending during streaming
- Changed LikeButton icon from thumbs up to save/floppy disk icon
- Updated button title from 'Create a trajectory from this chat' to 'Save the trajectory overview to memory'
- Improved internal naming: onLike -> saveTrajectory, submitLike -> submitSave
- Added Radix UI Tooltip wrapper to both Save and Resend buttons for consistency
- Removed duplicate native title attributes to prevent double tooltips
- Both buttons now use styled Radix tooltips instead of native browser tooltips
# Conflicts:
#	docs/src/content/docs/supported-models.md
#	refact-agent/engine/Cargo.toml
#	refact-agent/engine/src/agentic/compress_trajectory.rs
#	refact-agent/engine/src/agentic/generate_commit_message.rs
#	refact-agent/engine/src/agentic/mod.rs
#	refact-agent/engine/src/at_commands/at_knowledge.rs
#	refact-agent/engine/src/at_commands/at_web.rs
#	refact-agent/engine/src/background_tasks.rs
#	refact-agent/engine/src/call_validation.rs
#	refact-agent/engine/src/cloud/experts_req.rs
#	refact-agent/engine/src/cloud/messages_req.rs
#	refact-agent/engine/src/cloud/mod.rs
#	refact-agent/engine/src/cloud/threads_req.rs
#	refact-agent/engine/src/cloud/threads_sub.rs
#	refact-agent/engine/src/constants.rs
#	refact-agent/engine/src/global_context.rs
#	refact-agent/engine/src/http/routers/v1/chat.rs
#	refact-agent/engine/src/http/routers/v1/chat_based_handlers.rs
#	refact-agent/engine/src/integrations/config_chat.rs
#	refact-agent/engine/src/integrations/project_summary_chat.rs
#	refact-agent/engine/src/main.rs
#	refact-agent/engine/src/memories.rs
#	refact-agent/engine/src/postprocessing/pp_context_files.rs
#	refact-agent/engine/src/postprocessing/pp_plain_text.rs
#	refact-agent/engine/src/scratchpads/chat_generic.rs
#	refact-agent/engine/src/scratchpads/chat_passthrough.rs
#	refact-agent/engine/src/scratchpads/chat_utils_limit_history.rs
#	refact-agent/engine/src/scratchpads/chat_utils_prompts.rs
#	refact-agent/engine/src/scratchpads/passthrough_convert_messages.rs
#	refact-agent/engine/src/subchat.rs
#	refact-agent/engine/src/tools/mod.rs
#	refact-agent/engine/src/tools/tool_create_knowledge.rs
#	refact-agent/engine/src/tools/tool_create_memory_bank.rs
#	refact-agent/engine/src/tools/tool_knowledge.rs
#	refact-agent/engine/src/tools/tool_locate_search.rs
#	refact-agent/engine/src/tools/tool_strategic_planning.rs
#	refact-agent/engine/src/tools/tool_web.rs
#	refact-agent/engine/src/tools/tools_execute.rs
#	refact-agent/engine/src/tools/tools_list.rs
#	refact-agent/engine/src/vecdb/vdb_thread.rs
#	refact-agent/gui/codegen.ts
#	refact-agent/gui/package-lock.json
#	refact-agent/gui/package.json
#	refact-agent/gui/src/components/Sidebar/GroupTree/GroupTree.tsx
#	refact-agent/gui/src/components/Sidebar/GroupTree/useGroupTree.ts
# Conflicts:
#	.github/workflows/agent_gui_build.yml
#	refact-agent/gui/src/__fixtures__/chat_config_thread.ts
#	refact-agent/gui/src/app/storage.ts
#	refact-agent/gui/src/components/Buttons/index.tsx
#	refact-agent/gui/src/components/Chat/Chat.stories.tsx
#	refact-agent/gui/src/components/Chat/Chat.tsx
#	refact-agent/gui/src/components/ChatContent/AssistantInput.tsx
#	refact-agent/gui/src/components/ChatContent/ChatContent.stories.tsx
#	refact-agent/gui/src/components/ChatContent/ChatContent.tsx
#	refact-agent/gui/src/components/ChatContent/LikeButton.tsx
#	refact-agent/gui/src/components/ChatForm/AgentCapabilities/AgentCapabilities.tsx
#	refact-agent/gui/src/components/ChatForm/ChatControls.tsx
#	refact-agent/gui/src/components/ChatForm/ChatForm.tsx
#	refact-agent/gui/src/components/ChatForm/SuggestNewChat/SuggestNewChat.tsx
#	refact-agent/gui/src/components/Sidebar/GroupTree/useGroupTree.ts
#	refact-agent/gui/src/components/Sidebar/Sidebar.tsx
#	refact-agent/gui/src/components/Toolbar/Dropdown.tsx
#	refact-agent/gui/src/components/UsageCounter/UsageCounter.stories.tsx
#	refact-agent/gui/src/components/UsageCounter/UsageCounter.tsx
#	refact-agent/gui/src/features/Chat/Thread/actions.ts
#	refact-agent/gui/src/features/Chat/Thread/reducer.ts
#	refact-agent/gui/src/features/Chat/Thread/selectors.ts
#	refact-agent/gui/src/features/Chat/Thread/types.ts
#	refact-agent/gui/src/features/Chat/Thread/utils.test.ts
#	refact-agent/gui/src/features/Chat/Thread/utils.ts
#	refact-agent/gui/src/hooks/useActiveTeamsGroup.ts
#	refact-agent/gui/src/hooks/useCapsForToolUse.ts
#	refact-agent/gui/src/hooks/useSendChatRequest.ts
#	refact-agent/gui/src/services/refact/caps.ts
#	refact-agent/gui/src/services/refact/chat.ts
#	refact-agent/gui/src/services/refact/types.ts
#	refact-agent/gui/urqlProvider.tsx
- Overwrite refact-agent/gui/ with main-stable version
- Overwrite refact-agent/engine/ with main version
- Resolves mixed changes from previous merges
Remove all new features and files that don't exist in main-stable:
- ThreadMessages feature (new in dev)
- ConnectionStatus feature
- ExpertsAndModels feature
- Groups feature
- Login feature
- ThreadList feature
- MessageNode component
- New hooks and services
- GraphQL services

Keep only files that exist in main-stable.
Remove files that don't exist in main branch:
- basic_utils.rs
- cloud_tools_req.rs
- graphql_client.rs
- memories_req.rs
- subchat.rs
- threads_processing.rs
@JegernOUTT JegernOUTT marked this pull request as ready for review December 23, 2025 04:59
@JegernOUTT JegernOUTT merged commit 3e63fac into main Dec 23, 2025
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants