feat(formplayer): updated performance and memory handling - #733
Merged
najuna-brian merged 18 commits intoAug 23, 2026
Conversation
Reformat files flagged by prettier --check: the desktop pnpm update bumped Prettier, which collapses these union-type annotations onto fewer lines, plus a line-wrap in the portal HomePanel empty state. Co-authored-by: Cursor <cursoragent@cursor.com>
Jest transformIgnorePatterns only matched flat node_modules/react-native paths. Under pnpm the first node_modules/ is followed by .pnpm/, so react-native/jest/setup.js was never Babel-transformed and CI failed on its ESM import. Allow the optional .pnpm/<pkg>/node_modules/ prefix in the pattern. Co-authored-by: Cursor <cursoragent@cursor.com>
pnpm 11 ignores onlyBuiltDependencies. Commit allowBuilds maps (what approve-builds writes) so frozen CI installs can run esbuild and other approved lifecycle scripts. Co-authored-by: Cursor <cursoragent@cursor.com>
pnpm keeps transitive @react-native/gradle-plugin under .pnpm/, but settings.gradle expects node_modules/@react-native/gradle-plugin. Add it as a direct devDependency so the hoisted linker places it where Gradle looks. Co-authored-by: Cursor <cursoragent@cursor.com>
Same pnpm layout issue as @react-native/gradle-plugin: add @react-native/codegen as a direct devDependency so Gradle finds it at node_modules/@react-native/codegen. Co-authored-by: Cursor <cursoragent@cursor.com>
4.27.0 requires RN 0.84+ and uses React.ComponentRef in native commands, which codegen 0.83 rejects (showColumn ElementRef error). Pin to 4.25.2, the last screens release that supports RN 0.82/0.83. Co-authored-by: Cursor <cursoragent@cursor.com>
PRs assembleDebug for arm64-v8a only; main/dev/release keep all four ABIs. Use gradle/actions/setup-gradle for cache restore, enable parallel workers on CI, and pass --stacktrace so the next failure shows the real FAILED task. Co-authored-by: Cursor <cursoragent@cursor.com>
WatermelonDB JSI CMakeLists resolves node_modules/@nozbe/{sqlite,simdjson} relative to the package tree. pnpm left those transitive deps under .pnpm only, so add_library got no sources. Add them as direct deps matching watermelondb 0.28.
Co-authored-by: Cursor <cursoragent@cursor.com>
najuna-brian
self-requested a review
August 23, 2026 21:06
Replace invalid commit SHA with the published v4.4.2 pin (017a9eff) from gradle/actions. Co-authored-by: Cursor <cursoragent@cursor.com>
Under pnpm, WatermelonDB JSI resolves relative ../../.. into the .pnpm package store (sqlite/simdjson yes, react-native no), so jsi/jsi.h is missing. Patch CMakeLists to walk up until react-native is found. Co-authored-by: Cursor <cursoragent@cursor.com>
najuna-brian
approved these changes
Aug 23, 2026
najuna-brian
left a comment
Contributor
There was a problem hiding this comment.
Asante sana @r0ssing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Performance updates
This PR refactors certain paths of the formplayer<->formulus communication to avoid an update "storm" (debouncing logging events, draft-saving (max 10seconds debounce).
It also includes some minor fixes to the UI in ODE Desktop as well as a fix for the issue with our ci/cd where container images are tagged with the n-1 version instead of n.
Thank you for contributing to Open Data Ensemble (ODE)!