diff --git a/apps/mobile/justfile b/apps/mobile/justfile index b51570d..33c0dd0 100644 --- a/apps/mobile/justfile +++ b/apps/mobile/justfile @@ -34,4 +34,7 @@ avd-mirror-remote ssh_target: scrcpy adb-logs: - while ! adb logcat --pid=$(adb shell pidof -s dev.fressh.app); do sleep 1; done \ No newline at end of file + while ! adb logcat --pid=$(adb shell pidof -s dev.fressh.app); do sleep 1; done + +ios-logs: + pnpm dlx react-native log-ios \ No newline at end of file diff --git a/apps/mobile/src/app/(tabs)/index.tsx b/apps/mobile/src/app/(tabs)/index.tsx index 8c4ed5e..3acfa5b 100644 --- a/apps/mobile/src/app/(tabs)/index.tsx +++ b/apps/mobile/src/app/(tabs)/index.tsx @@ -17,7 +17,7 @@ import { useSshConnMutation } from '@/lib/query-fns'; import { connectionDetailsSchema, secretsManager, - type ConnectionDetails, + type InputConnectionDetails, } from '@/lib/secrets-manager'; import { useTheme, type AppTheme } from '@/lib/theme'; @@ -25,7 +25,7 @@ export default function TabsIndex() { return ; } -const defaultValues: ConnectionDetails = { +const defaultValues: InputConnectionDetails = { host: 'test.rebex.net', port: 22, username: 'demo', @@ -265,7 +265,7 @@ function KeyIdPickerField() { } function PreviousConnectionsSection(props: { - onSelect: (connection: ConnectionDetails) => void; + onSelect: (connection: InputConnectionDetails) => void; }) { const theme = useTheme(); const styles = React.useMemo(() => makeStyles(theme), [theme]); @@ -297,7 +297,7 @@ function PreviousConnectionsSection(props: { function ConnectionRow(props: { id: string; - onSelect: (connection: ConnectionDetails) => void; + onSelect: (connection: InputConnectionDetails) => void; }) { const theme = useTheme(); const styles = React.useMemo(() => makeStyles(theme), [theme]); diff --git a/apps/mobile/src/app/(tabs)/shell/detail.tsx b/apps/mobile/src/app/(tabs)/shell/detail.tsx index 0e64b4a..26a8779 100644 --- a/apps/mobile/src/app/(tabs)/shell/detail.tsx +++ b/apps/mobile/src/app/(tabs)/shell/detail.tsx @@ -63,6 +63,7 @@ function ShellDetail() { ( router.back()} diff --git a/apps/mobile/src/app/(tabs)/shell/index.tsx b/apps/mobile/src/app/(tabs)/shell/index.tsx index a53583f..512d29a 100644 --- a/apps/mobile/src/app/(tabs)/shell/index.tsx +++ b/apps/mobile/src/app/(tabs)/shell/index.tsx @@ -39,8 +39,6 @@ export default function TabsShellList() { function ShellContent() { const connectionsQuery = useQuery(listSshShellsQueryOptions); - console.log('DEBUG connectionsQuery.data', !!connectionsQuery.data); - return ( { @@ -18,7 +18,7 @@ export const useSshConnMutation = () => { const queryClient = useQueryClient(); return useMutation({ - mutationFn: async (connectionDetails: ConnectionDetails) => { + mutationFn: async (connectionDetails: InputConnectionDetails) => { try { console.log('Connecting to SSH server...'); const sshConnection = await RnRussh.connect({ @@ -28,9 +28,9 @@ export const useSshConnMutation = () => { security: connectionDetails.security.type === 'password' ? { - type: 'password', - password: connectionDetails.security.password, - } + type: 'password', + password: connectionDetails.security.password, + } : { type: 'key', privateKey: 'TODO' }, onStatusChange: (status) => { console.log('SSH connection status', status); diff --git a/apps/mobile/src/lib/secrets-manager.ts b/apps/mobile/src/lib/secrets-manager.ts index 3d2d7dc..0055670 100644 --- a/apps/mobile/src/lib/secrets-manager.ts +++ b/apps/mobile/src/lib/secrets-manager.ts @@ -82,9 +82,9 @@ function makeBetterSecureStore< const unsafedRootManifest = rawRootManifestString ? JSON.parse(rawRootManifestString) : { - manifestVersion: rootManifestVersion, - manifestChunksIds: [], - }; + manifestVersion: rootManifestVersion, + manifestChunksIds: [], + }; const rootManifest = rootManifestSchema.parse(unsafedRootManifest); const manifestChunks = await Promise.all( rootManifest.manifestChunksIds.map(async (manifestChunkId) => { @@ -395,11 +395,11 @@ const betterConnectionStorage = makeBetterSecureStore({ parseValue: (value) => connectionDetailsSchema.parse(JSON.parse(value)), }); -export type ConnectionDetails = z.infer; +export type InputConnectionDetails = z.infer; async function upsertConnection(params: { id: string; - details: ConnectionDetails; + details: InputConnectionDetails; priority: number; }) { await betterConnectionStorage.upsertEntry({