Skip to content

Conversation

@ulivz
Copy link
Member

@ulivz ulivz commented Dec 8, 2025

Summary

Add behavior and autoActive options to WorkspaceNavItem interface

  • Implement embed-frame rendering with iframe in workspace
  • Add state management for active embed frames per session
  • Support auto-activation of embed frames on load
  • Handle embed frame dismissal when tool content is shown
  • Update navbar to show active state and handle toggle behavior

Checklist

  • Added or updated necessary tests (Optional).
  • Updated documentation to align with changes (Optional).
  • Verified no breaking changes, or prepared solutions for any occurring breaking changes (Optional).
  • My change does not involve the above items.

- Add behavior and autoActive options to WorkspaceNavItem interface
- Implement embed-frame rendering with iframe in workspace
- Add state management for active embed frames per session
- Support auto-activation of embed frames on load
- Handle embed frame dismissal when tool content is shown
- Update navbar to show active state and handle toggle behavior
@netlify
Copy link

netlify bot commented Dec 8, 2025

Deploy Preview for tarko failed.

Name Link
🔨 Latest commit 8a9f2e2
🔍 Latest deploy log https://app.netlify.com/projects/tarko/deploys/6938009395676a00080cf706

@ulivz ulivz changed the title feat(workspace): add embed-frame support for navItems feat(agent-ui): add embed-frame support for nav items Dec 8, 2025
ulivz added 9 commits December 9, 2025 02:15
- Add proper conditions to prevent unnecessary embed frame clearing
- Only clear embed frame for real tool call results, not loading states
- Improve auto-activation logic to avoid repeated triggers
- Ensure embed frame state stability during tool call processing
- Create unified WorkspaceDisplayState with explicit modes (idle, embed-frame, tool-content)
- Replace separate embed frame and panel content atoms with single workspace state
- Add convenience action atoms (showEmbedFrame, hideEmbedFrame, showToolContent)
- Simplify WorkspacePanel rendering with switch-based content display
- Update Navbar and ToolHandler to use new state management
- Eliminate state conflicts and flickering issues through unified state model
- Add hasAutoActivated flag to track auto-activation state
- Prevent re-activation when user manually hides embed frame
- Reset flag when session changes
- Ensure user intent takes precedence over auto-activation
…tuck

- Separate src change handling from event listener setup
- Set up event listeners only once on mount
- Reset loading state when src changes
- Prevent race conditions between listener cleanup and setup
- Remove complex loading state management and event listeners
- Let browser handle iframe loading naturally
- Reduce bundle size by removing unnecessary complexity
- Keep only essential error handling for missing URLs
- Use fixed dimensions instead of responsive scaling
- Prevent contain/cover scaling behavior
- Maintain consistent iframe size across different screens
- Center iframe in container with flex layout
- Use maxWidth/maxHeight for responsive scaling
- Apply contain-style scaling to fit within container
- Maintain aspect ratio while ensuring full visibility
@ulivz ulivz force-pushed the feat/workspace-embed-frame branch from ff82f5e to f99348a Compare December 8, 2025 18:37
ulivz added 5 commits December 9, 2025 02:38
- Remove fixed width/height constraints
- Let iframe fill container completely
- Simplify to basic responsive behavior
- Reduce iframe dimensions to prevent VNC content overflow
- Use more compact size that fits typical screen layouts
- Maintain aspect ratio while reducing footprint
- Calculate iframe dimensions from container size
- Use 80% of container space with 1280x958 max limit
- Maintain 4:3 aspect ratio to prevent distortion
- Handle window resize events responsively
- Remove 80% limitation for maximum utilization
- Use full container width and height
- Maintain aspect ratio and size caps
- Change layout to align iframe at top instead of center
- Add Open button in top-right corner to open in new tab
- Add fullscreen mode with Close button
- Improve UI with proper button styling and icons
@ulivz ulivz force-pushed the feat/workspace-embed-frame branch from 05ab1d4 to 8fbe0ff Compare December 8, 2025 18:58
ulivz added 4 commits December 9, 2025 18:40
- Add check in ToolHandler to respect active embed-frame state
- Update Message components to use new unified state management
- Ensure embed-frame stays active until manually dismissed
- Allow tool blocks to override embed-frame when clicked
- add ResizeObserver for container width change detection
- align frame to top center for better positioning
- move open-in-new-tab button to title area
- redesign EmbedFrameView header with gradient and modern styling
- add elegant title with animated pulse indicator
- improve open-in-new-tab button with hover effects
- implement HDR-style active state for navbar items
- add gradient overlays, shadows, and animations to active buttons
- enhance mobile menu active states with visual indicators
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants