mirror of
https://github.com/getpaseo/paseo.git
synced 2026-07-29 12:01:31 +00:00
* docs: rename to lowercase + drop leftover plans Rename docs in docs/ to lowercase kebab-case for consistency and update all references in CLAUDE.md, CONTRIBUTING.md, CHANGELOG.md, packages/server/CLAUDE.md, and inter-doc links. Drop two leftover design plan docs: - docs/ATTACHMENT_BASED_REVIEW_CONTEXT_PLAN.md - docs/plan-approval-normalization.md * docs: drop stale uppercase entries from case-insensitive rename * feat(website): power /docs from public-docs/ markdown tree Move website docs out of TSX route components and into a root-level public-docs/ directory of plain markdown files with frontmatter (title, description, nav, order). - Add packages/website/src/docs.ts loader using import.meta.glob with ?raw to compile the markdown into the bundle at build time. - Replace the 9 hand-written docs/*.tsx routes with a single $.tsx catch-all that renders any slug via react-markdown. - Drive the docs sidebar nav from frontmatter order/nav. - Auto-discover docs routes in vite.config.ts so the sitemap stays in sync without manual edits. * fix(website): bind dev server to 0.0.0.0 so port collisions trigger fallback `host: "127.0.0.1"` (or unset) lets macOS coexist with another process holding an IPv6 dual-stack `*:8082` socket, so Vite never sees EADDRINUSE and silently binds alongside it. Forcing IPv4 wildcard makes the conflict real, and Vite's default `strictPort: false` falls through to the next free port. * fix(website): restore docs page styling after markdown migration Add a .docs-prose class that mirrors the styling the original docs/*.tsx components hand-rolled (h1/h2/h3 sizes, paragraph/list spacing, link colors, code blocks, callout-style blockquotes). ReactMarkdown was emitting unstyled HTML because the previous wrapper class only had inline-code rules — headings and code blocks fell back to user-agent defaults.
70 lines
1.8 KiB
Markdown
70 lines
1.8 KiB
Markdown
# Android
|
|
|
|
## App variants
|
|
|
|
Controlled by `APP_VARIANT` in `packages/app/app.config.js` (vanilla Expo, no custom Gradle plugin):
|
|
|
|
| Variant | App name | Package ID |
|
|
| ------------- | ----------- | ---------------- |
|
|
| `production` | Paseo | `sh.paseo` |
|
|
| `development` | Paseo Debug | `sh.paseo.debug` |
|
|
|
|
EAS profiles: `development`, `production`, and `production-apk` in `packages/app/eas.json`.
|
|
|
|
`development` uses Android `debug`.
|
|
|
|
## Local build + install
|
|
|
|
From repo root:
|
|
|
|
```bash
|
|
npm run android:development # Debug build
|
|
npm run android:production # Release build
|
|
npm run android:clear # Remove generated Android project
|
|
```
|
|
|
|
Or from `packages/app`:
|
|
|
|
```bash
|
|
# Debug
|
|
APP_VARIANT=development npx expo prebuild --platform android --non-interactive
|
|
APP_VARIANT=development npx expo run:android --variant=debug
|
|
|
|
# Release
|
|
APP_VARIANT=production npx expo prebuild --platform android --non-interactive
|
|
APP_VARIANT=production npx expo run:android --variant=release
|
|
|
|
# Clear generated Android project
|
|
rm -rf android
|
|
```
|
|
|
|
## Screenshots
|
|
|
|
```bash
|
|
adb exec-out screencap -p > screenshot.png
|
|
```
|
|
|
|
## Cloud build + submit (EAS)
|
|
|
|
Stable tag pushes like `v0.1.0` trigger:
|
|
|
|
- `packages/app/.eas/workflows/release-mobile.yml` on Expo servers (iOS + Android build + submit)
|
|
- `.github/workflows/android-apk-release.yml` on GitHub Actions (APK asset on GitHub Release)
|
|
|
|
Beta tags like `v0.1.1-beta.1` only trigger the GitHub APK workflow. They publish a GitHub prerelease APK for testing and do not submit to the stores.
|
|
|
|
### Useful commands
|
|
|
|
```bash
|
|
cd packages/app
|
|
|
|
# List recent workflow runs
|
|
npx eas workflow:runs --workflow release-mobile.yml --limit 10
|
|
|
|
# Inspect a run
|
|
npx eas workflow:view <run-id>
|
|
|
|
# Stream logs for a failed job
|
|
npx eas workflow:logs <job-id> --non-interactive --all-steps
|
|
```
|