managarten/docs/EXPO_SDK_UPGRADE.md
Till JS 22a73943e1 chore: complete ManaCore → Mana rename (docs, go modules, plists, images)
Final cleanup of references missed in previous rename commits:

- Dockerfiles: PUBLIC_MANA_CORE_AUTH_URL → PUBLIC_MANA_AUTH_URL
- Go modules: github.com/manacore/* → github.com/mana/* (7 go.mod files)
- launchd plists: com.manacore.* → com.mana.* (14 files renamed + content)
- Image assets: *_Manacore_AI_Credits* → *_Mana_AI_Credits* (11 files)
- .env.example files: ManaCore brand strings → Mana
- .prettierignore: stale apps/manacore/* paths → apps/mana/*
- Markdown docs (CLAUDE.md, /docs/*): mana-core-auth → mana-auth, etc.

Excluded from rename: .claude/, devlog/, manascore/ (historical content),
client testimonials, blueprints, npm package refs (@mana-core/*).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 12:26:10 +02:00

85 lines
2.4 KiB
Markdown

# Expo SDK Upgrade Guide
**Current State (2026-03-28):**
| App | Expo SDK | React Native | Router | Status |
|-----|----------|-------------|--------|--------|
| matrix | **55** | 0.83.2 | ~55.0.5 | Target version |
| mana | 54 | 0.81.5 | ~6.0.15 | Needs upgrade |
| cards | 54 | 0.81.4 | ~6.0.10 | Needs upgrade |
| picture | 54 | 0.81.4 | ~6.0.10 | Needs upgrade |
| traces | 54 | 0.81.4 | ~6.0.0 | Needs upgrade |
| chat | **52** | 0.76.7 | ~4.0.6 | Needs upgrade (2 majors!) |
| context | **52** | 0.76.9 | ~4.0.6 | Needs upgrade (2 majors!) |
**Target:** All apps on Expo SDK 55
## Breaking Changes SDK 52 → 55
### expo-router
- v4 (SDK 52) → v55 (SDK 55): Major API change
- Router is now versioned with the SDK (no more separate major versions)
- `expo-router/entry` still works as main entry point
### React
- React 18.3 → React 19.2
- New `use()` hook, improved Suspense
### React Native
- 0.76 → 0.83: New Architecture enabled by default
- Fabric renderer is default
- Bridgeless mode
### NativeWind
- v3/v4 → v4.2.3: Should be compatible if already on v4
## Upgrade Steps (Per App)
```bash
# 1. Use Expo upgrade tool
cd apps/{app}/apps/mobile
npx expo install expo@~55.0.5 --fix
# 2. This auto-upgrades compatible dependencies
# For manual deps, use:
npx expo install react-native@0.83.2 react@19.2.0 expo-router@~55.0.5
# 3. Update NativeWind
npx expo install nativewind@~4.2.3
# 4. Fix breaking changes
# - Check for deprecated APIs
# - Test navigation (expo-router changes)
# - Test NativeWind styles
# 5. Clear caches and test
npx expo start -c
```
## Recommended Upgrade Order
1. **traces** (simplest app, minimal deps)
2. **cards** (medium complexity)
3. **picture** (has image handling)
4. **mana** (hub app, important)
5. **context** (SDK 52 → 55, bigger jump)
6. **chat** (SDK 52 → 55, most complex mobile app)
## Shared Dependencies to Update
All mobile apps share these workspace packages:
- `@mana/shared-ui` (React Native components)
- `@mana/shared-theme` (theme system)
- `@mana/shared-auth` (auth service)
These should be tested with React 19 / RN 0.83 before upgrading apps.
## Testing Checklist (Per App)
- [ ] App starts without errors (`npx expo start`)
- [ ] Navigation works (all routes)
- [ ] Auth flow (login, logout, token refresh)
- [ ] NativeWind styles render correctly
- [ ] App-specific features work
- [ ] iOS simulator test
- [ ] Android emulator test (if applicable)