- Import Brain icon from lucide-react for the toggle button
- Add tabShowThinking, onToggleTabShowThinking, and supportsThinking props
to InputAreaProps interface
- Add toggle pill after Read-Only button using accentText color styling
- Add handler in App.tsx for toggling tab.showThinking state
- Pass props through MainPanel to InputArea
- Add supportsThinkingDisplay to renderer's AgentCapabilities interface
to match main process capability definition
Implement the IPC infrastructure for Show Thinking feature:
- Emit 'thinking-chunk' event in process-manager.ts when partial text events arrive
- Forward thinking-chunk events to renderer via index.ts
- Add onThinkingChunk handler to preload.ts process API
- Add TypeScript interface declaration for onThinkingChunk
This enables the renderer to receive real-time streaming content from AI agents
(Claude Code, OpenCode, Codex) for display when the tab's showThinking setting
is enabled. The renderer decides whether to display based on per-tab settings.
- Add defaultShowThinking state and setter to useSettings.ts
- Add settings UI with Brain icon in SettingsModal.tsx
- Add showThinking option to CreateTabOptions interface
- Update createTab() to accept and apply showThinking
- Wire up all createTab call sites to pass defaultShowThinking:
- App.tsx (3 locations)
- useMainKeyboardHandler.ts (Cmd+T new tab)
- useRemoteIntegration.ts (remote new tab)
- useAgentSessionManagement.ts (resume session)
- Pass defaultShowThinking through hook dependencies
- Add supportsThinkingDisplay to AgentCapabilities interface
- Set capability to true for claude-code, codex, and opencode agents
- Set capability to false for terminal, gemini-cli, qwen3-coder, and aider
- Add 'thinking' to LogEntry.source type for thinking content entries
- Add showThinking field to AITab interface for per-tab toggle state
- Update agent-capabilities test to include new capability
- No release notes or commit details were provided to summarize changes. 🔍
- Share the previous and current release tags to generate accurate bullets. 🏷️
- Paste the GitHub compare URL so I can extract major upgrades. 🔗
- Provide merged PR titles since last release to build highlights. 📋
- Include changelog excerpt if available for clean summarization. 🧾
- Tell me target audience and tone, and I’ll tailor wording. 🎯
- Confirm release date range to avoid missing important work. 🗓️
- If private repo, paste git log summary for reliable extraction. 🛡️
- I can return exactly ten 10-word bullets once input arrives. ✅
- Ready when you are—drop details and I’ll write it. 🚀
The previous cross-compilation approach from x64 to ARM64 doesn't work
for native modules like node-pty. electron-builder cannot properly
cross-compile native C/C++ modules - the ARM64 binaries still contained
x86 code.
This fix:
- Adds a native ARM64 Linux build job using ubuntu-24.04-arm runner
- Separates x64 and ARM64 Linux builds to run on their native architectures
- Uses explicit --x64 and --arm64 flags for electron-builder
- Updates artifact handling for separate x64 and ARM64 uploads
Reference: https://github.com/electron-userland/electron-builder/issues/7608Fixes#66
Track previous document index with a ref to detect actual document
switches. Only reset to preview mode when the user actually changes
documents, not when the generatedDocuments dependency triggers the
useEffect during normal editing operations.
Fixes#68
- Added Auto Run folder docs into @mention completion suggestions automatically 🚀
- Fetches Auto Run tree asynchronously, updating suggestions when paths change ⚡
- Skips redundant Auto Run fetching when already inside project tree 🔍
- Tags suggestions with source metadata for clear project-versus-autorun distinction 🏷️
- Displays “Auto Run” badge in suggestion list for instant recognition ✨
- Extends suggestion typing to include optional source field everywhere ✅
- Converts Auto Run document nodes into markdown filenames and paths consistently 📝
- Traverses nested Auto Run folders recursively to surface all docs fast 🧭
- Improves resilience by silently handling missing Auto Run folders safely 🛡️
- Prevents stale updates using cancellation guard during async fetching 🧯
- Updated Discord invite everywhere to new community link for joining! 🚀
- About modal now opens the refreshed Discord invite correctly instantly! ✨
- Quick Actions “Join Discord” now routes to updated server invite! 🔗
- Bookmark toggle hidden for worktree child sessions to prevent confusion! 🧩
- Collapsed session pills now subdivide segments for worktree parents/children! 🎛️
- Collapsed bookmarks palette now shows only parents, with segmented worktrees! 📌
- Collapsed group palette simplified using reusable segmented pill renderer! 🧱
- Collapsed ungrouped palette now uses segmented pills for clearer status! 🧭
- Unread indicators now appear only on last worktree segment pill! 🔴
- Hover tooltips now work per worktree segment for better visibility! 👀
Found expired OAuth token, attempting refresh...
Token refresh successful
## CHANGES
- Worktree sessions now inherit auto-run folder path from parents automatically. 🚀
- Sidebar visual ordering now nests worktree children directly under parents. 🎉
- Bookmarks, groups, and ungrouped lists now exclude worktree children clutter. ✨
- Collapsed group and ungrouped palettes now include worktree child indicators. 🔥
- Worktree expand/collapse UI redesigned with sleek clickable drawer bands. 🚀
- Expanded worktree children now render inside styled drawer with handle. 🎨
- Session context menu adds delayed-hover group mover submenu usability boost. 🧠
- Bookmark and move-to-group actions disabled for worktree child sessions. ✅
- Git status widget “View Full Diff” button upgraded with icon. 🧾
- Git tooltip panel widened and reorganized: branch, origin, status rows. 🌟
- No release notes or commit details were provided to summarize. 📝
- Share the latest tag, previous tag, or commit range to compare. 🔎
- Paste merged PR titles or a changelog draft for ten-word bullets. 📌
- Provide repository link and release dates to identify major upgrades. 🗓️
- Include breaking changes, new features, and fixes you consider important. 🚀
Worktree Features:
- Auto-detect directories containing git worktrees and create grouped agents
- Periodic scanner (30s) discovers new worktrees in watched directories
- Track removed worktree paths to prevent re-discovery
- Bulk delete worktree groups with all agents (trash icon on 🌳 groups)
- Wire SessionList delete through App.tsx for proper cleanup
Custom Claude Commands:
- Discover custom commands from .claude/commands/ directories
- Merge custom commands with built-in agent commands
- Run both discovery methods in parallel for faster loading
- Cloudflared cache clearing now resets installed and path caches reliably! 🧹
- Cache reset leaves cloudflared path null after failed detection attempts! 🔒
- Claude-code session renames now call `window.maestro.claude.updateSessionName` correctly! ✍️
- RenameSessionModal updated to use Claude rename API for claude-code! 🧠
- Tab switcher now syncs named tabs via Claude session renaming! 🔁
- Remote tab rename persists names through Claude-code integration pathway! 🌐
- Agent sessions API expanded with `setSessionName` for safer naming! 🏷️
- Agent sessions origins fetching added via new `getOrigins` method! 🧭
- AutoRunLightbox now renders via portal with ultra-high z-index! 🪟
- Save buttons now use black text for better contrast readability! 🎨
Follow-up to PR #63 - addresses code duplication and adds caching:
- Add isGhInstalled(), getGhPath(), resolveGhPath() to cliDetection.ts
- Follow existing cloudflared pattern with caching
- Replace duplicated detection logic in checkGhCli and createPR handlers
- Both handlers now use resolveGhPath() for consistent behavior
This reduces code duplication (~34 lines removed) and improves
performance by caching the gh CLI path after first detection.
Found expired OAuth token, attempting refresh...
Token refresh successful
## CHANGES
- Added generic agent session origins store supporting Codex, OpenCode, others! 🚀
- Introduced IPC handlers to fetch origins, rename, and star sessions! 🔥
- Exposed new preload APIs for cross-agent origins, naming, starring! ✨
- Updated UI to persist names/stars per agent, not Claude-only! 🎉
- AgentSessionsModal now loads starred sessions from correct per-agent origins! 🌟
- AgentSessionsBrowser now renames and stars sessions via generic origins! 💪
- Session pagination now merges metadata from per-agent origins automatically! ⚡
- OpenCode sessions now fall back to global project for discovery! 🧭
- Global OpenCode sessions now filter by directory, matching project paths! 🎯
- SessionItem right-side indicators reordered: git dirty before bookmark toggle! 🧩
- Add platform-specific command detection (where/which)
- Use expanded environment for PATH resolution
- Handle Windows multi-path output by taking first match
- Export getExpandedEnv() from cliDetection.ts for reuse
- Add proper fallback when detection fails
Addresses review comments from PR #59
Co-authored-by: oliveiraantoniocc <411161+oliveiraantoniocc@users.noreply.github.com>
- Windows shell detection now prioritizes PowerShell first, improving reliability. 🪟
- Windows `sh` and `bash` commands now map to `bash.exe`. 🧩
- About modal tests now match Hands-on Time text more robustly. ✅
- Execution Queue Browser now advertises drag-and-drop reordering in helper text. 🧷
- Codex session cache bumped to v3 for improved previews. 🗃️
- Session previews now skip markdown-style system context headers automatically. 🧹
- Agent sessions stats now compute locally for non-Claude agents. 📊
- Claude stats subscription now keys off `agentId`, not toolType. 🔌
- Sessions now merge origin, name, and starred metadata during pagination. 🔄
- Group chat exports now embed markdown images cleanly using images map. 🖼️
- Added session_meta support with payload-based metadata for richer sessions! 🚀
- Preserved legacy metadata parsing while prioritizing new payload timestamps! 🔄
- Project path now read from session_meta cwd, reducing guesswork! 🧭
- Extract text now includes output_text parts for complete transcripts! 📝
- Session IDs now reliably resolve from payload.id or legacy fallback! 🆔
- Codex parser now captures function_call tool invocations as messages! 🛠️
- Codex now records function_call_output results for end-to-end tool traces! 📦
- OpenCode storage now models worktree projects, time, and summaries! 🧩
- OpenCode project detection improved via normalization, subdirectory, and hash matching! 🎯
- OpenCode previews prefer first assistant reply; timestamps converted from Unix! ⏱️
- Session previews now prefer first assistant reply over user prompt! 🚀
- Fallback to first user message when assistant response missing. 🛟
- Claude session parser stops scanning once assistant preview found. ⚡
- Codex parser captures assistant previews across message and payload formats. 🔎
- Agent message completions now populate assistant-first preview correctly. 🤖
- First-message preview now uses unified `previewMessage` selection logic. 🧠
- Timestamp handling stays accurate while improving preview meaningfulness. ⏱️
- Message counting remains intact while preview extraction gets smarter. 📊
- Preview slicing now consistently applies to assistant-first chosen text. ✂️
- Session list previews become more informative, reducing system-context noise. 🎯
- Added Windows-path truncation coverage so session lists display correctly everywhere 🪟
- Improved code-fence language parsing to support C++ mapping to cpp 🧠
- Refined About modal stats copy with clearer “Hands-on Time” labeling ⏱️
- Simplified mobile connection timeout typing for safer browser compatibility 🔧
- Centralized haptic triggering into shared constants for cleaner reuse 📦
- Upgraded haptics detection to verify vibrate is an actual function 📳
- Tuned input-mode toggle haptics to a crisp light vibration duration 🎚️
- Strengthened interrupt button feedback with consistent strong haptic pulses 🛑
- Removed redundant default export bundle from CommandInputButtons module 🧹
- Expanded test suite to catch edge cases across platforms and languages ✅
- Crash reporting now runs only in production, keeping development logs spotless. 🚀
- Renderer Sentry initialization skips local dev servers, eliminating hot-reload noise. 🔇
- TTS stdin now catches EPIPE errors, preventing unexpected crashes during playback. 🛡️
- ProcessManager stdin error handling added, logging EPIPE without taking down sessions. 🧰
- Closing tabs now respects “unread-only” filtering, choosing the next unread tab. ✨
- Keyboard shortcut tab-closing now passes unread-only state for consistent navigation. ⌨️
- MainPanel Git log opening is now optional-safe, avoiding undefined callback crashes. 🔒
- Mobile session path truncation now supports Windows separators for cleaner display. 🪟
- Mobile haptics centralized via shared triggerHaptic helper, simplifying feedback logic. 📳
- Code block parsing now supports richer language tags, trimmed for accurate highlighting. 📝
- Added Auto Run document backups for reliable reset-on-completion workflows. 🔄
- Restored reset documents from backups, then deleted backup automatically. ♻️
- Added recursive cleanup to delete all `.backup.md` files quickly. 🧹
- Hardened backup IPC with traversal blocking and folder path validation. 🛡️
- Exposed new backup APIs in preload and Maestro typings. 🔌
- Batch processor now creates backups before processing reset-enabled documents. 🚀
- Interruptions now restore in-progress reset docs, then clean remaining backups. 🧯
- Group chat export now renders using the user’s current theme colors. 🎨
- Removed embedded JSON from chat exports, focusing on polished HTML. ✨
- Exported chats now support richer markdown, links, and embedded images. 📝
- Terminal agent now defaults to PowerShell on Windows, bash elsewhere! 🚀
- PATH expansion is now platform-aware, including rich Windows install locations! 🎯
- PATH parsing now uses `path.delimiter`, fixing Windows semicolon separation! 🛠️
- Terminal PTY sessions set Windows-friendly HOME, USER, and SHELL values! ⚡
- Base terminal PATH now includes Windows System32 and Git commands reliably! 🧩
- Command runner defaults to platform-appropriate shell, boosting cross-platform usability! 🌍
- `runCommand` adds Windows-specific environment variables for better subprocess behavior! 🔧
- Shell detection now lists Windows shells: PowerShell, pwsh, cmd, WSL! 🔎
- Windows shell detection maps IDs to `.exe` binaries before `where` lookup! 🧠
- Cloudflared CLI detection now searches Windows paths like Scoop/Chocolatey/npm! 🛰️
- Add asarUnpack for node-pty so native module is extracted outside ASAR
- Add missing system dependencies (libdrm2, libgbm1, libasound2) to deb
- Add missing dependencies (libdrm, mesa-libgbm, alsa-lib) to rpm