diff --git a/apps/mobile/src/components/consent/consent-card.tsx b/apps/mobile/src/components/consent/consent-card.tsx index a9a8cd0bd0..96b90d4c71 100644 --- a/apps/mobile/src/components/consent/consent-card.tsx +++ b/apps/mobile/src/components/consent/consent-card.tsx @@ -132,8 +132,8 @@ export function ConsentCard({ mode = 'onboarding' }: ConsentCardProps) { const handleSecondaryAction = () => { const message = mode === 'review' - ? 'Kilo Code needs this consent to function. Revoking will sign you out. You can accept again on next sign-in.' - : 'Kilo Code needs to share data with AI providers to work. If you decline, you will be signed out.'; + ? 'Kilo needs this consent to function. Revoking will sign you out. You can accept again on next sign-in.' + : 'Kilo needs to share data with AI providers to work. If you decline, you will be signed out.'; Alert.alert(actions.destructiveTitle, message, [ { text: 'Cancel', style: 'cancel' }, @@ -190,13 +190,13 @@ export function ConsentCard({ mode = 'onboarding' }: ConsentCardProps) { - Kilo Code + Kilo Before we get started - Kilo Code sends your messages to AI providers to generate responses. Here's - what's shared and with whom. + Kilo sends your messages to AI providers to generate responses. Here's what's + shared and with whom. Required to use Kilo diff --git a/apps/mobile/src/components/login-screen.tsx b/apps/mobile/src/components/login-screen.tsx index 946f0e2e60..4694add176 100644 --- a/apps/mobile/src/components/login-screen.tsx +++ b/apps/mobile/src/components/login-screen.tsx @@ -187,7 +187,7 @@ export function LoginScreen() { > - Welcome to Kilo Code + Welcome to Kilo {/* Branch fade animations parked mid-flight on remount — e1 measured 2/2 diff --git a/apps/mobile/src/components/login/__tests__/idle-auth.mounted.test.tsx b/apps/mobile/src/components/login/__tests__/idle-auth.mounted.test.tsx index 4c582a5f94..9c003cb9b7 100644 --- a/apps/mobile/src/components/login/__tests__/idle-auth.mounted.test.tsx +++ b/apps/mobile/src/components/login/__tests__/idle-auth.mounted.test.tsx @@ -136,15 +136,15 @@ describe('IdleAuth SSO recovery', () => { }); }); -describe('IdleAuth sign-in-or-create copy', () => { - it('shows the sign-in-or-create heading and a Continue button', async () => { +describe('IdleAuth email continue copy', () => { + it('shows a Continue button with email accessibility', async () => { const start = vi.fn(); const renderer = await mountIdleAuth(start); - expect(texts(renderer.root)).toContain('Sign in or create an account'); expect(texts(renderer.root)).toContain('Continue'); + expect(texts(renderer.root)).not.toContain('Sign in or create an account'); - const btn = findButton(renderer.root, 'Continue with email, sign in or create an account'); + const btn = findButton(renderer.root, 'Continue with email'); expect(btn).toBeTruthy(); act(() => { diff --git a/apps/mobile/src/components/login/idle-auth.tsx b/apps/mobile/src/components/login/idle-auth.tsx index 6a4ca4da8f..d9414e9ba1 100644 --- a/apps/mobile/src/components/login/idle-auth.tsx +++ b/apps/mobile/src/components/login/idle-auth.tsx @@ -210,7 +210,6 @@ export function IdleAuth({ )} - Sign in or create an account void handleSendCode()} - accessibilityLabel="Continue with email, sign in or create an account" + accessibilityLabel="Continue with email" > {busy === 'otp-send' ? : null} Continue diff --git a/apps/mobile/src/lib/auth/use-native-auth.test.ts b/apps/mobile/src/lib/auth/use-native-auth.test.ts index 7bd5d79c2c..84e46a7f42 100644 --- a/apps/mobile/src/lib/auth/use-native-auth.test.ts +++ b/apps/mobile/src/lib/auth/use-native-auth.test.ts @@ -417,7 +417,7 @@ describe('useNativeAuth created-account announcement', () => { await result?.verifyEmailCode('user@example.com', '123456'); }); - expect(announcingToast.success).toHaveBeenCalledWith('Account created. Welcome to Kilo Code.'); + expect(announcingToast.success).toHaveBeenCalledWith('Account created. Welcome to Kilo.'); }); it('stays silent when created is absent', async () => { diff --git a/apps/mobile/src/lib/auth/use-native-auth.ts b/apps/mobile/src/lib/auth/use-native-auth.ts index c4449ef178..4d45806cdc 100644 --- a/apps/mobile/src/lib/auth/use-native-auth.ts +++ b/apps/mobile/src/lib/auth/use-native-auth.ts @@ -139,7 +139,7 @@ export function useNativeAuth(): NativeAuthResult { 'expiresIn' in parsed ? parsed.expiresIn : undefined ); if (parsed.created === true) { - announcingToast.success('Account created. Welcome to Kilo Code.'); + announcingToast.success('Account created. Welcome to Kilo.'); } } else if (result.errorCode === 'SSO_ERROR') { handleSsoError(credential.email ?? '', result.ssoOrganizationId); @@ -206,7 +206,7 @@ export function useNativeAuth(): NativeAuthResult { 'expiresIn' in parsed ? parsed.expiresIn : undefined ); if (parsed.created === true) { - announcingToast.success('Account created. Welcome to Kilo Code.'); + announcingToast.success('Account created. Welcome to Kilo.'); } } else if (result.errorCode === 'SSO_ERROR') { handleSsoError(response.data.user.email, result.ssoOrganizationId); @@ -304,7 +304,7 @@ export function useNativeAuth(): NativeAuthResult { 'expiresIn' in parsed ? parsed.expiresIn : undefined ); if (parsed.created === true) { - announcingToast.success('Account created. Welcome to Kilo Code.'); + announcingToast.success('Account created. Welcome to Kilo.'); } return true; } catch (error) { diff --git a/packages/notifications/src/push-presentation.ts b/packages/notifications/src/push-presentation.ts index c3c1f5aa5e..379ef99139 100644 --- a/packages/notifications/src/push-presentation.ts +++ b/packages/notifications/src/push-presentation.ts @@ -45,17 +45,17 @@ export function androidChannelIdForPushData(data: PushData): AndroidNotification export function genericPushContentForPushData(data: PushData): { title: string; body: string } { switch (data.type) { case 'cloud_agent_session': - return { title: 'Kilo Code', body: 'Your agent session has an update' }; + return { title: 'Kilo', body: 'Your agent session has an update' }; case 'chat.message': - return { title: 'Kilo Code', body: 'You have a new message' }; + return { title: 'Kilo', body: 'You have a new message' }; case 'instance-lifecycle': - return { title: 'Kilo Code', body: 'Your instance has an update' }; + return { title: 'Kilo', body: 'Your instance has an update' }; case 'scheduled-action': - return { title: 'Kilo Code', body: 'A scheduled action has an update' }; + return { title: 'Kilo', body: 'A scheduled action has an update' }; case 'low_balance': - return { title: 'Kilo Code', body: 'Your balance needs attention' }; + return { title: 'Kilo', body: 'Your balance needs attention' }; case 'security_finding': - return { title: 'Kilo Code', body: 'A security finding needs attention' }; + return { title: 'Kilo', body: 'A security finding needs attention' }; default: { // Exhaustiveness: new PushData variants must be handled above. const _exhaustive: never = data; diff --git a/services/notifications/src/__tests__/dispatch-push.test.ts b/services/notifications/src/__tests__/dispatch-push.test.ts index 38cc2a29b8..4a5af1345f 100644 --- a/services/notifications/src/__tests__/dispatch-push.test.ts +++ b/services/notifications/src/__tests__/dispatch-push.test.ts @@ -1286,7 +1286,7 @@ describe('NotificationChannelDO preview mode and channel', () => { const stub = getDO('user-generic'); await stub.dispatchPush(baseInput({ userId: 'user-generic', idempotencyKey: 'k-generic' })); const [[messages]] = vi.mocked(sendPushNotifications).mock.calls; - expect(messages[0].title).toBe('Kilo Code'); + expect(messages[0].title).toBe('Kilo'); expect(messages[0].title).not.toBe('T'); expect(messages[0].body).not.toBe('B'); }); @@ -1305,7 +1305,7 @@ describe('NotificationChannelDO preview mode and channel', () => { const stub = getDO('user-throw'); await stub.dispatchPush(baseInput({ userId: 'user-throw', idempotencyKey: 'k-throw' })); const [[messages]] = vi.mocked(sendPushNotifications).mock.calls; - expect(messages[0].title).toBe('Kilo Code'); + expect(messages[0].title).toBe('Kilo'); expect(messages[0].body).not.toBe('B'); }); });