Skip to content

Add browser region navigation and interaction controls - #340

Merged
NishiPhalke merged 3 commits into
mainfrom
navigation_interactions
Oct 15, 2026
Merged

NishiPhalke merged 3 commits into
mainfrom
navigation_interactions

Conversation

@NishiPhalke

@NishiPhalke NishiPhalke commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Add Region, Navigate, and Interaction controls above the web browser for the active session. Region entry accepts coordinates; navigation offers left/right pan and zoom in/out with magnitude selectors. Interaction keeps the shared Pan, Zoom, and Highlight text buttons.

BrowserView composes the existing shared controls without changing the BrowserControls components in the UI package. The web app adds its workspace UI dependency and retains BigBed registration so previously saved test tracks can restore.

Tests cover navigation and persisted interaction-mode edits: selecting Pan saves it, then selecting Highlight saves a second updated snapshot. They read coordinates from RegionControls and locate the browser SVG independently of navigation icons. Existing save-status render budgets remain unchanged.

Workspace verification passed with pnpm verify --concurrency=1. React Doctor reports 100/100 with no issues. This PR is independent of session-management PR #336.

Manual verification

  1. Run pnpm dev and open /browser/local.
  2. Enter coordinates through Region, then try left/right pan and zoom in/out.
  3. Hover and select Pan, Zoom, and Highlight; verify the drag behavior.
  4. Wait for Saved, reload, and confirm the region and interaction mode restore.
  5. Check the toolbar wraps at narrow widths.

Addresses #338

@NishiPhalke NishiPhalke added feature New feature or request app The gb app (workspace, server, local and cloud) labels Oct 15, 2026
@NishiPhalke NishiPhalke self-assigned this Oct 15, 2026
@vercel

vercel Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
genomebrowser Ready Ready Preview Oct 15, 2026 2:28pm UTC

Request Review

@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit 4f70540.

Comment thread apps/web/browser/BrowserSession.tsx Outdated
Comment thread apps/web/test/persistence.test.tsx
@JaiiR320

Copy link
Copy Markdown
Member

Thanks Nishi, this is looking close. One question on packages/ui/src/BrowserControls/selectionControls.tsx: what was the reasoning for switching the Pan/Zoom/Highlight toggles to icon-only buttons with one-word tooltips? Since it's the shared genomebrowser-ui component, it changes every app that embeds it, and SelectionControls.md and ControlToolbar.md still describe the text labels and the "Drag to…" tooltips. Could we move that change into its own PR so we can discuss it separately and keep this one focused on #338?

@NishiPhalke

Copy link
Copy Markdown
Collaborator Author

Thanks Nishi, this is looking close. One question on packages/ui/src/BrowserControls/selectionControls.tsx: what was the reasoning for switching the Pan/Zoom/Highlight toggles to icon-only buttons with one-word tooltips? Since it's the shared genomebrowser-ui component, it changes every app that embeds it, and SelectionControls.md and ControlToolbar.md still describe the text labels and the "Drag to…" tooltips. Could we move that change into its own PR so we can discuss it separately and keep this one focused on #338?

It was

Thanks Nishi, this is looking close. One question on packages/ui/src/BrowserControls/selectionControls.tsx: what was the reasoning for switching the Pan/Zoom/Highlight toggles to icon-only buttons with one-word tooltips? Since it's the shared genomebrowser-ui component, it changes every app that embeds it, and SelectionControls.md and ControlToolbar.md still describe the text labels and the "Drag to…" tooltips. Could we move that change into its own PR so we can discuss it separately and keep this one focused on #338?

It was done on Mansi's suggestion. I will revert the change in this PR and keep it Pan/Zoom/Highlight

@NishiPhalke

Copy link
Copy Markdown
Collaborator Author

Thanks Nishi, this is looking close. One question on packages/ui/src/BrowserControls/selectionControls.tsx: what was the reasoning for switching the Pan/Zoom/Highlight toggles to icon-only buttons with one-word tooltips? Since it's the shared genomebrowser-ui component, it changes every app that embeds it, and SelectionControls.md and ControlToolbar.md still describe the text labels and the "Drag to…" tooltips. Could we move that change into its own PR so we can discuss it separately and keep this one focused on #338?

It was

Thanks Nishi, this is looking close. One question on packages/ui/src/BrowserControls/selectionControls.tsx: what was the reasoning for switching the Pan/Zoom/Highlight toggles to icon-only buttons with one-word tooltips? Since it's the shared genomebrowser-ui component, it changes every app that embeds it, and SelectionControls.md and ControlToolbar.md still describe the text labels and the "Drag to…" tooltips. Could we move that change into its own PR so we can discuss it separately and keep this one focused on #338?

It was done on Mansi's suggestion. I will revert the change in this PR and keep it Pan/Zoom/Highlight

done

@JaiiR320 JaiiR320 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for restoring the text buttons. Looks good.

@JaiiR320

Copy link
Copy Markdown
Member

Thanks Nishi, this is looking close. One question on packages/ui/src/BrowserControls/selectionControls.tsx: what was the reasoning for switching the Pan/Zoom/Highlight toggles to icon-only buttons with one-word tooltips? Since it's the shared genomebrowser-ui component, it changes every app that embeds it, and SelectionControls.md and ControlToolbar.md still describe the text labels and the "Drag to…" tooltips. Could we move that change into its own PR so we can discuss it separately and keep this one focused on #338?

It was

Thanks Nishi, this is looking close. One question on packages/ui/src/BrowserControls/selectionControls.tsx: what was the reasoning for switching the Pan/Zoom/Highlight toggles to icon-only buttons with one-word tooltips? Since it's the shared genomebrowser-ui component, it changes every app that embeds it, and SelectionControls.md and ControlToolbar.md still describe the text labels and the "Drag to…" tooltips. Could we move that change into its own PR so we can discuss it separately and keep this one focused on #338?

It was done on Mansi's suggestion. I will revert the change in this PR and keep it Pan/Zoom/Highlight

done

Ah ok, maybe open a pr to add this back, just wanted to keep the blast radius for this change small

@NishiPhalke
NishiPhalke merged commit 3e68198 into main Oct 15, 2026
5 of 6 checks passed
@NishiPhalke
NishiPhalke deleted the navigation_interactions branch October 15, 2026 18:14

This branch was successfully deployed

1 active deployment
Preview — 4f705403 Deployed Oct 15, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app The gb app (workspace, server, local and cloud) feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants