Skip to content

New Arch Support#350

Merged
zaferatli merged 10 commits into
GantMan:masterfrom
zaferatli:feature/newArch
Feb 21, 2026
Merged

New Arch Support#350
zaferatli merged 10 commits into
GantMan:masterfrom
zaferatli:feature/newArch

Conversation

@zaferatli

@zaferatli zaferatli commented Feb 10, 2026

Copy link
Copy Markdown
Collaborator

@levibuzolic levibuzolic left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks @zaferatli, looks like this needs a bit more work before it can be merged.

Comment on lines +15 to +20
private final JailMonkeyImpl impl;

public JailMonkeyModule(ReactApplicationContext reactContext) {
super(reactContext);
impl = new JailMonkeyImpl(reactContext); // context impl içinde set ediliyor
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Should JailMonkeyImpl be JailMonkeyModuleImpl?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

fixed

// ===== ASYNC METHODS =====
@ReactMethod
public void isDevelopmentSettingsMode(Promise p) {
impl.isDevelopmentSettingsMode(p);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is a static method, not a class method. It looks like the old-arch implementation hasn't actually been tried.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

fixed


public static boolean isOnExternalStorage() {
if (context == null) return false;
return isOnExternalStorage();

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks like an infinite recursion.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

fixed

}

public static boolean trustFall() {
return false;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This might be a regression, it previously would use isJailBroken and canMockLocation

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

fixed

constants.put("hookDetected", impl.hookDetected());
constants.put("canMockLocation", impl.canMockLocation());
constants.put("isOnExternalStorage", impl.isOnExternalStorage());
constants.put("AdbEnabled", impl.isAdbEnabled());

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Are we missing rootedDetectionMethods?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

yes I fixed

Comment thread jail-monkey.podspec Outdated
s.dependency 'React-Core'
s.source_files = "JailMonkey/**/*.{h,m,mm}"
s.dependency "React-Core"
s.dependency "React-RCTFabric"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The new arch deps should be wrapped with ENV['RCT_NEW_ARCH_ENABLED']

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

done

import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import java.util.Map;
import com.facebook.react.bridge.Promise;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Dupe

Suggested change
import com.facebook.react.bridge.Promise;

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

thanks for all comments, its done

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Also I set version to 3.0.0

@zaferatli

Copy link
Copy Markdown
Collaborator Author

@levibuzolic Do you have any comments, I've plan to create pre-major releaese and test it in production

@zaferatli

Copy link
Copy Markdown
Collaborator Author

I think its done I'm merging and will release with canary for a week and after that we release as latest

@zaferatli zaferatli merged commit 0ff9354 into GantMan:master Feb 21, 2026
1 check passed
@levibuzolic

Copy link
Copy Markdown
Collaborator

@zaferatli awesome, thanks for addressing those issues. Looks good. 👍

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.

2 participants