Skip to content

feat(linux): terminal clipboard, browser boot fix, memory panel, file diff#20

Merged
iptoux merged 8 commits into
mainfrom
windows_and
May 27, 2026
Merged

feat(linux): terminal clipboard, browser boot fix, memory panel, file diff#20
iptoux merged 8 commits into
mainfrom
windows_and

Conversation

@iptoux
Copy link
Copy Markdown
Contributor

@iptoux iptoux commented May 27, 2026

Summary

  • Terminal context menu + native clipboard (Linux): right-click menu (Copy / Paste / Select all), Shift+right-click paste, Ctrl+Shift+C/V shortcuts; clipboard via arboard Tauri IPC instead of broken WebKitGTK navigator.clipboard
  • Linux browser boot-crash fix: sticky lazy mount for BrowserTabDock + iframe visibility gating (about:blank when Browser tab inactive) — prevents WebKitGTK crash at workbench start
  • Memory panel: agent memory pointers install/uninstall dialog, bootstrap onboarding cards, layout refresh, selection clearing, workspace/global search filters
  • Memory backend split: monolithic memory.rsmemory/{store,graph,paths,types,frontmatter,wikilinks}.rs
  • File Diff sidebar: staged/unstaged groups, center diff viewer, git status watcher + auto-refresh for commit graph
  • Agent timeline: tool rows show affected file paths; TurnUsageKind::ToolExec metrics per tool
  • Misc: right-panel settings shortcut, policy doc preview types (AGENTS/CLAUDE/CODEX/GEMINI/…), terminal scrollback 5000, browser main-thread navigation, PTY cwd null-byte trim

Fixes

  • Terminal copy/paste silently failing on Linux (WebKitGTK clipboard)
  • Linux workbench boot crash when Browser tab never opened (iframe at startup)
  • PTY spawn with null-padded cwd
  • Browser navigate with empty URL
  • Git commit graph git log -c log.graphWidth=14 argv split
  • CI: removed repo-level sccache wrapper (opt-in via ~/.cargo/config.toml)

Test plan

  • cargo check -p blxcode
  • cargo check -p blxcode-ui --target wasm32-unknown-unknown
  • cargo tauri dev on Linux — boot without Browser tab; open Browser tab and navigate
  • Terminal: drag-select text, right-click Copy/Paste menu, Shift+right-click paste, Ctrl+Shift+C/V
  • Memory panel: bootstrap cards, pointer install dialog, note selection clear on tree click
  • File Diff: staged/unstaged groups, stage/unstage, open diff tab; graph refreshes on git status
  • Agent chat: tool rows show file paths after tool calls

Maik Roland Damm added 3 commits May 26, 2026 22:20
- Updated terminal selection background color for improved visibility.
- Added right-click context menu functionality in terminal for copy/paste actions.
- Increased terminal scrollback buffer to 5000 lines.
- Refactored browser navigation commands to run on the main thread for better performance.
- Improved error handling for empty URLs in browser tabs.
- Enhanced PTY manager to handle null-terminated strings in working directory paths.
- Added support for file paths in tool activity metrics for better tracking.
- Introduced a new sidebar graph height constant for layout adjustments.
- Improved sidebar resizer logic to account for dynamic height adjustments.
- Added a settings button in the right panel for easier access to application settings.
- Updated CSS for better styling of tool paths and scrollbar visibility.
- Rearranged module imports in `mod.rs` for better organization.
- Consolidated and simplified function signatures in `plans_panel/mod.rs`.
- Removed unnecessary whitespace in `right_panel.rs` and `sidebar_resizer/mod.rs`.
- Improved readability by adjusting formatting in `skills_rules_panel/install_dialog.rs`.
- Enhanced clarity in `state.rs` by restructuring enum definitions.
- Streamlined terminal cell imports in `terminal_cell.rs`.
- Optimized theme service function in `theme_service.rs`.
- Adjusted function signatures for consistency in `voice_app_controls/mod.rs`.
- Cleaned up layout logic in `workspace_panel.rs`.
- Refined workspace settings pane structure in `workspace_settings_pane/mod.rs`.
- Added new styles for memory files section in `styles.css`.
…functionality

- Introduced PointerAgent struct to manage external agent pointers.
- Added memory status and pointer status signals to MemoryState.
- Implemented loading of pointer status and global README preview.
- Created MemoryBootstrapView and MemoryBootstrapCard components for workspace and global memory setup.
- Added MemoryPointersDialog and MemoryPointersNotice components for managing agent pointers.
- Enhanced CSS styles for new components and improved UI interactions.
- Refactored MemoryPanel to handle pointer actions and bootstrap prompts.
@iptoux iptoux self-assigned this May 27, 2026
@iptoux iptoux added enhancement New feature or request review Ticket/Steps need to be review/tested wip Work in progress labels May 27, 2026
Maik Roland Damm and others added 5 commits May 27, 2026 02:16
…/config.toml instead

sccache is not available on CI runners; the rustc-wrapper must only be
set on developer machines via ~/.cargo/config.toml (not checked in).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… for BrowserTabDock

- Added a new plan document for fixing the Linux-only boot crash related to BrowserTabDock.
- Introduced sticky lazy mount for the BrowserTabDock, ensuring it only mounts when the browser tab is active.
- Implemented visibility gating for iframe loads to prevent crashes in WebKitGTK.
- Updated PLANS.md to include the new Linux boot crash fix plan.
- Enhanced CSS styles for .blx-sr-card to improve hover effects and background handling.
…nhance UI spacing

- Implemented a new function to clear memory selection in the memory panel.
- Added click event handlers to clear selection when clicking on the memory files tree or spacer.
- Introduced a CSS class for the tree spacer to improve layout and user interaction.
…oard integration

- Added a right-click context menu for terminal interactions, allowing users to copy, paste, and select all text.
- Integrated clipboard functionality for reading and writing text, enhancing user experience with terminal selections.
- Updated CSS styles for the context menu to improve visibility and usability.
- Added internationalization support for new menu items and toast notifications related to clipboard actions.
- Refactored terminal glue functions to handle selection and clipboard operations more effectively.
Co-authored-by: Cursor <cursoragent@cursor.com>
@iptoux iptoux changed the title feat: memory module refactor, terminal/browser improvements, build speedups feat(linux): terminal clipboard, browser boot fix, memory panel, file diff May 27, 2026
@iptoux iptoux merged commit 40ebd96 into main May 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request review Ticket/Steps need to be review/tested wip Work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant