mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-07-09 16:00:59 +00:00
Point relay pairing at the Pulse Mobile install page
A Relay customer who enables Remote Access and generates a pairing QR has nothing to scan it with: Pulse Mobile is early access and its install links live on the authenticated download page, which nothing in the pairing flow mentioned. Add the pointer to the pairing help text, pin it in the panel contract test, and give docs/RELAY.md the same install path instead of 'join early access when available'.
This commit is contained in:
parent
8113f3e8c3
commit
d43255889d
4 changed files with 26 additions and 2 deletions
|
|
@ -82,7 +82,7 @@ Relay configuration is stored encrypted in `relay.enc` in the Pulse data directo
|
|||
|
||||
### iOS / Android
|
||||
|
||||
1. Join mobile early access when available.
|
||||
1. Pulse Mobile is in early access. Relay and Pro customers get install links from the authenticated [download page](https://pulserelay.pro/download.html).
|
||||
2. Open Pulse Mobile and tap **Connect to Server**.
|
||||
3. Scan the QR code from **Settings → Relay** in your Pulse web UI.
|
||||
4. The app connects via the relay for push notifications and secure Open Pulse handoff.
|
||||
|
|
|
|||
|
|
@ -2,11 +2,15 @@ import { Component, For, Show } from 'solid-js';
|
|||
import type { OnboardingQRResponse } from '@/api/onboarding';
|
||||
import { Card } from '@/components/shared/Card';
|
||||
import { formField, formHelpText, labelClass } from '@/components/shared/Form';
|
||||
import { PULSE_PRO_DOWNLOAD_URL } from '@/utils/licensePresentation';
|
||||
import {
|
||||
getRelayDiagnosticClass,
|
||||
RELAY_CODE_BLOCK_CLASS,
|
||||
RELAY_DIAGNOSTICS_TITLE_CLASS,
|
||||
RELAY_DIAGNOSTICS_WRAP_CLASS,
|
||||
RELAY_PAIRING_APP_AVAILABILITY_TEXT,
|
||||
RELAY_PAIRING_APP_DOWNLOAD_LINK_CLASS,
|
||||
RELAY_PAIRING_APP_DOWNLOAD_LINK_LABEL,
|
||||
RELAY_PRIMARY_BUTTON_CLASS,
|
||||
RELAY_QR_IMAGE_CLASS,
|
||||
RELAY_SECONDARY_BUTTON_CLASS,
|
||||
|
|
@ -62,7 +66,17 @@ export const RelayPairingSection: Component<RelayPairingSectionProps> = (props)
|
|||
</div>
|
||||
|
||||
<p class={formHelpText}>
|
||||
Generate a QR code that provisions a dedicated Pulse Mobile relay access credential.
|
||||
Generate a QR code that provisions a dedicated Pulse Mobile relay access credential.{' '}
|
||||
{RELAY_PAIRING_APP_AVAILABILITY_TEXT}{' '}
|
||||
<a
|
||||
href={PULSE_PRO_DOWNLOAD_URL}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
class={RELAY_PAIRING_APP_DOWNLOAD_LINK_CLASS}
|
||||
>
|
||||
{RELAY_PAIRING_APP_DOWNLOAD_LINK_LABEL}
|
||||
</a>
|
||||
.
|
||||
</p>
|
||||
|
||||
<Show when={props.showPairing}>
|
||||
|
|
|
|||
|
|
@ -55,4 +55,9 @@ describe('Onboarding QR payload contract', () => {
|
|||
expect(relaySettingsPanelStateSource).toContain('setInterval(() => void loadStatus(), 5000)');
|
||||
expect(relayPairingSectionSource).toContain('getRelayDiagnosticClass');
|
||||
});
|
||||
|
||||
it('points pairing users at the download page for the Pulse Mobile app', () => {
|
||||
expect(relayPairingSectionSource).toContain('PULSE_PRO_DOWNLOAD_URL');
|
||||
expect(relayPairingSectionSource).toContain('RELAY_PAIRING_APP_AVAILABILITY_TEXT');
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -40,6 +40,11 @@ export const RELAY_ENABLE_HELP_TEXT =
|
|||
export const RELAY_ACTIVATION_REQUIRED_LABEL = 'Activation required';
|
||||
export const RELAY_ACTIVATION_REQUIRED_MESSAGE =
|
||||
'Remote Access is enabled, but this instance does not have an active Relay token. Activate a Relay-capable plan or turn Remote Access off before pairing mobile clients.';
|
||||
export const RELAY_PAIRING_APP_AVAILABILITY_TEXT =
|
||||
'Pulse Mobile is in early access; install links for Relay and Pro plans are on';
|
||||
export const RELAY_PAIRING_APP_DOWNLOAD_LINK_LABEL = 'your download page';
|
||||
export const RELAY_PAIRING_APP_DOWNLOAD_LINK_CLASS =
|
||||
'font-medium text-blue-600 underline-offset-2 hover:underline dark:text-blue-400';
|
||||
|
||||
export function getRelayDiagnosticClass(severity: 'warning' | 'error'): string {
|
||||
return severity === 'error'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue