1723 Commits

Author SHA1 Message Date
openhands
0d9293fb6b Merge main into openhands/fix-saas-page-title to resolve conflicts
Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-19 21:08:17 +00:00
sp.wack
0246b1bc43
hotfix(frontend): update websocket handler test mocks to use correct event count endpoint (#12104) 2025-12-19 17:00:59 +00:00
aditya-gaharawar
f870246c3d
feat: improve accessibility of served tab buttons (#12103)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-12-19 16:48:34 +00:00
Hiep Le
58340b3ef9
refactor(frontend): consolidate state stores into stores directory (#12100) 2025-12-19 21:12:38 +07:00
dependabot[bot]
107d555445
chore(deps): bump the version-all group in /frontend with 7 updates (#12082)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-19 16:07:49 +04:00
Xingyao Wang
d063ee599b
chore: set default model to claude-opus-4-5-20251101 (#12093)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-19 02:50:49 +00:00
openhands
a526d2e03d Merge main into openhands/fix-saas-page-title to resolve conflicts
Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-18 21:34:28 +00:00
Xingyao Wang
aff9d69d41
feat(frontend): add prefer-optional-chain ESLint rule and apply fixes (#12073)
Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-18 22:42:52 +08: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
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
Tim O'Farrell
dc14624480
Fix for frontend stall (#12069) 2025-12-17 03:35:46 +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
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
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
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
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
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
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
HeyItsChloe
853547be82
fix(frontend): fix highlighted in terminal is missing background color (#11981)
Co-authored-by: Chloe <chloe@openhands.com>
2025-12-10 20:26:02 +04:00
Hiep Le
272a37d1b8
refactor(frontend): remove certain security analyzer options for v1 conversations (#11988) 2025-12-10 21:50:30 +07:00
sp.wack
92c91471b2
Add GitHub Actions workflow for frontend E2E tests with Playwright (#11990) 2025-12-10 14:43:34 +00:00
dependabot[bot]
7875df4be8
chore(deps): bump the version-all group in /frontend with 2 updates (#11973)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 12:39:30 +00:00
sp.wack
e18168020a
fix(frontend): skip flaky WebSocket broadcast tests (#11972) 2025-12-09 14:57:26 +00:00
Alona
9b57a0b14f
Remove error icon from ExpandableMessage component (#11964) 2025-12-09 02:50:03 +07:00
Alona
8559efa7b2
Remove loud red x icon on agent commands (#11962) 2025-12-09 01:28:13 +07:00
openhands
9b0fcc9e9e Add whitespace to trigger CI
Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-08 16:44:35 +00:00
openhands
d0d8224daa Fix flaky websocket test - add proper waitFor for onMessage spy
The test 'should call onMessage handler when WebSocket receives a message'
was failing intermittently in CI due to a race condition. The broadcast would
sometimes happen before the first onMessageSpy check completed, causing the
test to expect 'Hello from server!' but receive 'Welcome to the WebSocket!'.

This fix ensures the onMessageSpy has been called once before broadcasting
the second message, and wraps the final assertion in waitFor as well.

Co-authored-by: openhands <openhands@all-hands.dev>
2025-12-08 16:44:35 +00:00
Engel Nyst
3533cc5604 Update frontend/__tests__/hooks/use-document-title-from-state.test.tsx 2025-12-08 16:44:19 +00:00
openhands
59683cc6e7 Refactor tests to be more concise using it.each
- Reduced use-app-title.test.tsx from 4 separate tests to 1 parameterized test + 1 edge case test
- Combined 2 similar tests in use-document-title-from-state.test.tsx into 1 parameterized test
- Improved test readability and maintainability while keeping same coverage
2025-12-08 16:44:19 +00:00
openhands
0aeb8cdcf1 Fix: Set page title to 'OpenHands Cloud' in SaaS mode
This commit fixes issue #11929 by implementing dynamic page title
based on the APP_MODE configuration.

Changes:
- Created useAppTitle hook that returns 'OpenHands Cloud' for SaaS
  mode and 'OpenHands' for OSS mode
- Updated useDocumentTitleFromState hook to use the dynamic app title
- Added useEffect in root-layout to set document title for non-conversation pages
- Added comprehensive tests for both hooks

The page title will now display as 'OpenHands Cloud' when running
on app.all-hands.dev (SaaS mode), making it easier to distinguish
from the OSS version in search results and browser tabs.

Fixes #11929
2025-12-08 16:44:19 +00:00
Hiep Le
bf06b7e3f3
fix(frontend): hide api key input field in advanced settings when provider is openhands (#11949) 2025-12-08 23:03:59 +07:00
Hiep Le
959d610d86
fix(frontend): set v1_enable correctly when saving mcp settings (#11948) 2025-12-08 23:03:26 +07:00