chore(mobile): phase 1 quality-review fixups

Three small follow-ups from the post-Phase-1 quality review:

  * authContext.tsx — drop the dead `userId` extraction + the `void
    userId` suppressor that masked an unused-locals warning. The session
    is already implicitly threaded through the supabase client, so no
    consumer of ensureDevice needed the value.
  * authContext.tsx — switch the device-name string concat to a
    template literal for consistency with the rest of the codebase.
  * ErrorBoundary.tsx — replace the four inline hex literals with their
    `theme/colors.ts` constants. The boundary was authored in Phase 0
    before the theme module existed; this brings it in line with every
    Phase 1 screen.
  * apps/mobile/README.md — drop the stale Phase-0 paragraph about the
    `lib/sharedSmoke.ts` canary (deleted in Phase 1) and add a short
    pointer to the env-var setup.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
byGalax
2026-05-14 00:08:22 +02:00
parent 263d2455a8
commit b1cdc4d184
3 changed files with 26 additions and 19 deletions
+2 -4
View File
@@ -37,8 +37,7 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
// Resolve or create the device record for this install given an active
// session. Stores the private key in expo-secure-store on first run.
const ensureDevice = useCallback(async (currentSession: Session): Promise<void> => {
const userId = currentSession.user.id;
const ensureDevice = useCallback(async (_currentSession: Session): Promise<void> => {
const savedDeviceId = await secretStore.getSecret(KEY_DEVICE_ID);
const savedPrivKey = await secretStore.getSecret(KEY_DEVICE_PRIVKEY);
@@ -59,7 +58,7 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
const kp = backend.generateKeyPair();
const platform = Platform.OS === 'ios' ? 'ios' : Platform.OS === 'android' ? 'android' : 'linux';
const record = await auth.registerDevice(supabase, {
name: 'Netralax Mobile (' + Platform.OS + ')',
name: `Netralax Mobile (${Platform.OS})`,
platform,
publicKey: kp.publicKey,
});
@@ -67,7 +66,6 @@ export function AuthProvider({ children }: { children: React.ReactNode }) {
await secretStore.setSecret(KEY_DEVICE_PRIVKEY, kp.privateKey);
setDevice(record);
setOwnPrivateKey(kp.privateKey);
void userId;
}, []);
useEffect(() => {