Agentic orchestrator for parallel coding agents — plans tasks, spawns agents, and autonomously handles CI fixes, merge conflicts, and code reviews.
Go to file
prateek 2a3723be48
fix: prevent "Leave Site?" dialog on session pages (#47)
* fix: proxy ttyd through Next.js to fix "Leave Site?" dialog

Changes:
- Add Next.js rewrite to proxy /terminal-proxy/* to ttyd server
- Simplify Terminal component to use same-origin proxy URL
- Remove cross-origin fetch and error handling (no longer needed)

Why:
- Fixes "Leave Site?" confirmation dialog when navigating away from session pages
- Makes ttyd iframe same-origin with Next.js app (eliminates cross-origin restrictions)
- Simplifies architecture (no cross-origin complexity)

Note: This does NOT fix clipboard copying - that's a separate ttyd/xterm.js
limitation where clipboard operations don't work even on the raw ttyd page.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* docs: add development workflow section to CLAUDE.md

Explains:
- Build packages before running dev server (web depends on built core/plugins)
- Config file requirement (agent-orchestrator.yaml)
- Worktree-specific setup steps

This prevents the "Module not found: @composio/ao-core" error when starting
the dev server without building packages first.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix: add sandbox attribute to terminal iframe to prevent "Leave Site?" dialog

Added sandbox="allow-scripts allow-same-origin allow-forms" to the terminal
iframe. This prevents the iframe's beforeunload handler from triggering a
"Leave Site?" confirmation dialog when navigating away from session pages.

The sandbox attribute restricts the iframe's ability to block navigation
while still allowing:
- Scripts (for xterm.js and WebSocket)
- Same-origin access (for terminal functionality)
- Forms (for terminal input)

Note: Clipboard copying behavior is inconsistent across sessions (works on
some but not others). This appears to be a ttyd/xterm.js limitation and is
tracked separately.

Fixes the "Leave Site?" popup reported in the issue.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* chore: remove unused proxy rewrite from next.config.js

The proxy approach was attempted but reverted in favor of the simpler
sandbox attribute solution.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix: add allow-popups to sandbox for clipboard support

Some clipboard operations in browsers use popups internally. Adding
allow-popups to the sandbox attribute may help with clipboard copying.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* chore: minor formatting cleanup in SessionDetail.tsx

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-15 19:39:53 +05:30
.changeset feat: publish to npm under @composio scope (#32) 2026-02-15 04:28:57 +05:30
.cursor feat: publish to npm under @composio scope (#32) 2026-02-15 04:28:57 +05:30
.github/workflows feat: publish to npm under @composio scope (#32) 2026-02-15 04:28:57 +05:30
artifacts feat: publish to npm under @composio scope (#32) 2026-02-15 04:28:57 +05:30
packages fix: prevent "Leave Site?" dialog on session pages (#47) 2026-02-15 19:39:53 +05:30
scripts feat: add agent-orchestrator (ao) as a self-hosting project 2026-02-13 15:44:17 +05:30
.gitignore Wire xterm.js terminal embed into web dashboard (#29) 2026-02-15 01:37:07 +05:30
.npmrc feat: publish to npm under @composio scope (#32) 2026-02-15 04:28:57 +05:30
.prettierignore chore: add ESLint, Prettier, CI workflow, and comprehensive CLAUDE.md conventions 2026-02-13 18:01:52 +05:30
.prettierrc chore: add ESLint, Prettier, CI workflow, and comprehensive CLAUDE.md conventions 2026-02-13 18:01:52 +05:30
CLAUDE.md fix: prevent "Leave Site?" dialog on session pages (#47) 2026-02-15 19:39:53 +05:30
CLAUDE.orchestrator.md fix: address all review comments, lint/format, bugbot issues 2026-02-13 18:42:45 +05:30
DASHBOARD_FIXES_SUMMARY.md fix: resolve dashboard GitHub API rate limiting and PR enrichment (#37) 2026-02-15 04:14:54 +05:30
LICENSE feat: publish to npm under @composio scope (#32) 2026-02-15 04:28:57 +05:30
agent-orchestrator.yaml Wire xterm.js terminal embed into web dashboard (#29) 2026-02-15 01:37:07 +05:30
agent-orchestrator.yaml.example feat: layered prompt system for agent sessions (#27) 2026-02-14 20:07:13 +05:30
eslint.config.js feat: implement CLI with all commands (init, status, spawn, session, send, review-check, dashboard, open) (#6) 2026-02-14 16:14:27 +05:30
package.json feat: publish to npm under @composio scope (#32) 2026-02-15 04:28:57 +05:30
pnpm-lock.yaml feat: publish to npm under @composio scope (#32) 2026-02-15 04:28:57 +05:30
pnpm-workspace.yaml feat: scaffold TypeScript monorepo with all plugin interfaces 2026-02-13 17:02:42 +05:30
tsconfig.base.json feat: scaffold TypeScript monorepo with all plugin interfaces 2026-02-13 17:02:42 +05:30