5706 Commits

Author SHA1 Message Date
openhands
71201ac4cd refactor: Simplify useInfiniteScroll hook API
- Remove redundant containerRef (useRef), keep only useState for container
- Rename return value from 'ref' to 'setRef' for clearer API
- Replace waitForTimeout with proper expect().toHaveCount() in E2E tests

Addresses code review feedback on PR #12084
2025-12-22 19:25:43 +00:00
openhands
da4b1e1a88 fix: Prevent duplicate API calls when reopening conversation panel
When the conversation panel was closed and reopened, TanStack Query's
useInfiniteQuery would refetch all cached pages, causing multiple API
calls. This fix adds staleTime of 5 minutes to prevent unnecessary
refetches when the data is still fresh.

This is consistent with other hooks in the codebase that use the same
staleTime value.

Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-18 20:36:55 +00:00
openhands
7bd9a7f8b7 fix: Fix E2E tests for infinite scroll and avatar menu
- Fix avatar-menu test: Remove group-hover:pointer-events-auto from wrapper
  div to prevent menu from intercepting clicks on the avatar button. Only
  enable pointer events when menu is actually open via click.

- Fix infinite-scroll test: Add data-testid='conversation-card' to
  RecentConversation component for test selector consistency.

- Update recent conversations test: Change test to match actual component
  behavior (View More/Less button instead of infinite scroll). The
  RecentConversations component uses a display limit with expand/collapse
  functionality, not infinite scroll for display.

Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-18 18:25:50 +00:00
openhands
22ca3e3fd1 Add Playwright E2E test for infinite scroll and fix flaky avatar-menu test
- Add infinite-scroll.spec.ts with tests for:
  - Loading more conversations when scrolling in conversation panel
  - Loading more conversations when scrolling in recent conversations
- Fix avatar-menu.spec.ts:
  - Changed test to use click-to-open behavior instead of CSS hover
  - CSS hover bridge cannot be reliably tested with Playwright
  - Removed browser-specific skips since click behavior works everywhere

Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-18 17:23:51 +00:00
openhands
02f69f02c0 Add unit tests for useInfiniteScroll hook and Playwright documentation
- Add 5 unit tests for useInfiniteScroll hook covering:
  - Scroll near bottom triggers fetchNextPage
  - Scroll not near bottom doesn't trigger fetch
  - hasNextPage=false doesn't trigger fetch
  - isFetchingNextPage=true doesn't trigger fetch
  - Callback ref properly attaches to container
- Add Playwright E2E testing documentation to repo.md
- Initialize mock settings with defaults to avoid modal popup during testing

Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-18 17:13:35 +00:00
openhands
a2a24a753a feat(frontend): enhance mock conversation handlers for pagination testing
- Generate 50 mock conversations instead of 3 for better pagination testing
- Add pagination support to mock API endpoint
- Include variety of project names, repositories, and statuses

Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-18 16:11:09 +00:00
openhands
d85952fe8e fix: Fix infinite scroll for conversations list
The useInfiniteScroll hook had a bug where the scroll event listener
might not be attached if the ref was assigned after the initial render.
This happened because the useEffect depended on handleScroll, which
didn't change when the ref was assigned via a callback ref.

Changes:
- Modified useInfiniteScroll to use a callback ref and state to track
  when the container is mounted
- The hook now returns { ref, containerRef } instead of just the ref
- Updated ConversationPanel and RecentConversations to use the new API

