Skip to content

feat(frontend): integrate connected app flows - #137

Merged
gac0812 merged 3 commits into
1024XEngineer:MVPfrom
gac0812:codex/frontend-app-integration-fix
Aug 1, 2026
Merged

feat(frontend): integrate connected app flows#137
gac0812 merged 3 commits into
1024XEngineer:MVPfrom
gac0812:codex/frontend-app-integration-fix

Conversation

@gac0812

@gac0812 gac0812 commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • carry the application composition and legacy-screen migration on top of the corrected native dependency graph
  • connect session, schedule, assistant, alarms, dialogs, and location reporting through the production app root

Dependency

@fennoai fennoai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found three concrete integration issues in the current diff. git diff --check passes. I could not run the frontend typecheck because the local tsc executable is unavailable/non-executable in this workspace.

* an error and the reporter skips that tick.
*/
export function createLocationProvider(): LocationProvider {
return Platform.OS === 'web' ? new BrowserLocationProvider() : new ExpoLocationProvider();

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[high] The default native path always constructs ExpoLocationProvider, but frontend/package.json and frontend/package-lock.json do not include expo-location or a config plugin for it. In the app composition root no provider is injected, so requireOptionalNativeModule("ExpoLocation") resolves to null and every native location tick fails; location schedules never report coordinates in the default Android/iOS builds. Add and configure expo-location, or inject a real provider before enabling this integration.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in cee694e. expo-location ~57.0.7 is now a direct dependency and configured in app.json; the default provider imports the public expo-location module directly instead of optional native lookup. All 200 tests pass.

);
}

const currentPermission = await location.getForegroundPermissionsAsync?.();

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[high] Even after linking expo-location, this default provider only requests foreground permission and uses getCurrentPositionAsync from a JavaScript interval. The app config now advertises background location and the feature is used for location reminders, but no background task/geofence provider is registered, so polling stops when the app is backgrounded or suspended and reminders cannot trigger reliably. The default implementation needs a real background-capable provider (or the app must not claim background location support).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in cee694e using the foreground-only option described in the review. Removed iOS background mode/always permission and Android background/foreground-location-service permissions, and the integration now stops reporting whenever AppState is not active. All 200 tests pass.

}

const application = AndroidConfig.Manifest.getMainApplicationOrThrow(manifest);
application.$['android:usesCleartextTraffic'] = 'true';

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[high] This sets android:usesCleartextTraffic="true" for every generated Android build, including release. That globally permits ws:///HTTP traffic and can silently send the device ID and schedule/voice data without transport encryption if the endpoint is misconfigured. Restrict cleartext to development via a network-security config/build variant, and enforce wss:// for release builds.

mac and others added 2 commits July 31, 2026 19:51
Resolve app integration conflicts by keeping the connected shell, merging MVP env/map calendar additions, and aligning fake transport contracts with production request correlation.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gac0812
gac0812 merged commit ebbdb6c into 1024XEngineer:MVP Aug 1, 2026
1 check passed
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.

1 participant