Skip to content

feat(frontend): add native alarms and voice recording - #136

Merged
gac0812 merged 7 commits into
1024XEngineer:MVPfrom
gac0812:codex/frontend-native-reminders-recording-fix
Aug 1, 2026
Merged

feat(frontend): add native alarms and voice recording#136
gac0812 merged 7 commits into
1024XEngineer:MVPfrom
gac0812:codex/frontend-native-reminders-recording-fix

Conversation

@gac0812

@gac0812 gac0812 commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • align @react-native/jest-preset with the project's React Native 0.86.0 peer requirement
  • regenerate the frontend lockfile so clean CI installs resolve without peer conflicts
  • retain the Android alarm, voice recorder, Expo plugin, and permission changes from the closed PR

Why

The previous native PR stopped at npm ci: npm resolved @react-native/jest-preset@0.86.2 from a caret range while React Native requires exactly 0.86.0. This branch pins the compatible version instead of bypassing peer validation.

Dependency

Validation

  • npm ci

@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.

Review Summary

Found two release-blocking issues in the app integration and Android native build configuration. Inline comments contain the concrete findings.

View job run

Comment thread frontend/app.json
},
"plugins": [
"./plugins/withTimeflowAlarm",
"./plugins/withTimeflowVoiceRecorder",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[P1] Wire the new functionality into the application entry point. These plugins package the native modules, but App.tsx still renders only the existing HomeScreen; none of SessionProvider, ScheduleProvider, OverlayProvider, useAlarmPermissionsOnLaunch, ScheduleScreen, or the assistant/recorder flow is mounted. As a result, the shipped app remains the placeholder screen and users cannot reach any alarm or voice functionality added by this PR.

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 a6ac168. App.tsx now mounts AppProviders and AppRoot; the provider tree connects SessionProvider, ScheduleProvider, OverlayProvider, alarm permission startup, ScheduleScreen, and the assistant with the concrete platform recorder. Added an AppRoot wiring test. All 193 tests pass.


private int backgroundActivityStartMode() {
if (Build.VERSION.SDK_INT >= 36) {
return ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOW_ALWAYS;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[P1] Keep this source compatible with the module's declared compile SDK. MODE_BACKGROUND_ACTIVITY_START_ALLOW_ALWAYS is an API 36 symbol, while modules/timeflow-alarm/android/build.gradle defaults compileSdkVersion to 35. Compiling this Java source against that declared SDK fails before the runtime version guard can help. Either raise the compile SDK consistently or avoid directly referencing the API 36-only constant (for example via a compatible fallback/reflection).

@gac0812
gac0812 merged commit 2c2bccf 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