This ensures that the scroll event listener is properly attached when
the container element is mounted, enabling auto-pagination to work
correctly in the conversations list.

Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-18 14:47:24 +00:00
Hiep Le
afce58a27d
refactor(frontend): move frontend/src/ui/microagent-management-service to frontend/src/api (#12017) 2025-12-18 20:27:38 +07:00
Hiep Le
43f7a6fdbd
fix(frontend): resolve overlap between conversation panel and account context menu (#12079) 2025-12-18 20:17:32 +07:00
Hiep Le
2ce6c9836e
fix: load settings (#12077) 2025-12-18 02:45:32 +00:00
Tim O'Farrell
28dc3be034
Fixed performance bug in remote sandbox service (#12076) 2025-12-18 00:59:57 +00:00
chuckbutkus
2ed5c6073a
Add variable to disable vscode plugin (#11812)
Co-authored-by: John-Mason P. Shackelford <jpshack@gmail.com>
Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-17 11:25:52 -05:00
Hiep Le
9ef11bf930
feat: show available skills for v1 conversations (#12039) 2025-12-17 23:25:10 +07:00
Hiep Le
f98e7fbc49
fix(frontend): observation events and action events (v1 conversations) (#12066)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-17 22:34:28 +07:00
Hiep Le
0607614372
feat(frontend): add refresh button to changes tab (#12036)
Co-authored-by: Tim O'Farrell <tofarr@gmail.com>
2025-12-17 22:29:18 +07:00
dependabot[bot]
2c83e419dc
chore(deps): bump the version-all group across 1 directory with 5 updates (#12071) 2025-12-17 19:16:54 +04:00
Nhan Nguyen
435e537693
fix: Prevent old instructions from being re-executed after conversation condensation (#11982) 2025-12-17 13:05:10 +01:00
Tim O'Farrell
dc14624480
Fix for frontend stall (#12069) 2025-12-17 03:35:46 +00:00
Tim O'Farrell
281ac91540
Bump sdk 1.6.0 (#12067) 2025-12-16 21:53:15 +00:00
Rohit Malhotra
7853b41add
Add OAuth 2.0 Device Flow backend for CLI authentication (#11984)
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Xingyao Wang <xingyao@all-hands.dev>
2025-12-16 11:54:01 -05:00
Tim O'Farrell
2a98c95557
Release OpenHands v1.0.0 (#12052)
Co-authored-by: mamoodi <mamoodiha@gmail.com>
Co-authored-by: Engel Nyst <engel.nyst@gmail.com>
2025-12-16 11:03:29 -05:00
Mariam Saeed
3b7b2fd8cc
fix(frontend): Separate pause state from agent loading (#12041)
Co-authored-by: amanape <83104063+amanape@users.noreply.github.com>
2025-12-16 13:39:15 +00:00
Hiep Le
49740a463f
fix(frontend): clicking think block in conversation pane breaks ui (v1 conversations) (#12057) 2025-12-16 20:14:19 +07:00
dependabot[bot]
ee97542080
chore(deps): bump the version-all group in /frontend with 7 updates (#12050)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-15 23:08:17 +04:00
Tim O'Farrell
9753ad3a48
Removed Legacy Conversation Manager (#12053) 2025-12-15 17:47:21 +00:00
Abhay Mishra
a12170e4c9
refactor(frontend): Extracted useQuery and useMutation from the main branch (#12031)
Co-authored-by: sp.wack <83104063+amanape@users.noreply.github.com>
2025-12-15 16:37:52 +00:00
Xingyao Wang
5c377f303f
Update SWEBench score in README (#12051) 2025-12-15 16:25:31 +00:00
Graham Neubig
089d9c1ee5
Add deprecation warning to evaluation README (#11997)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-16 00:21:13 +08:00
Abhay Mishra
f52d9899e2
Consolidate scattered test files into a unified frontend/__tests__/ directory (#12002) 2025-12-15 19:58:09 +04:00
Neha Prasad
47914c3576
chore: remove pnpm settings from npmrc (#12028) 2025-12-15 12:05:42 +07:00
Hiep Le
67c9b6cf86
refactor(frontend): websocket error message (v1 conversations) (#12045) 2025-12-15 01:31:12 +07:00
Hiep Le
b937d344db
fix(backend): initial titles show full uuids instead of shortened uuids (v1 conversations) (#12020) 2025-12-15 00:39:32 +07:00
Hiep Le
f2def8fd7f
fix(backend): organizational skills do not trigger (v1 conversations) (#12037) 2025-12-14 23:31:07 +07:00
Hiep Le
eb9a22ef7e
fix(backend): unable to use custom mcp servers (v1 conversations) (#12038) 2025-12-14 23:30:49 +07:00
Tim O'Farrell
d57880f849
Agent server image from env (#12003)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-13 08:16:41 -07:00
Hiep Le
d772dd65a5
fix(frontend): fix fetching the number of events on the front end (v1 conversations) (#11987) 2025-12-12 22:10:22 +07:00
dependabot[bot]
5daada17fd
chore(deps): bump the version-all group in /frontend with 8 updates (#12022)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 18:54:45 +04:00
Hiep Le
c6a8fc379b
feat: support security analyzer settings for v1 conversations (#12008) 2025-12-12 21:49:15 +07:00
Abhay Mishra
5a21c59a3c
refactor(frontend): Consolidate duplicate Settings type definitions (#12006) 2025-12-12 14:16:31 +00:00
Bharath A V
976d9d1ab9
Refactor(mocks): modularize MSW handlers into domain-specific files (#11974)
Co-authored-by: sp.wack <83104063+amanape@users.noreply.github.com>
2025-12-12 13:21:08 +00:00
Bharath A V
6917d45d3a
refactor(frontend): consolidate settings navigation items logic into shared custom hook (#11950)
Co-authored-by: amanape <83104063+amanape@users.noreply.github.com>
2025-12-12 13:20:59 +00:00
Nhan Nguyen
8a202b945b
fix(frontend): animate loading spinner for in-progress tasks (#12001)
Co-authored-by: amanape <83104063+amanape@users.noreply.github.com>
2025-12-12 13:03:28 +00:00
Hiep Le
60491e30e8
chore: update sdk to latest version (#12013) 2025-12-12 00:08:18 +07:00
dependabot[bot]
62f594bc28
chore(deps): bump the version-all group across 1 directory with 2 updates (#12009)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-11 15:42:57 +00:00
sp.wack
94086f119a
fix(frontend): Fix avatar context menu closing on diagonal mouse movement (#11994) 2025-12-11 19:17:21 +04:00
Neha Prasad
f76016aa4d
chore: remove unused frontend dependencies (#11940)
Co-authored-by: amanape <83104063+amanape@users.noreply.github.com>
2025-12-11 15:15:11 +00:00
Lee Kyeong Joon
b16845fa06
refactor(frontend): Refactor tests to use Zustand's native state setting instead of vi.mock for stores (#11980)
Co-authored-by: amanape <83104063+amanape@users.noreply.github.com>
2025-12-11 14:53:08 +00:00
sp.wack
f4dd5384d0
fix(frontend): Fix empty state showing alongside error in RecentConversations (#11993) 2025-12-11 14:27:49 +00:00
Hiep Le
09e50b876d
fix: app unawareness of custom secrets in v1 conversations (#11914) 2025-12-11 14:19:22 +07:00
Tim O'Farrell
f7c3a36745
feat: remember last selected git provider in homepage dropdown (#11979)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-10 19:22:47 -07:00