Skip to content

Tracking: wp-native migration coordination #27

Description

@chubes4

Tracking issue

Coordinates the wp-native migration work across multiple Extra Chill repos. Updates posted here as upstream chubes4/wp-native milestones land.

See companion umbrella issue #24 for the per-file extrachill-app coupling extraction tasks (filed during the M2 audit).

Cross-repo work

Repo Issue Status
Extra-Chill/extrachill-users wp-native-bridge plugin (consume M4 filters) #17 — ✅ merged via PR #19
Extra-Chill/extrachill-users Verify auth REST coexistence with wp-native-auth #18 — investigation, blocks on M7.3
Extra-Chill/extrachill-app Migrate onboarding to ability calls #26 — ✅ merged via PR #28
Extra-Chill/extrachill-app Per-coupling extraction tasks #18#23, #25 — see #24
chubes4/wp-native M4.5 browser-handoff ability #17 — ✅ merged via PR #27
chubes4/wp-native OAuth strategy (post-v0.1) #18 — decision deferred

Upstream wp-native milestones

Milestone Description Status
M1 Repo + monorepo scaffold ✅ done
M2 EC coupling audit ✅ done
M3 wp-native-client (TS) ✅ done
M4 wp-native-auth (WP plugin) ✅ done
M4.5 Browser-handoff ability ✅ done
M5 Shell core (RN providers) ✅ done
M6 Generic ability-driven screens ✅ done
M7 Migrate extrachill-app 🚧 in progress (M7.0 deployed, onboarding shipped, M7.2 sub-issues filed)
M8 Retire @extrachill/api-client ⏳ pending

M7.2 — extrachill-app migration sub-issues

The actual app migration broken into 9 focused PRs:

# Issue Description
M7.2.1 #29 Add extrachill.config.ts (consumer config)
M7.2.2 #30 Add wp-native-client + wp-native-shell deps
M7.2.3 #31 Replace src/auth/context.tsx with shell's AuthProvider
M7.2.4 #32 Delete src/api/client.ts (replaced by shell internals)
M7.2.5 #33 Replace app/_layout.tsx with <WPNativeApp/> (highest risk — moment of truth)
M7.2.6 #34 Migrate app/login.tsx to use useAuth() from shell
M7.2.7 #35 Replace custom drawer with <DrawerShell/>, closes #19
M7.2.8 #36 Decision doc: register + OAuth stay on REST for v0.1
M7.2.9 #37 Final cleanup: remove unused @extrachill/api-client imports

Suggested order

M7.2.2 → M7.2.1 → (M7.2.3 + M7.2.4 in parallel) → M7.2.5 (moment of truth)
       → (M7.2.6 + M7.2.7 in parallel) → M7.2.8 (decision) → M7.2.9 (cleanup)

M7.2.5 is the highest-risk PR — it's the first time the app actually runs against wp-native end-to-end. Test on a real device build before merging.

End state

When this is done, extrachill-app looks roughly like:

extrachill-app/
├── app.json                       # EC identity (bundle ID, scheme, name)
├── extrachill.config.ts           # All EC-specific config
├── app/
│   ├── _layout.tsx                # 5 lines: <WPNativeApp config={config}/>
│   ├── login.tsx                  # EC's login screen (uses useAuth from shell)
│   ├── onboarding.tsx             # EC's onboarding screen
│   └── (drawer)/                  # EC-specific extra screens (if any)
└── package.json
    dependencies:
      wp-native-shell, wp-native-client (from chubes4/wp-native)
      @extrachill/api-client (still present for register + OAuth, retired in M8)

The 342-line auth context, 37-line API client wiring, and ~250 lines of drawer + handoff code all collapse into the framework.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    wp-native-extractionCoupling to extract for wp-native framework

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions