Commit graph

54 commits

Author SHA1 Message Date
RAIT-09
ca5dd79952 fix: limit horizontal scroll to tables instead of entire message area 2026-01-18 00:02:30 +09:00
RAIT-09
653b0b4c87 chore: remove empty placeholder CSS rules 2026-01-17 23:54:25 +09:00
RAIT-09
ae81a7abdb feat: Add 'Open new chat view' command and UI tweaks 2026-01-17 22:29:00 +09:00
RAIT-09
96c4c38f41 refactor: rename SettingsMenu to HeaderMenu with ellipsis icon 2026-01-17 21:56:05 +09:00
RAIT-09
6bf3e61b1b style: unify accent color for current agent in Settings Menu 2026-01-17 13:39:08 +09:00
RAIT-09
03732bc29b fix: render SettingsMenu via portal to avoid CSS containment issues
Obsidian's view containers use CSS properties like `contain: strict` that
create a new containing block for `position: fixed` elements. This caused
the menu to be clipped within the view boundary, making it invisible when
views were stacked vertically.

Solution: Use ReactDOM.createPortal to render the menu at document.body,
bypassing the view container's CSS constraints.
2026-01-17 13:31:14 +09:00
RAIT-09
2f79542c52 feat: add multi-agent session support (#59)
Enable multiple independent agent sessions in separate ChatViews.
Each view manages its own AcpAdapter and agent process.

- Adapter management: singleton → Map<viewId, AcpAdapter>
- Settings Menu for agent switching and new view creation
- Keybinds target last active view only
- Rename activeAgentId → defaultAgentId (with migration)Enable multiple independent agent sessions in separate ChatViews.
Each view manages its own AcpAdapter and agent process.

- Adapter management: singleton → Map<viewId, AcpAdapter>
- Settings Menu for agent switching and new view creation
- Keybinds target last active view only
- Rename activeAgentId → defaultAgentId (with migration)
2026-01-17 02:19:19 +09:00
RAIT-09
57d8c2c4f4 feat: add option to hide emojis in UI
Add "Show emojis" toggle in Display settings (default: ON).
When disabled, emoji icons are hidden from tool calls, thoughts,
plans, terminals, and permission results.

Plan entries now use text styles to indicate status regardless of
emoji setting: completed items show strikethrough, in-progress
items are bold.
2026-01-17 01:06:06 +09:00
RAIT-09
8d20dd72df feat: Add auto-collapse for long diffs (#36) 2026-01-11 13:26:02 +09:00
RAIT-09
b56a0776c0 feat(session-history): Add confirmation dialog for session deletion
- Create ConfirmDeleteModal using Obsidian Modal
- Show session title in confirmation message
- Prevent accidental deletion from misclicks
- Update onDeleteSession callback type to void (sync modal open)
2026-01-09 01:03:32 +09:00
RAIT-09
6cd67a9fa7 refactor(session-history): Unify load/resume into single restore action
- Combine canLoad/canResume into canRestore flag
- Merge loadSession/resumeSession into restoreSession method
  - Uses load if available (with history replay)
  - Falls back to resume (with local storage restore)
- Simplify UI with single Restore button (play icon)
- Update DebugForm to show Restore/Fork buttons only
- Rename CSS class from resume-icon to restore-icon
2026-01-09 00:44:52 +09:00
RAIT-09
89aef910c7 feat(session-history): Add delete button and show sessions for all agents
- Add deleteSession method to useSessionHistory hook
- Add Delete button to all session items (always visible)
- Change early return for restoration non-supporting agents to warning banner
- Show locally saved sessions for all agents (for deletion)
- Add warning banner and delete button styles
2026-01-09 00:19:41 +09:00
RAIT-09
bd028638e1 refactor: Convert SessionHistoryModal to React
Moved session history UI logic from SessionHistoryModal to a new SessionHistoryContent React component. The modal now acts as a thin wrapper, delegating rendering and state management to React. Also removed unused session header styles and some hover/transition effects from styles.css.
2026-01-08 13:51:53 +09:00
RAIT-09
5bca142077 style: Add agent-client- prefix to session history CSS classes
Updated all session history related CSS class names in both TypeScript and CSS files to use the 'agent-client-session-history-' prefix for improved consistency and maintainability.
2026-01-08 01:26:44 +09:00
RAIT-09
f215fc26c0 fix: Sync plugin.settings with SettingsStore state on update
Introduces local session saving, retrieval, and deletion in settings-store and exposes these methods via ISettingsAccess. Updates ChatView and useChat to save session metadata on first message, and useSessionHistory to fallback to local sessions when agent session/list is unsupported. SessionHistoryModal now displays a banner when showing local sessions. Updates plugin settings schema and styles for local session support.
2026-01-08 01:19:38 +09:00
RAIT-09
d4c98a5994 feat: Add session management (load/resume/fork) with debug UI
Reworks session management to use explicit capability flags for list, load, resume, and fork operations, removing legacy methods and session rename/delete. Updates ACP adapter, domain models, ports, and hooks to support new session management API. Refactors ChatView and SessionHistoryModal to use new capability-driven UI and callbacks, and adds debug mode for manual session operations.
2026-01-08 00:53:03 +09:00
Yan Valuyskiy
fa7ea09a3b Improve session history UI with icons and editable title
- Convert Resume/Fork buttons to icon-only buttons (play, git-branch)
- Add editable session title in main chat header with pencil icon
- Add comprehensive CSS for session history modal layout
- Fix action buttons to display horizontally instead of stacking
- Add hover states with semantic colors (blue for actions, yellow for rename, red for delete)
- Revert incomplete folder mentions feature to fix TypeScript errors
2026-01-03 15:42:53 +02:00
RAIT-09
12398001ff Namespace diff classes for agent-client components
Renamed all diff-related CSS classes and their usage in ToolCallRenderer.tsx to use the 'agent-client-' prefix. This change avoids potential class name collisions and improves maintainability by clearly scoping styles to the agent-client components.
2026-01-03 11:56:59 +09:00
RAIT-09
a2d092f2a4 Merge branch 'master' into dev 2026-01-03 11:47:20 +09:00
RAIT-09
6e45346884 Update markdown rendered class name for consistency
Renamed the CSS class from 'agent-client-markdown-rendered' to 'markdown-rendered' in both the MarkdownTextRenderer component and the stylesheet for improved consistency and maintainability.
2025-12-31 16:09:45 +09:00
copilot-swe-agent[bot]
f7aaac0bce Implement improved diff rendering with unified format, line numbers, and word-level highlighting
Co-authored-by: XtromAI <55933762+XtromAI@users.noreply.github.com>
2025-12-30 04:58:24 +00:00
RAIT-09
ecaa0f273f Prefix all chat component CSS classes with agent-client
Renamed all CSS class names in chat-related React components and styles.css to use the 'agent-client-' prefix. This improves style encapsulation and prevents class name collisions with other plugins or global styles.
2025-12-25 22:40:14 +09:00
RAIT-09
a6e617d25c Add drag-and-drop image upload to ChatInput
Refactored image attachment logic in ChatInput to support drag-and-drop image uploads in addition to paste. Added visual feedback for drag-over state and updated styles for the input box and auto-mention display.
2025-12-17 01:09:09 +09:00
RAIT-09
4ca9c625ff Replace remove button with icon and update styles
The image remove button in ImagePreviewStrip now uses the Obsidian 'x' icon via setIcon instead of a text character. Corresponding CSS updates adjust the button's background, color, and icon size for better visual integration.
2025-12-17 00:53:38 +09:00
RAIT-09
6d5cfef55a Remove border from flex container in styles.css
Deleted the top border from a flex container to simplify its appearance and rely solely on background color for separation.
2025-12-16 01:16:19 +09:00
RAIT-09
3cc8e8e4e5 Add image attachment and preview support in chat
This update introduces support for attaching images to chat messages, including image validation, preview strip in the input area, and rendering of images in chat history. The domain model is extended with PromptContent types for text and images, and the message sending pipeline is refactored to handle multi-part prompts. UI components and styles are updated to support image previews and horizontal scrolling for image groups.
2025-12-16 00:55:04 +09:00
RAIT-09
e560e046f3 Auto-scroll selected suggestion into view
Added an effect to scroll the selected suggestion into view in the dropdown when navigating. Also set a max-height for the dropdown to enable scrolling when there are many items.
2025-12-15 14:46:58 +09:00
RAIT-09
f82ddfd9c5 Add documentation link to settings tab
Introduced a help link to the documentation in the AgentClientSettingTab for easier user access. Added corresponding CSS styles for the documentation link container and anchor element.
2025-12-15 11:55:10 +09:00
RAIT-09
704fb5ae16 Add experimental session model selection support
Introduces support for selecting AI models per session, including new types and UI for model selection. Updates the domain model, agent client port, and adapter to handle available models and current model state. Adds a model selector dropdown to the chat input, updates the session hook for model changes, and styles the new selector.
2025-11-29 16:10:11 +09:00
RAIT-09
948119ff60 Improve dynamic textarea height handling in chat input
Refactors the ChatInput component to use CSS classes and variables for dynamic textarea height adjustment instead of directly setting the style property. Adds corresponding CSS for .textarea-auto-height and .textarea-expanded to styles.css. Also removes an unused import from useAgentSession.ts.
2025-11-29 15:45:33 +09:00
RAIT-09
554fa84bb6 Refactor chat input UI and cleanup debug logs
Refactored the chat input area to use a new .chat-input-box container for improved layout and styling. Simplified textarea height adjustment logic and removed unused dynamic class management. Cleaned up debug and console logging from ChatInput and useAgentSession hooks. Updated styles for input area, textarea, and related elements to improve appearance and maintainability.
2025-11-29 15:39:49 +09:00
RAIT-09
1f9fe44a09 Add session mode switching to chat interface
Introduces support for agent session modes, allowing users to select and switch between different agent operating modes in the chat UI. Updates the domain model, agent client port, and AcpAdapter to handle session modes, and adds a mode selector dropdown to ChatInput. The useAgentSession hook now manages mode state and provides callbacks for updating and setting the current mode. Styles are updated to accommodate the new mode selector.
2025-11-29 15:13:20 +09:00
RAIT-09
8ed04f6748 Display tool call locations with relative paths in chat
Adds support for displaying file locations associated with tool calls in the chat UI, showing relative paths based on the vault path. Updates the ACP adapter to pass location data, introduces a utility for path conversion, and styles the new location display.
2025-11-24 22:32:15 +09:00
RAIT-09
a06911ad57 Add top margin to agent thought display 2025-10-21 23:39:19 +09:00
RAIT-09
779817c519 Fix text overflow in chat messages 2025-10-21 23:18:15 +09:00
RAIT-09
a1eda75bec Make textarea, hint, and auto-mention use Obsidian font size 2025-10-21 00:55:54 +09:00
RAIT-09
2848ca29f3 Add slash command suppor 2025-10-20 23:52:54 +09:00
RAIT-09
a0351e493d Fix loading indicator visual glitches by enabling GPU acceleration 2025-10-20 11:47:42 +09:00
RAIT-09
faf42c1407 Fix loading indicator visual glitches by enabling GPU acceleration 2025-10-19 20:23:11 +09:00
RAIT-09
4a857452a9 Fix potential plugin review issues 2025-10-11 21:56:37 +09:00
RAIT-09
145223c665 Add loading indicator for agent responses 2025-10-09 00:47:42 +09:00
RAIT-09
4b7d750676 Improve settings UI layout and styling 2025-10-09 00:20:51 +09:00
RAIT-09
95e74ac732 Add toggle to temporarily disable auto-mention 2025-10-06 23:32:53 +09:00
RAIT-09
d5ac61a1f7 Add update notification 2025-10-06 13:48:02 +09:00
RAIT-09
fc6e88d061 Use Obsidian font size settings for chat messages 2025-10-05 17:17:59 +09:00
RAIT-09
7dc7f6574d Fix textarea auto-resize and auto-mention overlay 2025-10-05 16:35:33 +09:00
RAIT-09
613221e48f Integrate permission requests into tool call UI 2025-10-05 15:22:27 +09:00
RAIT-09
13e9394083 Fix newline rendering in TextWithMentions component 2025-10-03 20:16:30 +09:00
RAIT-09
d87d2e5222 Add auto-mention 2025-10-03 20:06:28 +09:00
RAIT-09
38c4d2982e Remove hover color change on textarea 2025-10-03 18:58:32 +09:00