Folo/apps/mobile
DIYgod 93e4a3b48f
feat: add cross-platform e2e coverage (#4901)
* feat: add cross-platform e2e coverage

* fix: stabilize desktop e2e navigation

* fix: harden desktop e2e read flow

* fix: harden desktop e2e auth and follow flows

* fix: stabilize desktop e2e discover entry flows

* fix: run android e2e in a single shell

* fix: speed up mobile e2e builds in ci

* fix: build android e2e app from mobile workspace

* fix: invoke android gradle build from repo root

* fix: use absolute path for android ci build

* fix: restore android eas build in ci

* fix: target iOS simulator by udid in ci

* fix: align desktop e2e with discover card flow

* fix: reorder web e2e after relogin

* fix: navigate web e2e via real hash url

* fix: close stale settings modal before reopening

* fix: track android maestro flows

* fix: wait for settings router in web e2e

* fix: wait for web settings sync propagation

* fix: stabilize desktop e2e settings flows

* fix: harden desktop e2e regressions

* fix: stabilize desktop e2e selectors

* fix: read desktop entry state from locators

* fix: relax desktop e2e entry assertions

* fix: avoid waiting on missing desktop feed ids
2026-03-10 11:32:00 +08:00
..
assets fix(android): splash icon, close #4174 2025-07-15 14:43:45 +08:00
build chore(firebase): switch to diygod Firebase config (#4868) 2026-02-22 15:15:13 +08:00
changelog Merge remote-tracking branch 'origin/mobile-main' into release/mobile/0.3.0 2026-02-18 23:53:40 +08:00
code-signing feat: use custom expo update server (#4206) 2025-07-19 00:54:48 +08:00
e2e feat: add cross-platform e2e coverage (#4901) 2026-03-10 11:32:00 +08:00
ios feat: add cross-platform e2e coverage (#4901) 2026-03-10 11:32:00 +08:00
native Merge remote-tracking branch 'origin/mobile-main' into release/mobile/0.3.0 2026-02-18 23:53:40 +08:00
plugins feat: add cross-platform e2e coverage (#4901) 2026-03-10 11:32:00 +08:00
scripts chore(mobile): update build ID increment script and configuration 2025-09-11 23:44:25 +08:00
src feat: add cross-platform e2e coverage (#4901) 2026-03-10 11:32:00 +08:00
web-app chore: update workspace dependencies and lockfile (#4838) 2026-02-13 16:04:13 +08:00
.env.example feat(sentry): integrate Sentry for error tracking and monitoring 2025-09-22 23:12:11 +08:00
.gitignore feat: add cross-platform e2e coverage (#4901) 2026-03-10 11:32:00 +08:00
.watchmanconfig fix: type error 2025-09-23 00:27:51 +08:00
AGENTS.md chore: create AGENTS.md for comprehensive project guidance 2025-09-22 23:33:37 +08:00
README.md chore: update license 2025-12-28 18:27:30 +08:00
app.config.ts feat: add cross-platform e2e coverage (#4901) 2026-03-10 11:32:00 +08:00
babel.config.js feat(ios): support liquid glass tabbar 2025-09-22 22:07:59 +08:00
bump.config.ts chore: update bump configuration for PR creation 2025-09-15 17:34:53 +08:00
eas.json feat: add cross-platform e2e coverage (#4901) 2026-03-10 11:32:00 +08:00
global.d.ts
metro.config.js feat: migrate desktop/mobile error tracking to posthog (#4858) 2026-02-18 23:16:00 +08:00
nativewind-env.d.ts
package.json feat: add cross-platform e2e coverage (#4901) 2026-03-10 11:32:00 +08:00
postcss.config.js
shim-env.d.ts
tailwind.config.ts feat(mobile): support font scaling for web render 2025-07-24 22:12:45 +08:00
tailwind.dom.config.ts
tsconfig.json

README.md

Folo Mobile App 📱

This is the mobile client for Folo, built with Expo. Folo organizes content into one timeline, keeping you updated on what matters, noise-free.

Features

  • Customized information hub for content discovery
  • AI-powered features like translation and summary
  • Dynamic content support (articles, videos, images, audio)
  • $POWER integration for creator economy
  • Cross-platform support (iOS & Android [WIP])
  • Modern UI design with native feel

Getting Started

  1. Enable Corepack (if not already enabled)

    corepack enable
    
  2. Install dependencies

    pnpm install
    
  3. Start the development server

    pnpm run dev
    

You can run the app on:

  • iOS Simulator (pnpm run ios)
  • iOS Device (pnpm run ios:device)
  • Android Emulator (pnpm run android)
  • Development build for full native feature testing

Project Structure

src/
├── modules/         # Feature-specific modules
│   ├── discover/    # Discovery feed features
│   └── ...
├── screens/         # App screens using file-based routing
└── ...

Development

  • Built with Expo SDK [>=52]
  • Uses Expo Router for navigation
  • Styling with NativeWind
  • State management with Jotai and Zustand
  • API integration with Tanstack Query
  • Full TypeScript support

Useful Resources

Need Help?

  • Join our Discord
  • Follow us on Twitter
  • Contact the mobile development team

License

This project is licensed under the GNU Affero General Public License version 3. See the main project repository for full license details.