-
Notifications
You must be signed in to change notification settings - Fork 8k
Fix: Set page title to 'OpenHands Cloud' in SaaS mode #11930
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
neubig
wants to merge
9
commits into
main
Choose a base branch
from
openhands/fix-saas-page-title
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 task
Contributor
enyst
reviewed
Dec 7, 2025
frontend/__tests__/hooks/use-document-title-from-state.test.tsx
Outdated
Show resolved
Hide resolved
2530fc1 to
cbd13a7
Compare
|
Looks like there are a few issues preventing this PR from being merged!
If you'd like me to help, just leave a comment, like Feel free to include any additional details that might help me get this PR into a better state. You can manage your notification settings |
f65ccdd to
1ef8ce9
Compare
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
- 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
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 <[email protected]>
Co-authored-by: openhands <[email protected]>
Co-authored-by: openhands <[email protected]>
1ef8ce9 to
9b0fcc9
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of PR
This PR fixes issue #11929 by implementing dynamic page title based on the APP_MODE configuration. When running in SaaS mode (on app.all-hands.dev), the page title will now display as "OpenHands Cloud" instead of just "OpenHands", making it easier to distinguish from the OSS version in search results and browser tabs.
Implementation Details:
Created
useAppTitlehook: A new React hook that returns the appropriate app title based on theAPP_MODEconfiguration:APP_MODE === "saas"Updated
useDocumentTitleFromStatehook: Modified to use the dynamic app title fromuseAppTitleas the default suffix, while still allowing custom suffixes to be passed as parameters.Updated
root-layout.tsx: Added auseEffecthook to set the document title for non-conversation pages (like settings pages) using the dynamic app title.Added comprehensive tests:
useAppTitlehook covering all scenarios (SaaS mode, OSS mode, undefined config, null config)useDocumentTitleFromStatehook covering the new SaaS mode behavior and suffix overrideExample Behavior:
OSS Mode:
SaaS Mode:
Change Type
Checklist
Fixes
Resolves #11929
Release Notes
When running OpenHands Cloud (SaaS mode), the browser page title now displays as "OpenHands Cloud" instead of just "OpenHands", making it easier to distinguish from the open-source version in search results and browser tabs.
@neubig can click here to continue refining the PR
To run this PR locally, use the following command:
GUI with Docker: