Skip to content

Conversation

@Indosaram
Copy link

What does this PR do?

This PR provides comprehensive mobile UX and layout improvements for the web application. Key enhancements include:

  • Touch-friendly Sidebar Scrolling: Implemented touch event handlers to distinguish between tap and drag gestures in the session list. Vertical movement exceeding 10px now correctly identifies a scroll action and prevents accidental navigation.
  • Mobile Layout Optimizations: Adjusted padding, button gaps, and icon sizes (specifically fixing the submit button to 16x16px) for mobile viewports to maximize usable space.
  • Reliability & Connectivity: Added a visibility change listener to automatically reconnect the event stream and refresh project data when the app resumes from the background. Improved the scroll-to-bottom retry logic to be more resilient on mobile devices.
  • Viewport & CSS Fixes: Added viewport-fit=cover and safe-area CSS support for notched devices. Disabled user-scaling and fixed overscroll behaviors to provide a more native app-like experience.
  • Feature Additions: Added a mobileSendOnEnter setting to allow users to configure keyboard behavior on mobile devices.

How did you verify your code works?

Manual Verification. Verified all layout adjustments and the sidebar auto-close behavior using the Vite development server.

Indosaram and others added 4 commits January 12, 2026 16:23
- Fix prompt dock height calculation by using offsetHeight instead of contentRect.height
  to include padding (pt-12, pb-4/pb-8) in the measurement
- Add initial promptHeight estimate (160px) to prevent layout jumps before ResizeObserver fires
- Simplify content padding calculations by removing redundant +32px/+64px offsets
- Add onClick handler to mobile sidebar session links to auto-close drawer after navigation
- Add overflow-x-hidden to prevent horizontal scroll issues
- Add scroll retry logic to handle cases where content isn't ready on initial scroll
…fixes

- Add touch event handlers to distinguish tap vs scroll in sidebar session list
- Fix input field and toolbar padding for mobile viewports
- Fix submit button icon size (16x16px with size=small)
- Improve scroll-to-bottom retry logic with more attempts
- Add viewport-fit=cover and disable user scaling for mobile
- Add CSS fixes for mobile overflow and safe area insets
- Add visibility change handler to reconnect event stream when app resumes
- Auto-open recently active projects on visibility change
- Add mobileSendOnEnter setting for mobile keyboard handling
@github-actions
Copy link
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions
Copy link
Contributor

The following comment was made by an LLM, it may be inaccurate:

Based on my search, I found one potentially related PR:

Potential Related PR:

This PR appears related because it also addresses sidebar and responsive design improvements for smaller screens/mobile viewports. It may overlap with the sidebar scrolling and mobile layout optimizations in PR #7989.

However, these seem to be addressing different aspects - PR #7988 focuses on accessibility and zoom, while PR #7989 is more comprehensive with touch gesture handling, viewport/CSS fixes, and connectivity improvements. You may want to review PR #7988 to ensure there's no duplicated work.

@Indosaram
Copy link
Author

This fixes #7990.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant