Commit Graph

2112 Commits

Author SHA1 Message Date
Pedram Amini
6e4d60a697 MAESTRO: Fix ssh-remote-execution.md documentation inaccuracies
- Corrected Per-Agent Configuration to Per-Session Configuration
  (SSH is session-level only, not per-agent with global defaults)
- Fixed dropdown options from incorrect "Use Global Default"/"Force
  Local" to actual "Local Execution"/[Remote Name] options
- Removed incorrect "Resolution Order" section (5-level priority
  algorithm doesn't exist in source code)
- Clarified global default is a visual indicator, not automatic
- Removed incorrect PTY limitation claim (PTY IS available via
  RequestTTY: 'force' and -tt flags)
- Updated Limitations section with accurate shell initialization info
- Changed hyphens to em-dashes for consistency
2026-01-11 06:13:45 -06:00
Pedram Amini
f8c8bfc0e9 MAESTRO: Fix speckit-commands.md documentation inaccuracies
- Fix intro claiming prompts are "automatically synced" (they require manual Check for Updates)
- Add Storage Location row to comparison table (.specify/ vs Auto Run Docs/Initiation/)
- Expand Viewing & Managing Commands section with Reset to Default and badge indicator
- Add exact file paths for all commands:
  - /speckit.constitution: .specify/memory/constitution.md
  - /speckit.specify: specs/<N>-<feature-name>/spec.md
  - /speckit.clarify: Updates spec.md with Clarifications section
  - /speckit.plan: plan.md, research.md, data-model.md, contracts/, quickstart.md
  - /speckit.tasks: tasks.md with phase structure
  - /speckit.implement: Auto Run Docs/SpecKit-<feature-name>-Phase-XX-[Description].md
- Rewrite /speckit.checklist section to explain "unit tests for requirements" concept
- Add /speckit.taskstoissues requirements (gh CLI + GitHub MCP server tool)
- Rename "Auto-Updates" to "Updating Commands" with accurate manual process description
- Expand Tips section with additional actionable advice
2026-01-11 06:09:50 -06:00
Pedram Amini
630b710586 MAESTRO: Fix slash-commands.md documentation inaccuracies
- Add "Built-in Maestro Commands" section documenting /history and /wizard
- Fix Settings path: "Settings > Custom AI Commands" → "Settings → AI Commands"
- Fix {{LOOP_NUMBER}} description: "starts at 1" → "5-digit padded: 00001, 00002"
- Fix {{TOOL_TYPE}} examples to include "aider"
- Complete Spec-Kit commands table (was missing 4 commands, now 10 total)
- Reorder OpenSpec commands and update descriptions to match source
- Remove non-existent /context command from Claude Code supported list
- Clarify Agent Native Commands discovery via system/init event
2026-01-11 06:06:19 -06:00
Pedram Amini
cb22f74516 MAESTRO: Fix screenshots.md documentation inaccuracies
- Updated theme count from 12 to 18 in description
- Added 4 missing light themes: Solarized, One Light, Gruvbox Light, Catppuccin Latte
- Fixed "GitHub Light" to "GitHub" to match actual theme name
- Fixed Settings path from "Appearance → Theme" to "Themes tab"
- Added Custom Theme section documenting the theme builder
2026-01-11 06:02:44 -06:00
Pedram Amini
b8493fe08d MAESTRO: Fix remote-access.md documentation inaccuracies
- Fix "Global Access" → "Live Sessions" (only live sessions accessible)
- Rename "Static Port Configuration" → "Custom Port Configuration" to match UI
- Correct port range from 1024-65535 to 1-65535
- Fix "Use Custom Port" → "Custom Port" toggle label
- Add UUID clarification for security token
- Expand Mobile Web Interface with Core Features, Gestures, Input subsections
- Add Connection Handling section (auto-reconnect, offline mode, status)
- Add notes, tips, and related links section
- Use em-dashes for consistency with other documentation
2026-01-11 06:01:18 -06:00
Pedram Amini
2b2bd286f2 MAESTRO: Fix provider-nuances.md documentation inaccuracies
Changes:
- Fixed Claude Code model selection: was incorrectly documented as supported
  via --model flag, but source shows supportsModelSelection: false (configured
  via Anthropic account)
- Changed "OpenAI Codex" to "Codex (OpenAI)" throughout for consistency
- Fixed Codex slash commands: changed from ⚠️ to  since they don't work in
  exec mode which Maestro uses
- Updated Codex slash commands link to official OpenAI docs
- Fixed OpenCode slash commands: changed from "Not investigated" to "Not
  supported" per source code
- Enhanced OpenCode note to mention OPENCODE_CONFIG_CONTENT env var for YOLO
- Added "Context operations" row for all providers (merge/export/transfer)
- Added "Thinking display" row for all providers documenting streaming output
- Updated description frontmatter for consistent naming
2026-01-11 05:56:27 -06:00
Pedram Amini
bb0debef3d MAESTRO: Fix playbook-exchange.md documentation inaccuracies
- Fixed cache TTL from 5 minutes to 6 hours (matching source code)
- Fixed button label from "Playbook Exchange" to "Exchange" (matching UI)
- Added Cmd+F/Ctrl+F search shortcut
- Added detail view navigation shortcuts (document nav, page scroll, home/end)
- Added browse folder feature documentation
- Added assets subfolder support documentation
- Added SSH remote session import note
- Added help button and GitHub submission link documentation
- Expanded keyboard shortcuts into separate List View and Detail View tables
- Changed list formatting to em-dashes for consistency
2026-01-11 05:54:08 -06:00
Pedram Amini
c4312f4552 MAESTRO: Fix openspec-commands.md documentation inaccuracies
- Added "OpenSpec CLI Commands" section with table of essential commands
  (list, list --specs, show, validate, archive, spec list --long)
- Fixed Stage 1 workflow to document full process including project.md
  review and openspec list commands
- Fixed validation command format to include required change-id parameter
- Added --yes and --skip-specs flags documentation for archive command
- Expanded /openspec.implement description with phase grouping details
- Updated "Viewing & Managing Commands" section to accurately describe UI
- Fixed Spec-Kit directory location from "Project root" to "specs/"
- Changed tips to use "verb-led IDs" terminology per AGENTS.md conventions
- Standardized to em-dashes for consistency with other docs
2026-01-11 05:50:47 -06:00
Pedram Amini
3b5c0b5bfe MAESTRO: Fix mcp-server.md documentation inaccuracies
- Added mention that MCP server is hosted by Mintlify
- Added proactive search behavior explanation
- Added Cursor and VS Code configuration instructions
- Clarified transport type as HTTP/HTTPS (Streamable HTTP)
- Added note about page indexing limitations
- Verified all existing information is accurate
2026-01-11 05:47:38 -06:00
Pedram Amini
3230745444 MAESTRO: Fix keyboard-shortcuts.md documentation inaccuracies
Major fixes:
- Toggle Sidebar was Cmd+B, actual shortcut is Opt+Cmd+Left (renamed to Toggle Left Panel)
- Toggle Right Panel was Cmd+\, actual shortcut is Opt+Cmd+Right
- Document Graph Tab cycling didn't exist in code, removed it
- Document Graph Enter key behavior was wrong: re-centers for docs, opens URL for external
- Keyboard Mastery levels were completely wrong (Novice/Apprentice/etc vs Beginner/Student/etc)
- Keyboard Mastery location was "status bar" but it's actually in Shortcuts Help panel

Added missing shortcuts:
- New Agent Wizard, New Group Chat, Navigate Back/Forward
- Toggle Input/Output Focus, Focus Left Panel, System Log Viewer, Process Monitor
- Toggle Bookmark, Maestro Symphony, Toggle Auto Run Expanded, View Git Diff
- Toggle Tab Star, Toggle Tab Unread, Filter Unread Tabs, Open Prompt Composer
- Go to Tab 1-9 and Go to Last Tab
- File Preview Go Back/Forward
- Context-sensitive filter shortcuts (Cmd+F in different contexts)
2026-01-11 05:45:01 -06:00
Pedram Amini
7afb999b46 MAESTRO: Fix history.md documentation inaccuracies
- Correct time range options (8 options, not 4)
- Add Cmd+F shortcut for search filter
- Fix settings toggle location description
- Add /clear as third method for USER entries
- Add arrow key navigation in detail view
- Add platform-specific storage paths
- Add Help Panel section
- Improve keyboard navigation documentation
2026-01-11 05:37:48 -06:00
Pedram Amini
bbb01d8abf ## CHANGES
- Added performance best-practices guide for React and main process tuning 📘
- Introduced `buildFileTreeIndices` for fast, reusable markdown file lookups 
- Updated `remarkFileLinks` to accept prebuilt indices with backward compatibility 🧩
- Memoized file-tree indices in AutoRun, FilePreview, and MarkdownRenderer for speed 🚀
- Expanded test suite to cover indices building and indexed link resolution 🧪
- Made temp-file cleanup asynchronous to keep the main thread snappy 🧹
- Cached shell path resolution to avoid repeated synchronous filesystem checks 🗄️
- Precompiled leading-emoji regex to speed up session name sorting 🔤
- Consolidated SessionList filtering/grouping/sorting into one efficient memo pass 🧠
- Memoized TabBar tabs, computed labels, and style objects to cut rerenders 🎛️
2026-01-11 03:15:12 -06:00
github-actions[bot]
0f22fb548d docs: sync release notes for v0.14.4 2026-01-11 06:22:41 +00:00
Pedram Amini
fddea077ca ## CHANGES
- NewInstanceModal now preserves SSH config during agent re-detection flows 🧭
- Tests now mock remote `fs.stat` to validate SSH working directory reliably 🧪
- NewInstanceModal tests wait for debounced remote path validation before creating ⏱️
- Leaderboard “Submit” button stays hidden after success to avoid resubmits 🚫
- Leaderboard “Sync from cloud” is now available even after successful submit 🔄
- Leaderboard “Opt Out” action remains accessible after a successful registration 🧾
- Autorun synopsis prompt bans session-context preambles for cleaner summaries ✍️
2026-01-11 00:06:55 -06:00
Pedram Amini
0fe46fb35d ## CHANGES
- SSH remote selection now works even before choosing an agent 🚀
- NewInstanceModal now reads pending SSH config for enablement/host display 🔧
- Agent detection reliably re-runs when switching between remote and local 🔁
- Wizard recovery test now programmatically toggles SSH to bypass JSDOM quirks 🧪
- Wizard tests use real timers to validate React effects correctly ⏱️
- NewInstanceModal tests verify detect() called with selected SSH remote ID 📡
- Agent selection test flow now waits for aria-selected state properly 
- Tests stop relying on remote path validation and fragile placeholder behavior 🧹
- SSH selector tests consistently target the combobox select element 🎛️
- Leaderboard stats layout upgraded from grid to flexible proportions 🏆
2026-01-10 23:06:11 -06:00
Pedram Amini
3222239192 ## CHANGES
- Detect agents on SSH remotes via IPC `agents:detect(sshRemoteId)` 🌐
- Show friendly “Unable to Connect” UI when remote agent detection fails ⚠️
- Re-detect agents instantly when switching SSH remote selection in modals 🔁
- Wizard now persists SSH remote choice across step navigation 🧭
- Remote directory validation now checks existence via `fs.readDir` first 📁
- Git repo checks and Auto Run docs lookup now support SSH remote IDs 🛰️
- Directory screen hides Browse button for remote sessions, adds remote hints 📝
- Agent selection UI revamped: name + location dropdown, clearer header 🧩
- Add `showThinking` option to tabs and merged sessions, default false 🧠
- Export `AGENT_DEFINITIONS` for reuse in remote detection logic 📦
2026-01-10 21:58:17 -06:00
Pedram Amini
342549188a ## CHANGES
- Made SSH config loading safe with optional `window.maestro` access 🛡️
- Ignored background synopsis process errors to keep sessions clean 🧹
- Updated batch error parsing to handle `-batch-{timestamp}` suffixes ⏱️
- Treated `session_not_found` as informational, not a blocking failure ℹ️
- Logged `session_not_found` messages as system entries instead of errors 🗒️
- Prevented error details attachment for `session_not_found` log entries 🔍
- Stopped `session_not_found` from setting session/tab error state 🚦
- Skipped error modal display for non-blocking `session_not_found` events 🚫
2026-01-10 19:28:50 -06:00
Pedram Amini
df8fbc8324 ## CHANGES
- Compaction now triggers earlier: 2k tokens or 8 exchanges 🎯
- Added extra compaction fallbacks when context gauge resets unexpectedly 🔁
- Read-only tabs now force “return plan in Markdown” instructions 🧾
- Auto Run without worktree automatically runs in read-only/plan mode 🛡️
- ThinkingStatusPill now accepts prefiltered thinkingSessions for speed 
- InputArea precomputes thinking sessions and memoizes command filtering 🚀
- MainPanel memoizes active tab lookup to cut per-keystroke work 🧠
- TerminalOutput memoizes active logs and reduces scroll update frequency 🖥️
- Batched session updates track context high-water mark with explicit reset 🌊
- Wizard adds one-click debug log download right in the conversation UI 🧰
- Leaderboard registration now submits cumulative stats safely for multi-device sync 🏆
- AutoRun prompt now requires a concrete “what I did” synopsis first 🧭
2026-01-10 10:29:15 -06:00
Pedram Amini
0550c02f63 fix(wizard): Use agent.path instead of agent.command for spawn
The wizard was using agent.command ("claude") instead of agent.path
("/opt/homebrew/bin/claude") when spawning processes. In packaged
Electron apps, PATH may not include agent locations, causing ENOENT
errors when no existing agents had been created.

Fixes #171
2026-01-10 09:12:07 -06:00
Pedram Amini
35827c392f fix(wizard): Use configured Auto Run folder path instead of default
The /wizard command now respects the user's configured Auto Run folder
path instead of always creating "Auto Run Docs" at the repository root.

Fixes #169
2026-01-10 08:08:29 -06:00
Pedram Amini
7240a1cbf6 - Release notes now display a proper scroll icon in docs frontmatter 🧾
- Release notes formatting normalized (line endings/spacing) for cleaner diffs 
2026-01-09 23:23:50 -06:00
github-actions[bot]
edcaf5260e docs: sync release notes for v0.14.3 2026-01-09 18:33:27 +00:00
Pedram Amini
5a8c1284bd ## CHANGES
- Document labels now hide “.md” extension for cleaner progress display 
- Full filename (with “.md”) moved into hover tooltip for quick clarity 🧾
- Document name text now truncates gracefully to prevent layout overflow 🧩
- Improved flex sizing so progress bar stays visible in tight spaces 📊
2026-01-09 12:12:18 -06:00
Pedram Amini
46ba4a15d9 fix(history): Improve virtualizer performance and keyboard navigation
- Add initialRect to prevent flushSync warning during initial render
- Add scroll-to-selected effect for keyboard navigation (arrow keys)
- Use measureElement ref for dynamic row sizing instead of manual refs
- Adjust estimated row heights to better match actual content
- Remove unused itemRefs
2026-01-09 10:57:14 -06:00
Pedram Amini
f052b38502 fix(terminal): Always render logsEndRef for scroll-to-bottom
The logsEndRef div was conditionally rendered only when session.state
!== 'busy', which prevented Cmd+Shift+J (scroll to end) from working
while the agent was actively processing. Now always rendered.
2026-01-09 10:56:06 -06:00
Pedram Amini
7938258fd1 do not allow for overlapping tts 2026-01-09 10:39:46 -06:00
Pedram Amini
6aab9892de ## CHANGES
- Fresh app icons for macOS and Windows builds, looking sharper than ever 🖼️
- New opt-in global Leaderboard tracking via <a href="https://runmaestro.ai">RunMaestro.ai</a> 🚀
- Themes documentation revamped into Dark, Light, and Vibe categories 🎨
- Theme lineup refreshed with Catppuccin Mocha, Gruvbox Dark, and Ayu Light 🌈
- Brand-new Vibe themes added: Maestro’s Choice, Dre Synth, InQuest 
- New docs screenshots added to better showcase Maestro’s experience 📸
- Sessions now support bookmark toggling via Cmd+Shift+B and UI actions 🔖
2026-01-09 06:42:38 -06:00
Pedram Amini
5da418cf7f ## CHANGES
- Added global Leaderboard showcasing Auto Run records and community rankings 🏆
- Leaderboard includes conductor badge, social links, and detailed stat sync 🌐
- Documented Tab Switcher fuzzy search with quick numbered tab jumps 🔎
- Tab Switcher now shows token count, cost, and context usage insights 📊
- Added screenshot-rich Shortcuts Settings guidance for remapping keys 🛠️
- Enhanced Shortcuts Help modal docs with search and mastery checkmarks 
- Introduced new default shortcut: Toggle Bookmark (Cmd+Shift+B) 🔖
- Wired Toggle Bookmark into main keyboard handler for active sessions 
- Refreshed documentation screenshots, including new shortcuts modal image 🖼️
2026-01-09 05:02:45 -06:00
Pedram Amini
a927584207 ## CHANGES
- Generate playbooks mid-session with the new Inline Wizard flow 🧙
- Add confidence gauge and organized wizard subfolders for generated docs 📈
- Launch **Maestro Symphony** to donate tokens and ship OSS PRs 🎵
- Browse/filter/search Symphony projects and issues directly in-app 🔎
- Auto-clone repos, run Auto Run docs, and open draft PRs automatically 🚀
- Track Symphony contributions with active/history/stats dashboards 📊
- Make leaderboard submissions multi-device safe using delta-based aggregation 🔁
- Stop image flicker with synchronous cache-backed Markdown image loading 🖼️
- Debounce Auto Run preview scroll persistence to cut noisy re-renders ⏱️
- Rename/delete in File Explorer updates tree instantly—no full refresh 
2026-01-08 19:31:41 -06:00
Pedram Amini
bff79b56fe fix: Windows auto-update filename mismatch (#162)
Add explicit artifactName configuration to NSIS and portable targets
to ensure consistent hyphen-based naming that matches latest.yml manifest.
2026-01-08 09:51:24 -06:00
Pedram Amini
60535a5a3e version bump 2026-01-08 06:16:16 -06:00
Pedram Amini
c862ca5a11 added Maestro Symphony Registration Manifest 2026-01-08 06:12:13 -06:00
Pedram Amini
f30d57a28d address issue #161 2026-01-08 05:31:54 -06:00
Pedram Amini
db3b5f546c ## CHANGES
- Gist publish modal now shows previously published URL and details 📌
- Copy gist URL in-app with instant “Copied!” feedback button 🧷
- Open published gists directly in your browser from the modal 🌐
- Re-publish flow added, with back navigation and replacement warning 🔁
- File preview now highlights the Gist icon when a gist exists 🎯
- Published gists are remembered per file path and restored on startup 💾
- Gist metadata now tracked (visibility and publish timestamp) for each file ⏱️
- App persists gist mappings to settings automatically after publishing 🗄️
- Community Discord links updated everywhere to <a href="https://runmaestro.ai/discord">runmaestro.ai/discord</a> 🔗
- Test suite expanded to cover existing-gist UI, copying, and republish flows 🧪
2026-01-07 20:17:53 -06:00
Pedram Amini
7c80cbb3f9 discord link updated 2026-01-07 19:36:49 -06:00
Pedram Amini
2b54790f26 ## CHANGES
- Added Lightbox image deletion with confirmation modal and keyboard shortcut 🗑️
- Expanded Lightbox test coverage to fully validate delete flows end-to-end 🧪
- Generate and persist a unique installation GUID on first run 🔑
- Tag Sentry crash reports with installationId for better correlation 🧷
- Exposed `leaderboard:getInstallationId` IPC + preload API for renderer access 🔌
- Leaderboard submissions now auto-include installId (server-mapped field) 📤
- Send clientTotalTimeMs to help detect multi-device time discrepancies ⏱️
- Added Quick Action to copy Install GUID to clipboard for debugging 📋
- Tuned HistoryPanel virtualization row height estimates for smoother scrolling 📜
- Fixed React hook dependency for staged image removal callback stability 🪝
2026-01-07 19:25:02 -06:00
Pedram Amini
a995a3262b fix: widen update modal by 25% for better release notes display
Increased UpdateCheckModal width from 500px to 625px to give release
notes more room to display properly.

Claude ID: 56e528a6-9479-464e-bdfa-6eef08f10ded
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
2026-01-07 15:46:16 -06:00
Pedram Amini
7edd868ca8 fix: enable YOLO mode by default for OpenCode agents
Adds defaultEnvVars support to AgentConfig interface and sets
OPENCODE_CONFIG_CONTENT with permission allow-all for OpenCode.
This prevents startup hangs caused by external_directory permission
prompts in batch mode.

Closes #158
2026-01-07 15:43:39 -06:00
Pedram Amini
193949bc20 markdown table rendering improvements 2026-01-07 05:25:39 -06:00
github-actions[bot]
6d2714fab2 docs: sync release notes for v0.14.2 2026-01-07 10:40:52 +00:00
Pedram Amini
7fa60ea003 Merge pull request #152 from charles-dyfis-net/issue-151
Honor user's configured default shell instead of hardcoding zsh
2026-01-07 04:23:39 -06:00
Pedram Amini
215bc8725c perf: virtualize HistoryPanel, batch settings IPC, optimize filter chains
Three performance optimizations:

1. HistoryPanel Virtualization
   - Replace pagination with @tanstack/react-virtual
   - Only render visible entries (overscan: 5)
   - Memoize HistoryEntryItem component with React.memo
   - Eliminates DOM overhead for large history lists

2. Settings IPC Batch Loading
   - Change ~60 individual settings.get() calls to single settings.getAll()
   - Reduces IPC round-trips during initialization
   - Extract all values from single batch response

3. Filter Chain Optimization
   - MindMap.tsx: Single-pass reduce() instead of filter().map()
   - GroupChatInput.tsx: Single-pass reduce() for mentionableAgents

Updated tests:
- useSettings.test.ts: Update mocks from get() to getAll()
- HistoryPanel.test.tsx: Update pagination tests to virtualization
- fonts-and-sizing.test.ts: Update settings mocks

Updated documentation:
- CLAUDE.md: Document batch loading pattern for settings

All 14,980 tests pass.

Claude ID: 286ae250-379b-4b74-a24e-b23e907dba0b
Maestro ID: b9bc0d08-5be2-4fdf-93cd-5618a8d53b35
2026-01-06 20:13:23 -06:00
Pedram Amini
31da3fa8bd ## CHANGES
- OpenCode CLI now uses `run` batch subcommand with positional prompts 🚀
- Dropped `-p` prompt flag for OpenCode JSON mode compatibility 🧩
- Added `noPromptSeparator` for OpenCode positional prompt handling 🧠
- Implemented “Close All Tabs” action for faster session cleanup 🧹
- Implemented “Close Other Tabs” to focus instantly on one tab 🎯
- Implemented “Close Tabs to Left” for browser-style tab management ⬅️
- Implemented “Close Tabs to Right” to prune clutter in one click ➡️
- Wired bulk tab-close handlers through App, Modals, MainPanel, TabBar 🔌
- Enhanced tab context menu with bulk close options and smart disabling 📋
- Updated tests to reflect OpenCode batch mode and UI copy tooltip 🧪
2026-01-06 19:49:01 -06:00
Pedram Amini
40f83cf772 hotkey for copy to clipboard in image carousel 2026-01-06 18:29:46 -06:00
Pedram Amini
e9bd57a9a8 Maestro Playbooks can now contain non-markdown files in assets/ folder 2026-01-06 17:03:19 -06:00
Pedram Amini
b608903b1a ensure that auto run docs have padded numbers 2026-01-06 13:42:40 -06:00
github-actions[bot]
af8cb5e2ed docs: sync release notes for v0.14.1 2026-01-06 19:22:13 +00:00
Charles Duffy
f3cab47b76 Honor user's configured default shell instead of hardcoding zsh (#151) 2026-01-06 09:33:04 -06:00
Pedram Amini
b92fa04908 ## CHANGES
- Wizard now auto-continues when AI implies “let me research…” dead-ends 🧠
- Added robust deferred-response phrase detection to keep conversations flowing 🔍
- Introduced “Your turn” indicator when assistant awaits user input 💡
- Updated wizard system prompt to forbid deferred/async promises outright 🚫
- Prevented auto-continue infinite loops with a per-exchange trigger guard 🛡️
- Improved auto-continue UX with delayed send after UI updates ⏱️
- Added full test suite for deferred-response detection patterns 
- Strengthened NewInstanceModal tests with remote directory stat validation 📁
- NewInstanceModal tests now wait for debounced remote path validation 
- Expanded icon mocking to include Loader2 for more complete test coverage 🎭
2026-01-06 09:07:50 -06:00
Pedram Amini
7db629f8aa ## CHANGES
- SSH directory stats now include remote file and folder counts 
- New incremental remote scanning finds changed files without full walks 🚀
- Baseline remote file listing added for faster subsequent refreshes 🧭
- File tree loading now streams live progress for slow SSH sessions 🛰️
- Fresh loading UI shows spinner, counters, and active scanned folder 
- Sessions track file-tree loading state, progress, and last scan time 🧾
- New instance creation validates remote project path before enabling submit 🛡️
- Edit agent modal now verifies remote directory exists before saving 🔍
- Mind map nodes now label using filename (without .md) for clarity 🏷️
- Highlighted graph connections are now bolder for better visibility 🎯
2026-01-06 08:27:40 -06:00