Commit Graph

10 Commits

Author SHA1 Message Date
Pedram Amini
753d5db906 ## CHANGES
- Right-click now selects the clicked file before opening menu 🖱️
- LogViewer shows agent name pill for toast project entries ✏️
- Autorun logs get an agent/session pill pulled from context 🏷️
- Context badges no longer show for toast and autorun logs 🚫
- Added `NOTHING_TO_REPORT` sentinel for “no meaningful work” responses 🧩
- Synopsis parsing now flags `nothingToReport` and skips history creation ⏭️
- New helper `isNothingToReport()` handles ANSI/box-drawing-wrapped tokens 🧼
- Autorun synopsis prompt now requires strict `NOTHING_TO_REPORT` output 📜
- File tree loading avoids redundant reloads after an empty initial load 🌲
- Delete confirmation button uses softer semi-transparent error styling 🎨
2026-01-14 12:28:21 -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
Pedram Amini
475a8a0cc8 OAuth enabled but no valid token found. Starting authentication...
Found expired OAuth token, attempting refresh...
Token refresh successful
## CHANGES
- Disabled SSH connection multiplexing to eliminate “UNKNOWN port -1” flakiness 🛡️
- AI stderr now renders with proper red-box styling in the right tab 🟥
- Batched AI logs preserve stdout/stderr separation for cleaner grouping fidelity 🧾
- File tree errors now trigger automatic retry with a 20-second backoff timer 
- Added per-session retry scheduling with safe timer cleanup on unmount 🧹
- File Explorer shows a live retry countdown plus a “Retry Now” action ⏱️
- Agent sessions get “Retry Connection” instead of misleading directory selection 🔄
- Terminal sessions keep “Select New Directory” only when it actually applies 📁
- Session list visually wraps worktree stacks in flat/ungrouped views for clarity 🧩
2026-01-01 13:00:23 -06:00
Pedram Amini
333b47b82a ## CHANGES
- Added SSH-aware worktree directory scanning for remote Git setups! 🛰️
- Git repo checks now support SSH remote IDs across the app! 🔐
- Usage stats now track local vs SSH remote query execution! 📍
- Introduced stats DB v2 migration adding `is_remote` column + index! 🗃️
- Aggregated stats API now returns `byLocation` breakdown for dashboards! 🧭
- New donut chart visualizes Local vs SSH Remote session distribution! 🍩
- Execution Queue pills intelligently size to show full tab names! 🏷️
- Queue pills now include hover titles for full tab text! 🧾
- Worktree sessions now inherit SSH configuration from parent sessions! 🧬
- Release notes frontmatter now includes a shiny new `scroll` icon! 📜
2025-12-31 16:58:14 -06:00
Pedram Amini
dc6f8f5912 ## CHANGES
- Explore markdown relationships with the new interactive Document Graph view 🕸️
- Jump into Document Graph from explorer, quick actions, and file preview ⌨️
- Navigate graphs keyboard-first with depth control, search, and node positioning 🧭
- Optionally surface external-link domains as nodes for instant reference 🔗
- Group Chat now mixes local and SSH-remote agents for cross-machine teamwork 🛰️
- SSH Remote Execution docs revamped with clearer setup, mapping, and status cues 🛠️
- Remote sessions now fully support File Explorer, Auto Run, worktrees, and terminal 🧰
- File explorer context menu adds “Document Graph” for markdown files only 📁
- Edit Agent modal lets you copy session ID from a slick custom header 🪪
- Freshened app branding with updated icons across platforms 🎨
2025-12-31 15:21:12 -06:00
Pedram Amini
a457ad1de2 ## CHANGES
- File/directory listings now include full paths for reliable recursion 🧭
- Remote directory entries use POSIX-style path joining for consistency 🧱
- `process:runCommand` now supports per-session SSH remote execution 🚀
- Preload + renderer API updated to pass `sessionSshRemoteConfig` cleanly 🔌
- ProcessManager can execute one-off commands via SSH, not just locally 🌐
- SSH execution adds robust defaults: BatchMode, timeouts, host-key handling 🛡️
- Remote commands run in login shell with env exports and safe escaping 🧪
- File Explorer header now displays/copies `projectRoot` instead of `cwd` 📁
- File tree refresh uses `projectRoot`, keeping Files tab stable across `cd` 📌
- Document Graph focus badge no longer clickable; focus changes via node double-click 🎯
2025-12-30 23:12:53 -06:00
Pedram Amini
edb845c0eb MAESTRO: Wire up SSH context to File Explorer fs operations
Pass sshRemoteId to fs.readDir and fs.directorySize calls in:
- loadFileTree() for remote directory listing
- useFileTreeManagement hook for all file tree operations

This completes Phase 3 of SSH remote support, enabling the
File Explorer to work with remote sessions over SSH.

Added unit tests for SSH context propagation.
2025-12-30 03:36:37 -06:00
Pedram Amini
bc7e9d12ad MAESTRO: Pass SSH context through component tree for file operations
Phase 1, Task 1.3: Updated hooks and components to access session.sshRemoteId
and session.remoteCwd for future remote file operations support.

Changes:
- Added SshContext interface to fileExplorer.ts
- Updated loadFileTree() to accept optional SSH context parameter
- Added getSshContext() helper in useFileTreeManagement hook
- Updated refreshFileTree, refreshGitFileState, and initial load effect
  to pass SSH context when session has sshRemoteId
- Added test for SSH context propagation

This prepares the codebase for Phase 2 (Remote File System Utilities)
where actual SSH-aware file operations will be implemented.
2025-12-30 03:36:37 -06:00
Pedram Amini
f7fd242969 ## CHANGES
- Added `fs.directorySize` IPC API returning size, files, folders stats 📦
- File Explorer now shows bottom status bar with counts and size 📊
- File tree refresh fetches tree and directory stats in parallel 
- Session state now stores `fileTreeStats` for richer explorer context 🧾
- AutoRun task progress highlights completed/total counts with accent styling 🎯
- History detail markdown now uses consistent terminal prose styling 📝
- History panel scroll handling throttled to 4ms for smoother scrolling 🧈
- Terminal output scroll throttling upgraded for ultra-smooth scrollbar feel 🏎️
- Scrollbar highlight logic now batched via RAF and passive listeners 🧵
- System prompt clarifies read-only/plan mode: include artifacts plus summary 🧠
2025-12-29 06:12:34 -06:00
Pedram Amini
615a0e6b48 MAESTRO: Reorganize 48 hooks into 10 domain modules
This major refactoring effort consolidates all React hooks from a flat
structure into domain-focused modules for improved discoverability:

- session/: Navigation, sorting, grouping, activity tracking (7 hooks)
- batch/: Batch processing, Auto Run, playbooks (14 hooks)
- agent/: Agent execution, capabilities, sessions (12 hooks)
- keyboard/: Keyboard handling and shortcuts (4 hooks)
- input/: Input processing and completion (5 hooks)
- git/: Git integration and file tree (2 hooks)
- ui/: Layer management, scrolling, tooltips (8 hooks)
- remote/: Web/tunnel integration (5 hooks)
- settings/: App settings (1 hook)
- utils/: Debounce/throttle utilities (2 hooks)

All module index.ts files properly export hooks with types.
Root index.ts re-exports from all modules for backwards compatibility.
All 12,066 tests pass. TypeScript compilation clean.
2025-12-25 13:23:39 -06:00