* 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> |
||
|---|---|---|
| .. | ||
| e2e | ||
| screenshots | ||
| src | ||
| next-env.d.ts | ||
| next.config.js | ||
| package.json | ||
| postcss.config.mjs | ||
| tsconfig.json | ||
| vitest.config.ts | ||