v8 stack 1/5: modernize the toolchain and rename to ai.openspace - #23
Closed
dmurphy5 wants to merge 1 commit into
Closed
v8 stack 1/5: modernize the toolchain and rename to ai.openspace#23dmurphy5 wants to merge 1 commit into
dmurphy5 wants to merge 1 commit into
Conversation
Foundation for the v8 rewrite. No behavior changes — every Kotlin source is byte-identical to master apart from its package declaration. Dependencies move to what Diana ships: React Native 0.84.1, React 19.2.3, TypeScript 5.9. The example app moves with them (Gradle 8.14.3, Kotlin 2.1.20, SDK 36, newArchEnabled) so CI exercises the same toolchain a consumer gets. Android switches to the React Native Gradle plugin, which supplies the react-android version and will run codegen once a spec exists. The library now inherits compileSdk/minSdk/targetSdk from the host app instead of pinning them, with fallbacks matching Diana. The manifest `package` attribute moves to `android.namespace`, as AGP 8 requires. The `com.vydia.RNUploader` package becomes `ai.openspace.backgroundupload`. This is a source-level rename only; the JS module name is unchanged, so nothing on the JS side moves. Packaging: `files` allowlist so publishing stops shipping internal notes and build output, `typings` points at source, and the checked-in `lib/*.d.ts` build output is deleted. CI gains typecheck and Android unit-test steps. BREAKING CHANGE: requires React Native 0.84+ and React 19+. Consumers with ProGuard rules referencing com.vydia.RNUploader must update the package name. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Jul 27, 2026
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.
The stack
Five PRs, each based on the one before it. This is 1/5.
ai.openspacerename 👈master#22 stays open and untouched as the single-diff view of the same change.
Its tree and this stack's tip are byte-identical (tree
f8404b0), so mergingeither one produces exactly the same
master. Review whichever is easier tofollow; merge one and close the other.
Foundation for the v8 rewrite, and the first of five stacked PRs. Nothing here
changes behavior: every Kotlin source is byte-identical to master apart from its
package declaration.
What's in it
Dependencies move to what Diana ships — React Native 0.84.1, React 19.2.3,
TypeScript 5.9 — and the example app moves with them (Gradle 8.14.3, Kotlin
2.1.20, SDK 36,
newArchEnabled) so CI exercises the toolchain a consumeractually gets.
Android build switches to the React Native Gradle plugin, which supplies the
react-androidversion and will run codegen once a spec exists. The libraryinherits
compileSdk/minSdk/targetSdkfrom the host app instead of pinningthem, with fallbacks matching Diana. The manifest
packageattribute moves toandroid.namespace, as AGP 8 requires.The rename:
com.vydia.RNUploader→ai.openspace.backgroundupload. Sourceonly — the JS module name is unchanged, so nothing on the JS side moves. Git
tracks all eight files as renames, so each shows as a one-line diff.
Packaging: a
filesallowlist, so publishing stops shipping internal notesand build output;
typingspoints at source; the checked-inlib/*.d.tsbuildoutput is deleted. CI gains typecheck and Android unit-test steps.
The design doc for the whole phase is added under
docs/so the rest of thestack has something to be read against. It's prose — skip it in review if you'd
rather read the code.
Why this shape
The package rename has to be atomic to compile, so it can't be spread across the
later PRs. Doing it here, with content otherwise untouched, means the Android PR
later in the stack shows only real logic changes instead of whole-file adds.
Verified
yarn lint:ci,yarn typecheck, and:react-native-background-upload:testDebugUnitTestall pass on this commit.
Breaking
Requires React Native 0.84+ and React 19+. Consumers with ProGuard rules
referencing
com.vydia.RNUploadermust update the package name.