Add persistent default values for new agent creation#1
Closed
Conversation
Signed-off-by: Samraj Moorjani <samraj.moorjani@databricks.com>
Signed-off-by: Samraj Moorjani <samraj.moorjani@databricks.com>
Signed-off-by: Samraj Moorjani <samraj.moorjani@databricks.com>
Signed-off-by: Samraj Moorjani <samraj.moorjani@databricks.com>
Signed-off-by: Samraj Moorjani <samraj.moorjani@databricks.com>
Signed-off-by: Samraj Moorjani <samraj.moorjani@databricks.com>
Signed-off-by: Samraj Moorjani <samraj.moorjani@databricks.com>
- Revert from tmux to individual PTYs per shell (fixes blank terminals) - Fix status-reporter.sh port from 6969 to 6968 (fixes status updates) - Improve terminal resize handling with multiple sync attempts - Widen sidebar resize handle from w-1 to w-2 with z-index - Fix WorktreeModal to send customName for proper cell naming - Add DEFAULT_PERMISSIONS array for worktree settings.local.json Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…Linear - Arca remote: SSH-based worktree creation, PTY spawning, shell terminals - Auto-resume: sessions automatically resume on server restart with stagger - Status detection: use PermissionRequest hook for permission dialogs, PostToolUseFailure for failed tools, split Notification matchers, handle AskUserQuestion/ExitPlanMode server-side, fix SubagentStop - Remove all Linear integration code, extract worktreeConfig.ts - Add sparse checkout and remote fields to worktree repos - Replace 'llm agent claude' with 'isaac' command everywhere - Resume button kills stale PTY before restarting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New alternative to canvas view: a focused list layout with a left task panel (grouped by section) and right terminal panel. Includes drag-to- reorder, right-click context menu (rename, due date, move, delete), collapsible sections with add/rename/delete, and compact detail footer. Toggle between Canvas and List modes in Settings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Status is now a prominent right-aligned pill with larger text, colored background, and dot indicator. Removed the separate session color dot that was cluttering the row. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e permissions - SSH keepalive (ServerAliveInterval=15, ServerAliveCountMax=3) on all SSH spawn sites - Auto-reconnect for remote sessions on PTY exit (3s delay, calls resumeSession) - Fix TaskDetailPanel error banner to show Resume/New Session for error status - Replace DEFAULT_PERMISSIONS with union of all ~/personal_repos permissions - Deduplicated and grouped: shell, files, system, python, JS/TS, git, MCP tools Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remote sessions never capture claudeSessionId (no plugin injection) - resumeSession() was falling back to plain "isaac" (fresh start) - Now uses "isaac --resume" for remote to resume most recent conversation - Also fixes categoryId/sortOrder/dueDate not restored on server restart Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… error surfacing - Cap SSH auto-reconnect at 3 attempts to prevent infinite loop - Wait for shell prompt before writing commands instead of blind 1.5s timer - Surface SSH disconnect errors in UI banner with attempt counter - Reset reconnect counter on manual retry and successful connection - Add "Run on" selector (Local/Arca) to NewSessionModal for non-worktree sessions - Add "Pinned" section above TODO in list view with merge logic for existing localStorage - Make delete optimistic and fix PTY cleanup ordering to prevent status flicker - Add reconnect button always visible in task detail header - Add MLflow Website to worktree config - Skip auto-resume for TODO and On Hold categories Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- New InvestigationModal with repo selector, URL auto-detection (PD/JIRA/Slack), worktree toggle, and custom plugin dir (Universe only) - Server accepts initialPrompt, writes to PTY after plugin reports waiting_input - List view splits sections into Sprint/Oncall groups with gradient dividers - Add experimental to Universe sparse checkout paths for plugin availability Co-authored-by: Isaac
… and misc improvements - Add reverse tunnel (-R 46968) so plugin status updates route from Arca back to local server - Sync openui plugin to remote via rsync and inject --plugin-dir for remote sessions - Export OPENUI_SESSION_ID and OPENUI_PORT through SSH for plugin hook communication - Support multiple --plugin-dir flags (openui status plugin + user's ai-ops plugin) - Save Claude session ID to filesystem for reliable remote resume - Add requestAnimationFrame-based write batching in Terminal/ShellTerminal to prevent freezing - Default UI mode to list view - Simplify README Co-authored-by: Isaac
Update README.md
cmd + backspace to delete entire line
Maintain terminal state after switching between agent cards
…toggle, and per-host recent dirs Co-authored-by: Isaac
…broadcast - Replace 3 header action buttons with single "+" dropdown menu - Add orchestrator panel with terminal, session validation for stale sessions - Add openui-ctl CLI for creating/managing agents programmatically - Broadcast session-created events via WebSocket so new agents appear in list view - Server-side team directory creation (~/teams/<name>/) for --team flag - Fix scheduleInitialPrompt to only fire on plugin-reported waiting_input - Add orchestrator skill with clear guidelines (no default --remote, auto permissions) Co-authored-by: Isaac
Hardcoded paths (/Users/samraj.moorjani, /home/samraj.moorjani) are replaced with per-user config read from .openui/config.json (already gitignored). New settings: defaultCwd, defaultRemoteCwd, remoteHosts, worktreeRepos. The client fetches defaults from /api/settings on modal open. The server resolves ~ in cwd paths before spawning PTY processes. Co-authored-by: Isaac
…ings Move user-specific paths into .openui/config.json settings
… and more Ports 20+ universe commits into local fork while preserving all custom features (orchestrator, CLI, investigations, list view, remote SSH, worktrees). Key additions from universe: - Light/dark theme toggle with CSS custom properties - Canvas/tab system for organizing agents - Terminal: WebGL rendering, image paste/drop, Unicode 11, caching - Directory autocomplete in new session modal - Terminal font family/size/weight settings - Session forking, archiving, and delete confirmation - Conversation search modal - Auto-resume with session start queue - Cost tracking and usage display - Colorblind assist mode - Website node type for canvas - Output batching (16ms) to eliminate TUI flashing - Model detection from PTY output Bug fixes from universe: - PTY race on resume - WebGL context exhaustion - Session resume with drifted worktree paths - State migration to ~/.openui/ for centralized storage Local fixes during merge: - Fixed saveState to persist categoryId/sortOrder/dueDate/remote - Fixed session loading to pass categoryId to client store - Added missing exports (findGitCwd, createShellSession, etc.) - Removed OnboardingTour and WhatsNewV2Modal - Hidden canvas tabs in list view mode Co-authored-by: Isaac
…rders New "Focus" UI mode shows selected sessions as equal-width terminal panels with status-based border colors (green glow for waiting_input, orange for idle, red for error). Includes session picker with search, drag-and-drop reordering, per-panel context notes, refresh button, and Ctrl+` cycling. Co-authored-by: Isaac
Kept universe-sync versions for NewSessionModal (resume, worktree, conflict warning) and api.ts (full imports). Removed main-only config defaults (defaultCwd, recentDirs, team mode) that don't exist in universe-sync. Co-authored-by: Isaac
Sync with universe: themes, canvas, terminal improvements
…context menu - Wire up DeleteConfirmDialog in TaskItem so list view deletions show the same confirmation (with branch cleanup options) as canvas/sidebar - Add "New Agent" option to section right-click context menu, allowing direct agent creation into a specific section - Pass targetCategoryId through store and NewSessionModal to auto-assign newly created agents to the chosen section Co-authored-by: Isaac
Add delete confirmation to list view and new-agent-in-section context menu
…ion modal Saves the last-used cwd, agent, and CLI mode to localStorage so they are pre-filled when creating the next agent session. Co-authored-by: Isaac
Persist working directory, agent, and CLI mode in new session modal
When a session was created without a worktree, `originalCwd` was left undefined because `mainRepoPath` was only set when a worktree was detected. Later, when Isaac moved into a worktree and the status-update hook updated `session.cwd`, the persistence fallback `session.originalCwd || session.cwd` would save the drifted worktree path as `originalCwd`. On next server restart, the session would load with the worktree path as its cwd, causing it to fail to find the Claude session in the correct project directory. Fix: always set `mainRepoPath` to `workingDir` when no worktree is detected, so `originalCwd` is always explicitly populated at creation time. Also include `originalCwd` in the GET /api/sessions response so the frontend can display the correct base repo path. Co-authored-by: Isaac
Previously the restart endpoint returned a 400 error if the session already had a PTY. Now it kills the existing PTY first so the session can be cleanly restarted. Co-authored-by: Isaac
Fix originalCwd for non-worktree sessions and allow restarting running sessions
Programs running inside the terminal (e.g. Claude Code) use mouse reporting mode, which means xterm.js forwards mouse events to the program instead of creating its own text selection. When the user selects text, the program copies it via OSC 52 terminal escape sequences, but xterm.js doesn't handle these by default — so the clipboard is never set. Adding @xterm/addon-clipboard to all terminal instances enables OSC 52 support, allowing copy to work when text is selected in the terminal. Co-authored-by: Isaac
Add ClipboardAddon for OSC 52 clipboard support
loadListSections() was re-adding any default section missing from localStorage, unable to distinguish user deletions from genuinely new defaults. Track explicitly removed default section IDs in a separate localStorage key so they aren't merged back on load. Co-authored-by: Isaac
Fix deleted default sections reappearing on restart
Store default agent, CLI mode, working directory, and command args server-side in settings-v2 (~/.openui/config.json) so every new agent launches with the same parameters regardless of browser state. - Add "New Agent Defaults" section to Settings modal with agent selector, CLI mode toggle, directory autocomplete, and command args input - Refactor NewSessionModal init to load defaults from settings-v2 with fallback chain: server defaults → localStorage → built-in defaults - Add "Save as defaults" button in New Agent modal footer - Fix pre-existing bug: Settings save used PUT but /api/settings only supports POST Co-authored-by: Isaac
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
settings-v2with fallback to localStorage for backwards compatibility/api/settingsonly supports POSTTest plan
~/.openui/config.jsonThis pull request was AI-assisted by Isaac.