Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (7)
📒 Files selected for processing (47)
📝 WalkthroughWalkthroughThe PR introduces a unified C++ patch and state management core library with native bindings for Android (JNI), iOS (Objective-C++), and HarmonyOS (N-API), replacing distributed Java/Objective-C implementation logic with centralized native implementations. Dependency versions are updated accordingly. Changes
Sequence Diagram(s)sequenceDiagram
participant JS as JavaScript/TypeScript
participant JNI as JNI/N-API Bridge
participant Core as C++ Patch Core
participant FS as File System
JS->>JNI: syncStateWithBinaryVersion(pkg, build)
JNI->>Core: pushy::state::SyncBinaryVersion(state, pkg, build)
Core->>Core: Validate version change
Core-->>JNI: Return updated State + changed flag
JNI-->>JS: Return StateCoreResult
JS->>JNI: buildArchivePatchPlan(type, entries, copies, deletes)
JNI->>Core: pushy::archive_patch::BuildArchivePatchPlan(manifest)
Core->>Core: Validate entries & build plan
Core-->>JNI: Return ArchivePatchPlan
JNI-->>JS: Return plan config (merge_source, enable_merge)
JS->>JNI: applyPatchFromFileSource(options)
JNI->>Core: pushy::patch::ApplyPatchFromFileSource(options, bundlePatcher)
Core->>FS: Validate & read origin bundle
Core->>FS: Apply patch via hdiff
Core->>FS: Write destination bundle
Core->>FS: Copy files per manifest
Core->>FS: Merge directories if enabled
Core-->>JNI: Return Status
JNI-->>JS: Void or Exception
JS->>JNI: runStateCore(operation, state, args)
JNI->>Core: pushy::state::SwitchVersion/MarkSuccess/Rollback/etc.
Core->>Core: Compute new state
Core-->>JNI: Return updated State
JNI-->>JS: Return StateCoreResult with operation outcomes
Estimated Code Review Effort🎯 4 (Complex) | ⏱️ ~50 minutes Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary by CodeRabbit
New Features
Documentation
Chores