Skip to content

Commit 533ed1f

Browse files
refactor(mobile): adopt shared task API client
Generated-By: PostHog Code Task-Id: 40c57a59-b4e1-4760-8e56-ecd03e9c2f0f
1 parent 085ab94 commit 533ed1f

30 files changed

Lines changed: 161 additions & 1114 deletions

apps/mobile/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
"@modelcontextprotocol/ext-apps": "^1.2.2",
2929
"@modelcontextprotocol/sdk": "^1.29.0",
3030
"@posthog/api-client": "workspace:*",
31-
"@posthog/core": "workspace:*",
3231
"@posthog/shared": "workspace:*",
3332
"@react-native-async-storage/async-storage": "^2.2.0",
3433
"@react-native-community/netinfo": "^12.0.1",

apps/mobile/src/app/automation/[id].tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Text } from "@components/text";
2+
import { TaskAutomationValidationError } from "@posthog/api-client/posthog-client";
23
import { Stack, useLocalSearchParams, useRouter } from "expo-router";
34
import { useState } from "react";
45
import {
@@ -10,7 +11,6 @@ import {
1011
ScrollView,
1112
View,
1213
} from "react-native";
13-
import { TaskAutomationValidationError } from "@/features/tasks/api";
1414
import { AutomationDetail } from "@/features/tasks/components/AutomationDetail";
1515
import { AutomationForm } from "@/features/tasks/components/AutomationForm";
1616
import {

apps/mobile/src/app/automation/create.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { TaskAutomationValidationError } from "@posthog/api-client/posthog-client";
12
import { getCalendars } from "expo-localization";
23
import { Stack, useLocalSearchParams, useRouter } from "expo-router";
34
import { useMemo, useRef, useState } from "react";
@@ -10,7 +11,6 @@ import {
1011
View,
1112
} from "react-native";
1213
import { Text } from "@/components/text";
13-
import { TaskAutomationValidationError } from "@/features/tasks/api";
1414
import { AutomationForm } from "@/features/tasks/components/AutomationForm";
1515
import { useCreateTaskAutomation } from "@/features/tasks/hooks/useAutomations";
1616
import { useSkillStoreSkill } from "@/features/tasks/skills/hooks";

apps/mobile/src/app/task/[id].tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { useReanimatedKeyboardAnimation } from "react-native-keyboard-controller
1414
import Animated, { useAnimatedStyle } from "react-native-reanimated";
1515
import { FloatingBackButton } from "@/components/FloatingBackButton";
1616
import { usePreferencesStore } from "@/features/preferences/stores/preferencesStore";
17-
import { getTask, runTaskInCloud } from "@/features/tasks/api";
17+
import { runTaskInCloud } from "@/features/tasks/api";
1818
import { CustomImageBadge } from "@/features/tasks/components/CustomImageBadge";
1919
import { FloatingTaskHeader } from "@/features/tasks/components/FloatingTaskHeader";
2020
import { PrDiffStatsBadge } from "@/features/tasks/components/PrDiffStatsBadge";
@@ -67,6 +67,7 @@ import {
6767
useAnalytics,
6868
} from "@/lib/analytics";
6969
import { logger } from "@/lib/logger";
70+
import { getPostHogApiClient } from "@/lib/posthogApiClient";
7071
import { useThemeColors } from "@/lib/theme";
7172

7273
const log = logger.scope("task-detail");
@@ -221,7 +222,8 @@ export default function TaskDetailScreen() {
221222
setLoading(true);
222223
setError(null);
223224

224-
getTask(taskId)
225+
getPostHogApiClient()
226+
.getTask(taskId)
225227
.then((fetchedTask) => {
226228
if (cancelled) return;
227229
setTask(fetchedTask);
@@ -252,7 +254,8 @@ export default function TaskDetailScreen() {
252254
if (retrying) return;
253255

254256
let cancelled = false;
255-
getTask(taskId)
257+
getPostHogApiClient()
258+
.getTask(taskId)
256259
.then((freshTask) => {
257260
if (cancelled) return;
258261
setTask(freshTask);

apps/mobile/src/app/task/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import {
3030
import Animated, { runOnJS, useAnimatedStyle } from "react-native-reanimated";
3131
import { useVoiceRecording } from "@/features/chat";
3232
import { usePreferencesStore } from "@/features/preferences/stores/preferencesStore";
33-
import { createTask, runTaskInCloud } from "@/features/tasks/api";
33+
import { runTaskInCloud } from "@/features/tasks/api";
3434
import { GitHubConnectionPrompt } from "@/features/tasks/components/GitHubConnectionPrompt";
3535
import { GitHubLoadNotice } from "@/features/tasks/components/GitHubLoadNotice";
3636
import { AttachmentSheet } from "@/features/tasks/composer/attachments/AttachmentSheet";
@@ -80,6 +80,7 @@ import {
8080
} from "@/features/tasks/utils/repositorySelection";
8181
import { useScreenInsets } from "@/hooks/useScreenInsets";
8282
import { logger } from "@/lib/logger";
83+
import { getPostHogApiClient } from "@/lib/posthogApiClient";
8384
import { toRgba, useThemeColors } from "@/lib/theme";
8485

8586
const log = logger.scope("task-create");
@@ -308,7 +309,7 @@ export default function NewTaskScreen() {
308309
? `Attached: ${attachments[0].fileName}`
309310
: `Attached ${attachments.length} files`);
310311

311-
const task = await createTask({
312+
const task = await getPostHogApiClient().createTask({
312313
description: descriptionText,
313314
title: descriptionText.slice(0, 100),
314315
repository: selection.repository ?? undefined,

apps/mobile/src/features/chat/components/ToolMessage.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -659,9 +659,12 @@ function CreateTaskPreview({
659659

660660
try {
661661
// Dynamic import to avoid circular dependency
662-
const { createTask, runTaskInCloud } = await import("../../tasks/api");
662+
const [{ runTaskInCloud }, { getPostHogApiClient }] = await Promise.all([
663+
import("../../tasks/api"),
664+
import("@/lib/posthogApiClient"),
665+
]);
663666

664-
const task = await createTask({
667+
const task = await getPostHogApiClient().createTask({
665668
title: args.title,
666669
description: args.description,
667670
repository: args.repository,

apps/mobile/src/features/inbox/api.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { HttpError } from "@/features/tasks/api";
2-
import { authedFetch, getBaseUrl, getProjectId } from "@/lib/api";
1+
import { authedFetch, getBaseUrl, getProjectId, HttpError } from "@/lib/api";
32
import { logger } from "@/lib/logger";
43
import type { DismissalReasonOptionValue } from "./constants";
54

apps/mobile/src/features/inbox/components/TinderView.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {
1717
} from "react-native-safe-area-context";
1818
import { MarkdownText } from "@/features/chat/components/MarkdownText";
1919
import { usePreferencesStore } from "@/features/preferences/stores/preferencesStore";
20-
import { createTask, runTaskInCloud } from "@/features/tasks/api";
20+
import { runTaskInCloud } from "@/features/tasks/api";
2121
import { DEFAULT_MODEL } from "@/features/tasks/composer/options";
2222
import type {
2323
CreateTaskOptions,
@@ -29,6 +29,7 @@ import {
2929
useAnalytics,
3030
} from "@/lib/analytics";
3131
import { logger } from "@/lib/logger";
32+
import { getPostHogApiClient } from "@/lib/posthogApiClient";
3233
import { useThemeColors } from "@/lib/theme";
3334
import { getReportRepository } from "../api";
3435
import { useDismissedReportsStore } from "../stores/dismissedReportsStore";
@@ -239,7 +240,7 @@ export function TinderView({
239240

240241
// 3. Create the task
241242
const prompt = `Act on this signal report. Investigate the root cause, implement the fix, and open a PR if appropriate.\n\n${report.summary ?? ""}`;
242-
const task = await createTask({
243+
const task = await getPostHogApiClient().createTask({
243244
description: prompt,
244245
title: prompt.slice(0, 255),
245246
repository: match?.repository ?? repo ?? undefined,

0 commit comments

Comments
 (0)