diff --git a/frontend-modern/src/stores/__tests__/systemSettings.test.ts b/frontend-modern/src/stores/__tests__/systemSettings.test.ts index 92dd021eb8..6c5c131e4b 100644 --- a/frontend-modern/src/stores/__tests__/systemSettings.test.ts +++ b/frontend-modern/src/stores/__tests__/systemSettings.test.ts @@ -145,7 +145,7 @@ describe('systemSettings store', () => { expect(configurationDoc).toContain('PULSE_TELEMETRY'); }); - it('keeps Relay security guidance aligned with the Relay tier boundary', () => { + it('keeps existing mobile pairing security guidance aligned with retirement', () => { const securityDoc = readFileSync(path.join(repoRoot, 'SECURITY.md'), 'utf8'); const publicSecurityDoc = readFileSync( path.join(frontendRoot, 'public', 'docs', 'SECURITY.md'), @@ -153,10 +153,11 @@ describe('systemSettings store', () => { ); for (const copy of [securityDoc, publicSecurityDoc]) { - expect(copy).toContain('Relay Security (Relay and Above)'); - expect(copy).toContain( - 'Relay functionality requires a Relay, Pro, legacy Pro+, or Cloud license', - ); + expect(copy).toContain('Existing Mobile Pairings (Retirement)'); + expect(copy).toContain('31 March 2027'); + expect(copy).toContain('Relay is no longer sold'); + expect(copy).toContain('receive Pro features at their current price'); + expect(copy).toContain('Relay connects the app, not the'); expect(copy).not.toContain('Relay Security (Pro)'); expect(copy).not.toContain('Relay functionality requires a Pro or Cloud license'); } diff --git a/frontend-modern/src/utils/__tests__/quickstartCopyContract.test.ts b/frontend-modern/src/utils/__tests__/quickstartCopyContract.test.ts index 2f392c81d7..eb555d090a 100644 --- a/frontend-modern/src/utils/__tests__/quickstartCopyContract.test.ts +++ b/frontend-modern/src/utils/__tests__/quickstartCopyContract.test.ts @@ -42,7 +42,7 @@ describe('quickstart copy contract', () => { } }); - it('keeps Relay public docs aligned with the Relay tier instead of Pro-only copy', () => { + it('keeps existing mobile security guidance aligned with retirement', () => { const security = readRepoFile('SECURITY.md'); const publicSecurity = readRepoFile('frontend-modern/public/docs/SECURITY.md'); const screenshots = readRepoFile('docs/SCREENSHOTS.md'); @@ -53,10 +53,14 @@ describe('quickstart copy contract', () => { expect(copy).not.toContain('relay protocol (Pro feature)'); } - expect(security).toContain('Relay Security (Relay and Above)'); - expect(publicSecurity).toContain('Relay Security (Relay and Above)'); - expect(security).toContain('Relay, Pro, legacy Pro+, or Cloud license'); - expect(publicSecurity).toContain('Relay, Pro, legacy Pro+, or Cloud license'); + for (const copy of [security, publicSecurity]) { + expect(copy).toContain('Existing Mobile Pairings (Retirement)'); + expect(copy).toContain('31 March 2027'); + expect(copy).toContain('Relay is no longer sold'); + expect(copy).toContain('receive Pro features at their current price'); + expect(copy).toContain('Relay connects the app, not the'); + expect(copy).not.toContain('Relay Security (Relay and Above)'); + } }); it('keeps public AI docs aligned with model-owned Patrol and Assistant reasoning', () => {