feat(frontend): add native alarms and voice recording - #136
Conversation
| }, | ||
| "plugins": [ | ||
| "./plugins/withTimeflowAlarm", | ||
| "./plugins/withTimeflowVoiceRecorder", |
There was a problem hiding this comment.
[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.
There was a problem hiding this comment.
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; |
There was a problem hiding this comment.
[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).
Summary
@react-native/jest-presetwith the project's React Native0.86.0peer requirementWhy
The previous native PR stopped at
npm ci: npm resolved@react-native/jest-preset@0.86.2from a caret range while React Native requires exactly0.86.0. This branch pins the compatible version instead of bypassing peer validation.Dependency
Validation
npm ci