## Summary - Closes #29 - Rename user-facing product from AIML Operations chat to **Hesychia** (headers, sidenav brand, footer, ToS welcome, sample page) - Update page metadata (`title`, description, Open Graph, `manifest.json` app name) - Point README / env comments at **hesychia.ai**; keep live API hosts and deploy webroots until infra cutover ## Android display name Capacitor tree is not on `master` yet ([#28](#28)). Display name / `appName` → **Hesychia** pushed on `ship-android-capacitor-20` so it lands with that wrap. Package id stays `com.aimloperations.chat` (Play identity; rename later if desired). ## Out of scope (per issue) - New logo artwork (#30) - Backend system-prompt identity (`chat_backend` #20) ## Test plan - [ ] Web UI shows **Hesychia** in header / sidenav / footer (no old product name) - [ ] Browser tab title and PWA manifest name are Hesychia - [ ] Footer still credits AI ML Operations, LLC as developer - [ ] `npm run test:ci` (Footer test updated) - [ ] After #28 merges: Android launcher / activity title shows HesychiaReviewed-on: #32
This commit was merged in pull request #32.
This commit is contained in:
@@ -1,2 +1,4 @@
|
||||
# Beta API hosts (current). Target public product domain: hesychia.ai
|
||||
# Flip these to hesychia.ai API hosts when server-infra / DNS cut over.
|
||||
REACT_APP_BACKEND_REST_API_BASE_URL=https://beta.chatbackend.aimloperations.com/api/
|
||||
REACT_APP_BACKEND_WS_API_BASE_URL=wss://beta.chatbackend.aimloperations.com/ws/chat_again/
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
# Production API hosts (current). Target public product domain: hesychia.ai
|
||||
# Flip these to hesychia.ai API hosts when server-infra / DNS cut over.
|
||||
REACT_APP_BACKEND_REST_API_BASE_URL=https://chatbackend.aimloperations.com/api/
|
||||
REACT_APP_BACKEND_WS_API_BASE_URL=wss://chatbackend.aimloperations.com/ws/chat_again/
|
||||
REACT_APP_BACKEND_WS_API_BASE_URL=wss://chatbackend.aimloperations.com/ws/chat_again/
|
||||
|
||||
@@ -8,7 +8,11 @@
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="%PUBLIC_URL%/favicon-16x16.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="theme-color" content="#000000" />
|
||||
<meta name="description" content="Chat app by AI ML Operations, LLC" />
|
||||
<meta name="description" content="Hesychia — a calm AI assistant by AI ML Operations, LLC" />
|
||||
<meta name="application-name" content="Hesychia" />
|
||||
<meta property="og:title" content="Hesychia" />
|
||||
<meta property="og:description" content="Hesychia — quiet, focused AI chat at hesychia.ai" />
|
||||
<meta property="og:url" content="https://hesychia.ai" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="%PUBLIC_URL%/apple-touch-icon.png" />
|
||||
<!--
|
||||
manifest.json provides metadata used when your web app is installed on a
|
||||
@@ -24,7 +28,7 @@
|
||||
work correctly both with client-side routing and a non-root public URL.
|
||||
Learn how to configure a non-root public URL by running `npm run build`.
|
||||
-->
|
||||
<title>Chat by AI ML Operations. LCC</title>
|
||||
<title>Hesychia</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"short_name": "Chat by AI ML Operations. LLC",
|
||||
"name": "Chat by AI ML Operations, LLC",
|
||||
"short_name": "Hesychia",
|
||||
"name": "Hesychia",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
|
||||
@@ -115,7 +115,7 @@ const DashboardWrapperLayout = ({ children }: DashboardWrapperLayoutProps): JSX.
|
||||
<Sidenav
|
||||
color={sidenavColor}
|
||||
brand={(transparentSidenav && !darkMode) || whiteSidenav ? brandDark : brandWhite}
|
||||
brandName="Chat by AI ML, Operations, LLC"
|
||||
brandName="Hesychia"
|
||||
routes={[]} // {routes}
|
||||
onMouseEnter={handleOnMouseEnter}
|
||||
onMouseLeave={handleOnMouseLeave}
|
||||
@@ -136,7 +136,7 @@ const DashboardWrapperLayout = ({ children }: DashboardWrapperLayoutProps): JSX.
|
||||
<Sidenav
|
||||
color={sidenavColor}
|
||||
brand={(transparentSidenav && !darkMode) || whiteSidenav ? brandDark : brandWhite}
|
||||
brandName="AI ML, Operations, LLC"
|
||||
brandName="Hesychia"
|
||||
routes={[]} // {routes}
|
||||
onMouseEnter={handleOnMouseEnter}
|
||||
onMouseLeave={handleOnMouseLeave}
|
||||
|
||||
@@ -11,10 +11,10 @@ describe('Footer', () => {
|
||||
it('renders copyright and developer credit', () => {
|
||||
render(<Footer />);
|
||||
|
||||
expect(screen.getByText(/© 2025 Chat/i)).toBeInTheDocument();
|
||||
expect(screen.getByText(/© 2026 Hesychia/i)).toBeInTheDocument();
|
||||
expect(screen.getByRole('link', { name: /AI ML Operations, LLC/i })).toHaveAttribute(
|
||||
'href',
|
||||
'www.aimloperations.com'
|
||||
'https://www.aimloperations.com'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -5,7 +5,7 @@ const Footer = (): JSX.Element => {
|
||||
return (
|
||||
|
||||
<div className='continer-fluid'>
|
||||
<MDTypography>© 2025 Chat | Developed by <a href='www.aimloperations.com'>AI ML Operations, LLC</a></MDTypography>
|
||||
<MDTypography>© 2026 Hesychia | Developed by <a href='https://www.aimloperations.com'>AI ML Operations, LLC</a></MDTypography>
|
||||
</div>
|
||||
|
||||
);
|
||||
|
||||
@@ -67,7 +67,7 @@ const Header = ({drawerWidth=0, handleDrawerToggle}: HeaderProps): JSX.Element =
|
||||
{isLargeScreen ? (
|
||||
<>
|
||||
<Typography variant="h6" style={{ flexGrow: 1 }} className='text-white font-weight-bold'>
|
||||
Chat | AI Ml Operations
|
||||
Hesychia
|
||||
</Typography >
|
||||
<Button color="inherit" onClick={handleDashboardClick}>
|
||||
Dashboard</Button>
|
||||
@@ -81,7 +81,7 @@ const Header = ({drawerWidth=0, handleDrawerToggle}: HeaderProps): JSX.Element =
|
||||
) : (
|
||||
<>
|
||||
<Typography variant="h6" style={{ flexGrow: 1 }} className='text-white font-weight-bold'>
|
||||
Chat
|
||||
Hesychia
|
||||
</Typography >
|
||||
<IconButton color="inherit" onClick={handleDashboardClick}>
|
||||
<Dashboard />
|
||||
|
||||
@@ -150,7 +150,7 @@ const Header2 = ({ absolute = false, light = false, isMini = false }: Header2Pro
|
||||
return (
|
||||
<HeaderContainer>
|
||||
<Logo onClick={() => navigate('/')}>
|
||||
<h4>Chat</h4>
|
||||
<h4>Hesychia</h4>
|
||||
|
||||
</Logo>
|
||||
|
||||
|
||||
@@ -57,8 +57,8 @@ const SamplePage: React.FC = () => {
|
||||
</Container>
|
||||
|
||||
<footer className="footer">
|
||||
<a href="https://aimloperations.com" target="_blank" rel="noopener noreferrer">
|
||||
Visit AIMLOperations.com
|
||||
<a href="https://hesychia.ai" target="_blank" rel="noopener noreferrer">
|
||||
Visit hesychia.ai
|
||||
</a>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
@@ -36,7 +36,7 @@ const TermsOfService = (): JSX.Element => {
|
||||
</CardContent>
|
||||
<Divider />
|
||||
<MDTypography>
|
||||
Welcome to chat.aimloperations.com! We're excited to have you on board. Before you start using our large language model, supplied by AI ML Operations, LLC, we need you to agree to our Terms of Service.
|
||||
Welcome to Hesychia (hesychia.ai)! We're excited to have you on board. Before you start using our large language model, supplied by AI ML Operations, LLC, we need you to agree to our Terms of Service.
|
||||
</MDTypography>
|
||||
<MDTypography variant="h4">
|
||||
1. Acceptance of Terms
|
||||
|
||||
Reference in New Issue
Block a user