Skip to content

feat(mobile): hackathon mobile app#2237

Draft
dmarticus wants to merge 94 commits into
mainfrom
hackathon-mobile-app
Draft

feat(mobile): hackathon mobile app#2237
dmarticus wants to merge 94 commits into
mainfrom
hackathon-mobile-app

Conversation

@dmarticus
Copy link
Copy Markdown
Contributor

Problem

Hackathon-built React Native mobile companion app for PostHog Code. Opening this PR to consolidate the work, get it under review, and figure out next steps for merging.

Changes

  • New Expo / React Native app under apps/mobile/ (SDK 54, expo-router, NativeWind v4, React Query, Zustand).
  • Skill-based task automation flows, plan approvals, PostHog chips, repo selector with caching.
  • Task loading states, old-task hydration fixes, plan crash fix, app icon swap.
  • EAS / Expo prod build setup.
  • Merged in latest main (1 conflict in TaskInput.tsx — kept both the cloud-repo-picker memo and main's new busyState from useGitQueries; removed an orphaned setIsCloudBranchPickerOpen call that main had retired).

How did you test this?

  • Ran pnpm --filter @posthog/code typecheck after the merge — passes.
  • Pre-commit lint-staged (biome + repo-wide typecheck) ran cleanly on the merge commit.
  • Mobile UI work was validated on simulator during the hackathon, not re-verified post-merge.

Publish to changelog?

no

annikaschmid and others added 30 commits May 14, 2026 10:22
Normalize repository matching across the shared GitHub repo picker so prefilled task flows keep the existing repo selected even when casing or .git suffixes differ.

Reset the picker open/search state for prefilled task flows so the dropdown stays closed until the field is focused, and cover the lookup behavior with a focused regression test.
Stop rendering the running chip for active automation runs while keeping success and other terminal statuses visible.

Add coverage for both the status helper and badge component so the mobile task UI keeps this behavior stable.
Add task plan approval support across the mobile app and render PostHog links as inline chips, including relative insight paths and title-plus-id labels.
# Conflicts:
#	apps/code/src/renderer/features/task-detail/components/TaskInput.tsx
- Remove unused totalCount destructure in ReportList
- Replace non-null assertions in useInboxReports queryFns with runtime guards
- Reformat with-adi-registration plugin
- Mock phosphor-react-native and react-native-safe-area-context globally so their ESM type syntax doesn't crash the CJS loader
- Mock @react-native-async-storage/async-storage with an in-memory backing map so persist middleware writes don't blow up under environment: node
- Reset repositoryCacheStore in useIntegrations.test.ts beforeEach so module-singleton state doesn't leak between tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants