Skip to content

Review and improve mobile app plan: fix critical gaps#922

Open
marcodejongh wants to merge 3 commits intomainfrom
claude/review-mobile-plan-R6Q6A
Open

Review and improve mobile app plan: fix critical gaps#922
marcodejongh wants to merge 3 commits intomainfrom
claude/review-mobile-plan-R6Q6A

Conversation

@marcodejongh
Copy link
Owner

Adversarial review of the Capacitor mobile plan identified 14 issues across critical, high, and medium severity. Key changes:

  • Add Capacitor bridge injection strategy for hosted mode
  • Add authentication/cookie persistence section for WebView
  • Fix BLE double-chunking bug (adapter owns all transport chunking)
  • Expand BluetoothAdapter interface (isAvailable, MTU, unsubscribe)
  • Add development workflow section (local dev, debugging, device matrix)
  • Add "Why Not Local/Bundled Mode" rationale (app is too server-dependent)
  • Scope deep links to specific paths, not entire domain
  • Add offline fallback with @capacitor/network plugin
  • Reorder milestones: App Store before Push Notifications
  • Defer push notifications to post-launch v1.1
  • Update timeline from 5-6 weeks to 10-13 weeks realistic estimate
  • Fix KeepAwake version mismatch (^5.0.0 -> ^6.0.0)
  • Add native Sentry for crash reporting outside WebView
  • Upgrade App Store rejection risk from Medium to High with mitigations

https://claude.ai/code/session_01WvCyzNPbY81tozSyFSEWpT

Adversarial review of the Capacitor mobile plan identified 14 issues
across critical, high, and medium severity. Key changes:

- Add Capacitor bridge injection strategy for hosted mode
- Add authentication/cookie persistence section for WebView
- Fix BLE double-chunking bug (adapter owns all transport chunking)
- Expand BluetoothAdapter interface (isAvailable, MTU, unsubscribe)
- Add development workflow section (local dev, debugging, device matrix)
- Add "Why Not Local/Bundled Mode" rationale (app is too server-dependent)
- Scope deep links to specific paths, not entire domain
- Add offline fallback with @capacitor/network plugin
- Reorder milestones: App Store before Push Notifications
- Defer push notifications to post-launch v1.1
- Update timeline from 5-6 weeks to 10-13 weeks realistic estimate
- Fix KeepAwake version mismatch (^5.0.0 -> ^6.0.0)
- Add native Sentry for crash reporting outside WebView
- Upgrade App Store rejection risk from Medium to High with mitigations

https://claude.ai/code/session_01WvCyzNPbY81tozSyFSEWpT
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@claude
Copy link

claude bot commented Mar 7, 2026

Claude Review

Ready to merge - No significant issues found.

This is a documentation-only PR updating the mobile app plan with no code changes. The improvements address legitimate concerns including:

  • Capacitor bridge injection strategy for hosted mode
  • Authentication/cookie persistence in WebView
  • BLE double-chunking fix (adapter owns transport chunking)
  • Scoped deep links (not entire domain)
  • Realistic timeline update (10-13 weeks)

No issues to report.

Instead of relying entirely on the server for climb data, bundle a
per-board SQLite database in the native app. This provides:

- Offline climb search and browsing without internet
- Stronger App Store approval case (genuine native functionality)
- Faster search (no network latency, local SQLite queries)

Key design decisions:
- Per-board databases delivered via On-Demand Resources (iOS) and
  Play Asset Delivery (Android) to keep initial download small (~15 MB)
- Each board's data is ~100-150 MB compressed
- Read-only reference data only; user-specific data stays server-side
- Delta sync on app launch keeps data current
- New Milestone 1.5 adds 2 weeks to timeline (12-15 weeks total)
- Added @capacitor-community/sqlite to dependencies

https://claude.ai/code/session_01WvCyzNPbY81tozSyFSEWpT
@claude
Copy link

claude bot commented Mar 13, 2026

Claude Review

Ready to merge - Minor issue noted below, but nothing blocking.


Minor issue:

  • docs/mobile-app-plan.md: TOC link [Why Not Local/Bundled Mode](#why-not-localbundled-mode) doesn't match section heading ## Why Not Fully Local Mode (anchor would be #why-not-fully-local-mode). Consider updating either the TOC or heading for consistency.

- Document that Aurora's Kilter/Tension data originates from SQLite
  databases in their APKs — the export pipeline reverses the existing
  import flow
- Note unified table design with board_type discriminator column
- Add concrete PostgreSQL → SQLite export script with per-board
  filtering and CSV import
- Add mobile-specific SQLite indexes for search performance:
  - Composite index on search WHERE clause columns
  - Edge filtering index for size boundaries
  - Stats lookup index for JOIN + sort
  - Difficulty range, name search, and setter indexes
- Downgrade App Store rejection risk from High to Medium given
  the stronger native value proposition (offline DB + BLE)

https://claude.ai/code/session_01WvCyzNPbY81tozSyFSEWpT
@claude
Copy link

claude bot commented Mar 13, 2026

Claude Review

Ready to merge - Documentation-only PR with no code changes. The mobile app plan updates are comprehensive and well-structured.

No issues found. This is a planning document that improves the mobile app strategy with:

  • Embedded SQLite database strategy for offline climb search
  • Capacitor bridge injection documentation
  • Authentication/WebView persistence handling
  • BLE chunking architecture fix (documented)
  • Realistic timeline adjustments (5-6 weeks → 12-15 weeks)

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.

2 participants