Skip to content

Conversation

@jayant-dhingra-cb
Copy link
Collaborator

No description provided.

@gemini-code-assist
Copy link

Summary of Changes

Hello @jayant-dhingra-cb, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a significant update to the Replicator Configuration API, shifting towards a more explicit collection-based setup. It ensures that both the new and old API configurations are supported, particularly within the native iOS module, and provides dedicated test screens for each. The changes also include routine dependency updates and a new logging utility, though a current build failure in the cbl-reactnative module is noted.

Highlights

  • Replicator Configuration API Update: The core replicator configuration mechanism has been updated. Instead of initializing ReplicatorConfiguration with just an endpoint and then adding collections, it now accepts a list of CollectionConfiguration objects directly in its constructor. This change is reflected in custom-bug-fix.tsx and createReplicatorFromConfig.ts.
  • New and Old API Test Screens: New test screens have been added to demonstrate both the updated (new) and the previous (old) replicator configuration APIs. replication-new.tsx and replicator-listeners-new.tsx showcase the new API, while replicator-listeners-old.tsx is specifically for the old API, ensuring backward compatibility or comparison.
  • Native Module Adaptation for Dual API: The CblReactnative.swift native module has been enhanced to support both the new and old replicator configuration API formats from JavaScript. It now automatically detects the format of the incoming configuration JSON string and processes it accordingly.
  • Build System and Dependency Updates: The expo-example/android/build.gradle file updates the Kotlin version to 1.9.25, and expo-example/android/settings.gradle modifies the React Native Gradle plugin resolution. Several submodules (cblite-js-tests, cbl-js-swift, cblite-js) have also been updated to newer commits.
  • Build Log and Logging Script Added: A build-log.txt file has been added, which currently indicates a compilation failure in the cbl-reactnative module. Additionally, a view-logs.sh script is included to facilitate monitoring Android replicator-related logs.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the replicator configuration to use a new API across the application, including test files and services. It also adds new test screens for both the new and old replicator APIs. My review has identified several issues, including two critical security vulnerabilities due to hardcoded credentials in test files. I've also pointed out a bug in error handling, some code style and formatting inconsistencies, and the accidental commit of a build log file. I recommend addressing the critical security issues before merging.

Comment on lines 74 to 75
const username = "jayantdhingra"
const password = "f9yu5QT4B5jpZep@"

Choose a reason for hiding this comment

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

critical

Hardcoded credentials found. Storing secrets like usernames and passwords directly in the source code is a major security risk. These credentials can be easily extracted from the compiled application, even from test files. It's highly recommended to use a secure method for managing secrets, such as environment variables or a secrets management service.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Although this is not going into a release branch, I think it would be good to not publish/expose credentials at all on remote.

Comment on lines +28 to +30
const SYNC_GATEWAY_URL = "wss://nasm0fvdr-jnehnb.apps.cloud.couchbase.com:4984/testendpoint";
const USERNAME = "jayantdhingra";
const PASSWORD = "f9yu5QT4B5jpZep@";

Choose a reason for hiding this comment

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

critical

Hardcoded credentials and connection strings are present. This is a significant security risk, even in test files. These values should be externalized from the code, for example using environment variables or a configuration management system.

Copy link
Collaborator

Choose a reason for hiding this comment

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

same about creds here. You can make a patch file with this and hold it somewhere locally and can apply it every time you refresh your repo. Or by using stash and pop before and after committing on remote. I use both depending on how much custom is the config I need.

Comment on lines +13 to +14
// @ts-ignore
return [error.message];

Choose a reason for hiding this comment

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

high

There's a reference to an undefined variable error inside the catch block. The caught exception is named e, so you should use e.message instead. The // @ts-ignore comment is hiding this compilation error and should be removed.

Suggested change
// @ts-ignore
return [error.message];
return [e.message];

ConcurrencyControl
ConcurrencyControl,
CollectionConfiguration
} from 'cbl-reactnative';import getFileDefaultPath from '@/service/file/getFileDefaultPath';

Choose a reason for hiding this comment

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

medium

For better readability and to adhere to standard coding practices, each import statement should be on its own line.

Suggested change
} from 'cbl-reactnative';import getFileDefaultPath from '@/service/file/getFileDefaultPath';
} from 'cbl-reactnative';
import getFileDefaultPath from '@/service/file/getFileDefaultPath';

const connectToSyncGateway = async () => {
setListOfLogs(prev => [...prev, 'Connecting to Sync Gateway']); // ✅ Use prev
const defaultCollection = await database?.defaultCollection();
if(database === null || database === undefined) {

Choose a reason for hiding this comment

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

medium

This check for null or undefined can be simplified. Using !database is more concise and idiomatic in TypeScript for this purpose.

Suggested change
if(database === null || database === undefined) {
if(!database) {

Comment on lines +66 to +72
//Create CollectionConfiguration
const collectionConfig = new CollectionConfiguration(defaultCollection);

const listOfCollectionConfig = [collectionConfig]

// Pass array of configs and endpoint to constructor
const replicatorConfig = new ReplicatorConfiguration(listOfCollectionConfig , endpoint);

Choose a reason for hiding this comment

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

medium

The comments explaining the API change can be removed as the code is now straightforward. Also, there are extra blank lines and an extra space in the constructor call that can be cleaned up for better readability.

Suggested change
//Create CollectionConfiguration
const collectionConfig = new CollectionConfiguration(defaultCollection);
const listOfCollectionConfig = [collectionConfig]
// Pass array of configs and endpoint to constructor
const replicatorConfig = new ReplicatorConfiguration(listOfCollectionConfig , endpoint);
const collectionConfig = new CollectionConfiguration(defaultCollection);
const listOfCollectionConfig = [collectionConfig];
const replicatorConfig = new ReplicatorConfiguration(listOfCollectionConfig, endpoint);

Comment on lines +42 to +45
} catch (error) {
// @ts-ignore
setErrorLogs(prev => [...prev, `Error opening database: ${error.message}`]);
}

Choose a reason for hiding this comment

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

medium

Using // @ts-ignore to suppress TypeScript errors in catch blocks is not ideal as it can hide real issues. A better practice is to type the error object, for example with any. This pattern is repeated throughout the file and should be corrected in all occurrences.

    } catch (error: any) {
      setErrorLogs(prev => [...prev, `Error opening database: ${error.message}`]);
    }

Comment on lines +1 to +592
env: load .env
env: export EXPO_USE_METRO_WORKSPACE_ROOT
› Skipping dev server
› Building app...
Configuration on demand is an incubating feature.
> Task :gradle-plugin:settings-plugin:checkKotlinGradlePluginConfigurationErrors
> Task :gradle-plugin:shared:checkKotlinGradlePluginConfigurationErrors
> Task :gradle-plugin:shared:compileKotlin UP-TO-DATE
> Task :gradle-plugin:shared:compileJava NO-SOURCE
> Task :gradle-plugin:shared:processResources NO-SOURCE
> Task :gradle-plugin:shared:classes UP-TO-DATE
> Task :gradle-plugin:shared:jar UP-TO-DATE
> Task :gradle-plugin:settings-plugin:compileKotlin UP-TO-DATE
> Task :gradle-plugin:settings-plugin:compileJava NO-SOURCE
> Task :gradle-plugin:settings-plugin:pluginDescriptors UP-TO-DATE
> Task :gradle-plugin:settings-plugin:processResources UP-TO-DATE
> Task :gradle-plugin:settings-plugin:classes UP-TO-DATE
> Task :gradle-plugin:settings-plugin:jar UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:checkKotlinGradlePluginConfigurationErrors
> Task :expo-dev-launcher-gradle-plugin:checkKotlinGradlePluginConfigurationErrors
> Task :expo-dev-launcher-gradle-plugin:pluginDescriptors UP-TO-DATE
> Task :expo-dev-launcher-gradle-plugin:processResources UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:compileKotlin UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:compileJava NO-SOURCE
> Task :gradle-plugin:react-native-gradle-plugin:pluginDescriptors UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:processResources UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:classes UP-TO-DATE
> Task :gradle-plugin:react-native-gradle-plugin:jar UP-TO-DATE
> Task :expo-dev-launcher-gradle-plugin:compileKotlin UP-TO-DATE
> Task :expo-dev-launcher-gradle-plugin:compileJava NO-SOURCE
> Task :expo-dev-launcher-gradle-plugin:classes UP-TO-DATE
> Task :expo-dev-launcher-gradle-plugin:jar UP-TO-DATE

> Configure project :app
ℹ️ Applying gradle plugin 'expo-dev-launcher-gradle-plugin' (expo-dev-launcher@5.0.35)

> Configure project :expo

Using expo modules
- expo-asset (11.0.1)
- expo-constants (17.0.3)
- expo-dev-client (5.0.20)
- expo-dev-launcher (5.0.35)
- expo-dev-menu (6.0.25)
- expo-file-system (18.0.4)
- expo-font (13.0.1)
- expo-json-utils (0.14.0)
- expo-keep-awake (14.0.1)
- expo-linking (7.0.3)
- expo-manifests (0.15.8)
- expo-modules-core (2.0.6)
- expo-random (14.0.1)
- expo-splash-screen (0.29.13)
- expo-system-ui (4.0.4)
- expo-web-browser (14.0.1)


> Configure project :react-native-reanimated
Android gradle plugin: 8.6.0
Gradle: 8.10.2

> Task :app:generateAutolinkingPackageList UP-TO-DATE
> Task :app:generateCodegenSchemaFromJavaScript SKIPPED
> Task :app:generateCodegenArtifactsFromSchema SKIPPED
> Task :app:preBuild UP-TO-DATE
> Task :app:preDebugBuild UP-TO-DATE
> Task :app:mergeDebugNativeDebugMetadata NO-SOURCE
> Task :app:checkKotlinGradlePluginConfigurationErrors
> Task :app:generateDebugBuildConfig UP-TO-DATE
> Task :cbl-reactnative:preBuild UP-TO-DATE
> Task :cbl-reactnative:preDebugBuild UP-TO-DATE
> Task :cbl-reactnative:writeDebugAarMetadata UP-TO-DATE
> Task :expo:generateExpoModulesPackageListTask UP-TO-DATE
> Task :expo:preBuild UP-TO-DATE
> Task :expo:preDebugBuild UP-TO-DATE
> Task :expo:writeDebugAarMetadata UP-TO-DATE
> Task :expo-asset:preBuild UP-TO-DATE
> Task :expo-asset:preDebugBuild UP-TO-DATE
> Task :expo-asset:writeDebugAarMetadata UP-TO-DATE
> Task :expo-constants:createExpoConfig UP-TO-DATE
> Task :expo-constants:preBuild UP-TO-DATE
> Task :expo-constants:preDebugBuild UP-TO-DATE
> Task :expo-constants:writeDebugAarMetadata UP-TO-DATE
> Task :expo-dev-client:preBuild UP-TO-DATE
> Task :expo-dev-client:preDebugBuild UP-TO-DATE
> Task :expo-dev-client:writeDebugAarMetadata UP-TO-DATE
> Task :expo-dev-launcher:preBuild UP-TO-DATE
> Task :expo-dev-launcher:preDebugBuild UP-TO-DATE
> Task :expo-dev-launcher:writeDebugAarMetadata UP-TO-DATE
> Task :expo-dev-menu:preBuild UP-TO-DATE
> Task :expo-dev-menu:preDebugBuild UP-TO-DATE
> Task :expo-dev-menu:writeDebugAarMetadata UP-TO-DATE
> Task :expo-dev-menu-interface:preBuild UP-TO-DATE
> Task :expo-dev-menu-interface:preDebugBuild UP-TO-DATE
> Task :expo-dev-menu-interface:writeDebugAarMetadata UP-TO-DATE
> Task :expo-file-system:preBuild UP-TO-DATE
> Task :expo-file-system:preDebugBuild UP-TO-DATE
> Task :expo-file-system:writeDebugAarMetadata UP-TO-DATE
> Task :expo-font:preBuild UP-TO-DATE
> Task :expo-font:preDebugBuild UP-TO-DATE
> Task :expo-font:writeDebugAarMetadata UP-TO-DATE
> Task :expo-json-utils:preBuild UP-TO-DATE
> Task :expo-json-utils:preDebugBuild UP-TO-DATE
> Task :expo-json-utils:writeDebugAarMetadata UP-TO-DATE
> Task :expo-keep-awake:preBuild UP-TO-DATE
> Task :expo-keep-awake:preDebugBuild UP-TO-DATE
> Task :expo-keep-awake:writeDebugAarMetadata UP-TO-DATE
> Task :expo-linking:preBuild UP-TO-DATE
> Task :expo-linking:preDebugBuild UP-TO-DATE
> Task :expo-linking:writeDebugAarMetadata UP-TO-DATE
> Task :expo-manifests:preBuild UP-TO-DATE
> Task :expo-manifests:preDebugBuild UP-TO-DATE
> Task :expo-manifests:writeDebugAarMetadata UP-TO-DATE
> Task :expo-modules-core:preBuild UP-TO-DATE
> Task :expo-modules-core:preDebugBuild UP-TO-DATE
> Task :expo-modules-core:writeDebugAarMetadata UP-TO-DATE
> Task :expo-random:preBuild UP-TO-DATE
> Task :expo-random:preDebugBuild UP-TO-DATE
> Task :expo-random:writeDebugAarMetadata UP-TO-DATE
> Task :expo-splash-screen:preBuild UP-TO-DATE
> Task :expo-splash-screen:preDebugBuild UP-TO-DATE
> Task :expo-splash-screen:writeDebugAarMetadata UP-TO-DATE
> Task :expo-system-ui:preBuild UP-TO-DATE
> Task :expo-system-ui:preDebugBuild UP-TO-DATE
> Task :expo-system-ui:writeDebugAarMetadata UP-TO-DATE
> Task :expo-updates-interface:preBuild UP-TO-DATE
> Task :expo-updates-interface:preDebugBuild UP-TO-DATE
> Task :expo-updates-interface:writeDebugAarMetadata UP-TO-DATE
> Task :expo-web-browser:preBuild UP-TO-DATE
> Task :expo-web-browser:preDebugBuild UP-TO-DATE
> Task :expo-web-browser:writeDebugAarMetadata UP-TO-DATE
> Task :react-native-reanimated:assertLatestReactNativeWithNewArchitectureTask SKIPPED
> Task :react-native-reanimated:assertMinimalReactNativeVersionTask SKIPPED
> Task :react-native-reanimated:prepareReanimatedHeadersForPrefabs UP-TO-DATE
> Task :react-native-reanimated:prepareWorkletsHeadersForPrefabs UP-TO-DATE
> Task :react-native-reanimated:preBuild UP-TO-DATE
> Task :react-native-reanimated:preDebugBuild UP-TO-DATE
> Task :react-native-reanimated:writeDebugAarMetadata UP-TO-DATE
> Task :react-native-safe-area-context:preBuild UP-TO-DATE
> Task :react-native-safe-area-context:preDebugBuild UP-TO-DATE
> Task :react-native-safe-area-context:writeDebugAarMetadata UP-TO-DATE
> Task :react-native-screens:preBuild UP-TO-DATE
> Task :react-native-screens:preDebugBuild UP-TO-DATE
> Task :react-native-screens:writeDebugAarMetadata UP-TO-DATE
> Task :react-native-svg:preBuild UP-TO-DATE
> Task :react-native-svg:preDebugBuild UP-TO-DATE
> Task :react-native-svg:writeDebugAarMetadata UP-TO-DATE
> Task :app:checkDebugAarMetadata UP-TO-DATE
> Task :app:generateDebugResValues UP-TO-DATE
> Task :cbl-reactnative:generateDebugResValues UP-TO-DATE
> Task :cbl-reactnative:generateDebugResources UP-TO-DATE
> Task :cbl-reactnative:packageDebugResources UP-TO-DATE
> Task :expo:generateDebugResValues UP-TO-DATE
> Task :expo:generateDebugResources UP-TO-DATE
> Task :expo:packageDebugResources UP-TO-DATE
> Task :expo-asset:generateDebugResValues UP-TO-DATE
> Task :expo-asset:generateDebugResources UP-TO-DATE
> Task :expo-asset:packageDebugResources UP-TO-DATE
> Task :expo-constants:generateDebugResValues UP-TO-DATE
> Task :expo-constants:generateDebugResources UP-TO-DATE
> Task :expo-constants:packageDebugResources UP-TO-DATE
> Task :expo-dev-client:generateDebugResValues UP-TO-DATE
> Task :expo-dev-client:generateDebugResources UP-TO-DATE
> Task :expo-dev-client:packageDebugResources UP-TO-DATE
> Task :expo-dev-launcher:generateDebugResValues UP-TO-DATE
> Task :expo-dev-launcher:generateDebugResources UP-TO-DATE
> Task :expo-dev-launcher:packageDebugResources UP-TO-DATE
> Task :expo-dev-menu:generateDebugResValues UP-TO-DATE
> Task :expo-dev-menu:generateDebugResources UP-TO-DATE
> Task :expo-dev-menu:packageDebugResources UP-TO-DATE
> Task :expo-dev-menu-interface:generateDebugResValues UP-TO-DATE
> Task :expo-dev-menu-interface:generateDebugResources UP-TO-DATE
> Task :expo-dev-menu-interface:packageDebugResources UP-TO-DATE
> Task :expo-file-system:generateDebugResValues UP-TO-DATE
> Task :expo-file-system:generateDebugResources UP-TO-DATE
> Task :expo-file-system:packageDebugResources UP-TO-DATE
> Task :expo-font:generateDebugResValues UP-TO-DATE
> Task :expo-font:generateDebugResources UP-TO-DATE
> Task :expo-font:packageDebugResources UP-TO-DATE
> Task :expo-json-utils:generateDebugResValues UP-TO-DATE
> Task :expo-json-utils:generateDebugResources UP-TO-DATE
> Task :expo-json-utils:packageDebugResources UP-TO-DATE
> Task :expo-keep-awake:generateDebugResValues UP-TO-DATE
> Task :expo-keep-awake:generateDebugResources UP-TO-DATE
> Task :expo-keep-awake:packageDebugResources UP-TO-DATE
> Task :expo-linking:generateDebugResValues UP-TO-DATE
> Task :expo-linking:generateDebugResources UP-TO-DATE
> Task :expo-linking:packageDebugResources UP-TO-DATE
> Task :expo-manifests:generateDebugResValues UP-TO-DATE
> Task :expo-manifests:generateDebugResources UP-TO-DATE
> Task :expo-manifests:packageDebugResources UP-TO-DATE
> Task :expo-modules-core:generateDebugResValues UP-TO-DATE
> Task :expo-modules-core:generateDebugResources UP-TO-DATE
> Task :expo-modules-core:packageDebugResources UP-TO-DATE
> Task :expo-random:generateDebugResValues UP-TO-DATE
> Task :expo-random:generateDebugResources UP-TO-DATE
> Task :expo-random:packageDebugResources UP-TO-DATE
> Task :expo-splash-screen:generateDebugResValues UP-TO-DATE
> Task :expo-splash-screen:generateDebugResources UP-TO-DATE
> Task :expo-splash-screen:packageDebugResources UP-TO-DATE
> Task :expo-system-ui:generateDebugResValues UP-TO-DATE
> Task :expo-system-ui:generateDebugResources UP-TO-DATE
> Task :expo-system-ui:packageDebugResources UP-TO-DATE
> Task :expo-updates-interface:generateDebugResValues UP-TO-DATE
> Task :expo-updates-interface:generateDebugResources UP-TO-DATE
> Task :expo-updates-interface:packageDebugResources UP-TO-DATE
> Task :expo-web-browser:generateDebugResValues UP-TO-DATE
> Task :expo-web-browser:generateDebugResources UP-TO-DATE
> Task :expo-web-browser:packageDebugResources UP-TO-DATE
> Task :react-native-reanimated:generateDebugResValues UP-TO-DATE
> Task :react-native-reanimated:generateDebugResources UP-TO-DATE
> Task :react-native-reanimated:packageDebugResources UP-TO-DATE
> Task :react-native-safe-area-context:generateDebugResValues UP-TO-DATE
> Task :react-native-safe-area-context:generateDebugResources UP-TO-DATE
> Task :react-native-safe-area-context:packageDebugResources UP-TO-DATE
> Task :react-native-screens:generateDebugResValues UP-TO-DATE
> Task :react-native-screens:generateDebugResources UP-TO-DATE
> Task :react-native-screens:packageDebugResources UP-TO-DATE
> Task :react-native-svg:generateDebugResValues UP-TO-DATE
> Task :react-native-svg:generateDebugResources UP-TO-DATE
> Task :react-native-svg:packageDebugResources UP-TO-DATE
> Task :app:mapDebugSourceSetPaths UP-TO-DATE
> Task :app:generateDebugResources UP-TO-DATE
> Task :app:mergeDebugResources UP-TO-DATE
> Task :app:packageDebugResources UP-TO-DATE
> Task :app:parseDebugLocalResources UP-TO-DATE
> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
> Task :app:extractDeepLinksDebug UP-TO-DATE
> Task :cbl-reactnative:extractDeepLinksDebug UP-TO-DATE
> Task :cbl-reactnative:processDebugManifest UP-TO-DATE
> Task :expo:extractDeepLinksDebug UP-TO-DATE
> Task :expo:processDebugManifest UP-TO-DATE
> Task :expo-asset:extractDeepLinksDebug UP-TO-DATE
> Task :expo-asset:processDebugManifest UP-TO-DATE
> Task :expo-constants:extractDeepLinksDebug UP-TO-DATE
> Task :expo-constants:processDebugManifest UP-TO-DATE
> Task :expo-dev-client:extractDeepLinksDebug UP-TO-DATE
> Task :expo-dev-client:processDebugManifest UP-TO-DATE
> Task :expo-dev-launcher:extractDeepLinksDebug UP-TO-DATE
> Task :expo-dev-launcher:processDebugManifest UP-TO-DATE
> Task :expo-dev-menu:extractDeepLinksDebug UP-TO-DATE
> Task :expo-dev-menu:processDebugManifest UP-TO-DATE
> Task :expo-dev-menu-interface:extractDeepLinksDebug UP-TO-DATE
> Task :expo-dev-menu-interface:processDebugManifest UP-TO-DATE
> Task :expo-file-system:extractDeepLinksDebug UP-TO-DATE
> Task :expo-file-system:processDebugManifest UP-TO-DATE
> Task :expo-font:extractDeepLinksDebug UP-TO-DATE
> Task :expo-font:processDebugManifest UP-TO-DATE
> Task :expo-json-utils:extractDeepLinksDebug UP-TO-DATE
> Task :expo-json-utils:processDebugManifest UP-TO-DATE
> Task :expo-keep-awake:extractDeepLinksDebug UP-TO-DATE
> Task :expo-keep-awake:processDebugManifest UP-TO-DATE
> Task :expo-linking:extractDeepLinksDebug UP-TO-DATE
> Task :expo-linking:processDebugManifest UP-TO-DATE
> Task :expo-manifests:extractDeepLinksDebug UP-TO-DATE
> Task :expo-manifests:processDebugManifest UP-TO-DATE
> Task :expo-modules-core:extractDeepLinksDebug UP-TO-DATE
> Task :expo-modules-core:processDebugManifest UP-TO-DATE
> Task :expo-random:extractDeepLinksDebug UP-TO-DATE
> Task :expo-random:processDebugManifest UP-TO-DATE
> Task :expo-splash-screen:extractDeepLinksDebug UP-TO-DATE
> Task :expo-splash-screen:processDebugManifest UP-TO-DATE
> Task :expo-system-ui:extractDeepLinksDebug UP-TO-DATE
> Task :expo-system-ui:processDebugManifest UP-TO-DATE
> Task :expo-updates-interface:extractDeepLinksDebug UP-TO-DATE
> Task :expo-updates-interface:processDebugManifest UP-TO-DATE
> Task :expo-web-browser:extractDeepLinksDebug UP-TO-DATE
> Task :expo-web-browser:processDebugManifest UP-TO-DATE
> Task :react-native-reanimated:extractDeepLinksDebug UP-TO-DATE
> Task :react-native-reanimated:processDebugManifest UP-TO-DATE
> Task :react-native-safe-area-context:extractDeepLinksDebug UP-TO-DATE
> Task :react-native-safe-area-context:processDebugManifest UP-TO-DATE
> Task :react-native-screens:extractDeepLinksDebug UP-TO-DATE
> Task :react-native-screens:processDebugManifest UP-TO-DATE
> Task :react-native-svg:extractDeepLinksDebug UP-TO-DATE
> Task :react-native-svg:processDebugManifest UP-TO-DATE
> Task :app:processDebugMainManifest UP-TO-DATE
> Task :app:processDebugManifest UP-TO-DATE
> Task :app:processDebugManifestForPackage UP-TO-DATE
> Task :cbl-reactnative:compileDebugLibraryResources UP-TO-DATE
> Task :cbl-reactnative:parseDebugLocalResources UP-TO-DATE
> Task :cbl-reactnative:generateDebugRFile UP-TO-DATE
> Task :expo:compileDebugLibraryResources UP-TO-DATE
> Task :expo:parseDebugLocalResources UP-TO-DATE
> Task :expo:generateDebugRFile UP-TO-DATE
> Task :expo-asset:compileDebugLibraryResources UP-TO-DATE
> Task :expo-asset:parseDebugLocalResources UP-TO-DATE
> Task :expo-asset:generateDebugRFile UP-TO-DATE
> Task :expo-constants:compileDebugLibraryResources UP-TO-DATE
> Task :expo-constants:parseDebugLocalResources UP-TO-DATE
> Task :expo-constants:generateDebugRFile UP-TO-DATE
> Task :expo-dev-client:compileDebugLibraryResources UP-TO-DATE
> Task :expo-dev-client:parseDebugLocalResources UP-TO-DATE
> Task :expo-dev-client:generateDebugRFile UP-TO-DATE
> Task :expo-dev-launcher:compileDebugLibraryResources UP-TO-DATE
> Task :expo-dev-launcher:parseDebugLocalResources UP-TO-DATE
> Task :expo-dev-launcher:generateDebugRFile UP-TO-DATE
> Task :expo-dev-menu:compileDebugLibraryResources UP-TO-DATE
> Task :expo-dev-menu:parseDebugLocalResources UP-TO-DATE
> Task :expo-dev-menu:generateDebugRFile UP-TO-DATE
> Task :expo-dev-menu-interface:compileDebugLibraryResources UP-TO-DATE
> Task :expo-dev-menu-interface:parseDebugLocalResources UP-TO-DATE
> Task :expo-dev-menu-interface:generateDebugRFile UP-TO-DATE
> Task :expo-file-system:compileDebugLibraryResources UP-TO-DATE
> Task :expo-file-system:parseDebugLocalResources UP-TO-DATE
> Task :expo-file-system:generateDebugRFile UP-TO-DATE
> Task :expo-font:compileDebugLibraryResources UP-TO-DATE
> Task :expo-font:parseDebugLocalResources UP-TO-DATE
> Task :expo-font:generateDebugRFile UP-TO-DATE
> Task :expo-json-utils:compileDebugLibraryResources UP-TO-DATE
> Task :expo-json-utils:parseDebugLocalResources UP-TO-DATE
> Task :expo-json-utils:generateDebugRFile UP-TO-DATE
> Task :expo-keep-awake:compileDebugLibraryResources UP-TO-DATE
> Task :expo-keep-awake:parseDebugLocalResources UP-TO-DATE
> Task :expo-keep-awake:generateDebugRFile UP-TO-DATE
> Task :expo-linking:compileDebugLibraryResources UP-TO-DATE
> Task :expo-linking:parseDebugLocalResources UP-TO-DATE
> Task :expo-linking:generateDebugRFile UP-TO-DATE
> Task :expo-manifests:compileDebugLibraryResources UP-TO-DATE
> Task :expo-manifests:parseDebugLocalResources UP-TO-DATE
> Task :expo-manifests:generateDebugRFile UP-TO-DATE
> Task :expo-modules-core:compileDebugLibraryResources UP-TO-DATE
> Task :expo-modules-core:parseDebugLocalResources UP-TO-DATE
> Task :expo-modules-core:generateDebugRFile UP-TO-DATE
> Task :expo-random:compileDebugLibraryResources UP-TO-DATE
> Task :expo-random:parseDebugLocalResources UP-TO-DATE
> Task :expo-random:generateDebugRFile UP-TO-DATE
> Task :expo-splash-screen:compileDebugLibraryResources UP-TO-DATE
> Task :expo-splash-screen:parseDebugLocalResources UP-TO-DATE
> Task :expo-splash-screen:generateDebugRFile UP-TO-DATE
> Task :expo-system-ui:compileDebugLibraryResources UP-TO-DATE
> Task :expo-system-ui:parseDebugLocalResources UP-TO-DATE
> Task :expo-system-ui:generateDebugRFile UP-TO-DATE
> Task :expo-updates-interface:compileDebugLibraryResources UP-TO-DATE
> Task :expo-updates-interface:parseDebugLocalResources UP-TO-DATE
> Task :expo-updates-interface:generateDebugRFile UP-TO-DATE
> Task :expo-web-browser:compileDebugLibraryResources UP-TO-DATE
> Task :expo-web-browser:parseDebugLocalResources UP-TO-DATE
> Task :expo-web-browser:generateDebugRFile UP-TO-DATE
> Task :react-native-reanimated:compileDebugLibraryResources UP-TO-DATE
> Task :react-native-reanimated:parseDebugLocalResources UP-TO-DATE
> Task :react-native-reanimated:generateDebugRFile UP-TO-DATE
> Task :react-native-safe-area-context:compileDebugLibraryResources UP-TO-DATE
> Task :react-native-safe-area-context:parseDebugLocalResources UP-TO-DATE
> Task :react-native-safe-area-context:generateDebugRFile UP-TO-DATE
> Task :react-native-screens:compileDebugLibraryResources UP-TO-DATE
> Task :react-native-screens:parseDebugLocalResources UP-TO-DATE
> Task :react-native-screens:generateDebugRFile UP-TO-DATE
> Task :react-native-svg:compileDebugLibraryResources UP-TO-DATE
> Task :react-native-svg:parseDebugLocalResources UP-TO-DATE
> Task :react-native-svg:generateDebugRFile UP-TO-DATE
> Task :app:processDebugResources UP-TO-DATE
> Task :cbl-reactnative:checkKotlinGradlePluginConfigurationErrors
> Task :cbl-reactnative:generateDebugBuildConfig UP-TO-DATE
> Task :cbl-reactnative:javaPreCompileDebug UP-TO-DATE
> Task :expo:checkKotlinGradlePluginConfigurationErrors
> Task :expo:generateDebugBuildConfig UP-TO-DATE
> Task :expo-asset:checkKotlinGradlePluginConfigurationErrors
> Task :expo-asset:generateDebugBuildConfig UP-TO-DATE
> Task :expo-modules-core:checkKotlinGradlePluginConfigurationErrors
> Task :expo-modules-core:generateDebugBuildConfig UP-TO-DATE
> Task :expo-modules-core:compileDebugKotlin UP-TO-DATE
> Task :expo-modules-core:javaPreCompileDebug UP-TO-DATE
> Task :expo-modules-core:compileDebugJavaWithJavac UP-TO-DATE
> Task :expo-modules-core:bundleLibCompileToJarDebug UP-TO-DATE
> Task :expo-asset:compileDebugKotlin UP-TO-DATE
> Task :expo-asset:javaPreCompileDebug UP-TO-DATE
> Task :expo-asset:compileDebugJavaWithJavac UP-TO-DATE
> Task :expo-asset:bundleLibCompileToJarDebug UP-TO-DATE
> Task :expo-constants:checkKotlinGradlePluginConfigurationErrors
> Task :expo-constants:generateDebugBuildConfig UP-TO-DATE
> Task :expo-constants:compileDebugKotlin UP-TO-DATE
> Task :expo-constants:javaPreCompileDebug UP-TO-DATE
> Task :expo-constants:compileDebugJavaWithJavac UP-TO-DATE
> Task :expo-constants:bundleLibCompileToJarDebug UP-TO-DATE
> Task :expo-dev-client:checkKotlinGradlePluginConfigurationErrors
> Task :expo-dev-client:dataBindingMergeDependencyArtifactsDebug UP-TO-DATE
> Task :expo-dev-client:dataBindingGenBaseClassesDebug UP-TO-DATE
> Task :expo-dev-client:generateDebugBuildConfig UP-TO-DATE
> Task :expo-dev-client:compileDebugKotlin NO-SOURCE
> Task :expo-dev-client:javaPreCompileDebug UP-TO-DATE
> Task :expo-dev-client:compileDebugJavaWithJavac UP-TO-DATE
> Task :expo-dev-client:bundleLibCompileToJarDebug UP-TO-DATE
> Task :expo-dev-launcher:checkKotlinGradlePluginConfigurationErrors
> Task :expo-dev-launcher:dataBindingMergeDependencyArtifactsDebug UP-TO-DATE
> Task :expo-dev-launcher:dataBindingGenBaseClassesDebug UP-TO-DATE
> Task :expo-dev-launcher:generateDebugBuildConfig UP-TO-DATE
> Task :expo-dev-menu:checkKotlinGradlePluginConfigurationErrors
> Task :expo-dev-menu:generateDebugBuildConfig UP-TO-DATE
> Task :expo-dev-menu-interface:checkKotlinGradlePluginConfigurationErrors
> Task :expo-dev-menu-interface:generateDebugBuildConfig UP-TO-DATE
> Task :expo-dev-menu-interface:compileDebugKotlin UP-TO-DATE
> Task :expo-dev-menu-interface:javaPreCompileDebug UP-TO-DATE
> Task :expo-dev-menu-interface:compileDebugJavaWithJavac
> Task :expo-json-utils:checkKotlinGradlePluginConfigurationErrors
> Task :expo-json-utils:generateDebugBuildConfig UP-TO-DATE
> Task :expo-dev-menu-interface:bundleLibCompileToJarDebug
> Task :expo-json-utils:compileDebugKotlin UP-TO-DATE
> Task :expo-json-utils:javaPreCompileDebug UP-TO-DATE
> Task :expo-json-utils:compileDebugJavaWithJavac UP-TO-DATE
> Task :expo-json-utils:bundleLibCompileToJarDebug UP-TO-DATE
> Task :expo-manifests:checkKotlinGradlePluginConfigurationErrors
> Task :expo-manifests:generateDebugBuildConfig UP-TO-DATE
> Task :expo-manifests:javaPreCompileDebug UP-TO-DATE
> Task :expo-dev-menu:javaPreCompileDebug UP-TO-DATE
> Task :expo-updates-interface:checkKotlinGradlePluginConfigurationErrors
> Task :expo-updates-interface:generateDebugBuildConfig UP-TO-DATE
> Task :expo-updates-interface:compileDebugKotlin UP-TO-DATE
> Task :expo-updates-interface:javaPreCompileDebug UP-TO-DATE
> Task :expo-updates-interface:compileDebugJavaWithJavac
> Task :expo-dev-launcher:javaPreCompileDebug UP-TO-DATE
> Task :expo-file-system:checkKotlinGradlePluginConfigurationErrors
> Task :expo-file-system:generateDebugBuildConfig UP-TO-DATE
> Task :expo-updates-interface:bundleLibCompileToJarDebug
> Task :expo-file-system:compileDebugKotlin UP-TO-DATE
> Task :expo-file-system:javaPreCompileDebug UP-TO-DATE
> Task :expo-file-system:compileDebugJavaWithJavac
> Task :expo-font:checkKotlinGradlePluginConfigurationErrors
> Task :expo-font:generateDebugBuildConfig
> Task :expo-file-system:bundleLibCompileToJarDebug
> Task :expo-font:javaPreCompileDebug FROM-CACHE
> Task :expo-keep-awake:checkKotlinGradlePluginConfigurationErrors
> Task :expo-keep-awake:generateDebugBuildConfig
> Task :expo-keep-awake:javaPreCompileDebug FROM-CACHE
> Task :expo-linking:checkKotlinGradlePluginConfigurationErrors
> Task :expo-linking:generateDebugBuildConfig
> Task :expo-linking:javaPreCompileDebug FROM-CACHE
> Task :expo-random:checkKotlinGradlePluginConfigurationErrors
> Task :expo-random:generateDebugBuildConfig
> Task :expo-random:javaPreCompileDebug FROM-CACHE
> Task :expo-splash-screen:checkKotlinGradlePluginConfigurationErrors
> Task :expo-splash-screen:generateDebugBuildConfig
> Task :expo-splash-screen:javaPreCompileDebug FROM-CACHE
> Task :expo-system-ui:checkKotlinGradlePluginConfigurationErrors
> Task :expo-system-ui:generateDebugBuildConfig
> Task :expo-system-ui:javaPreCompileDebug FROM-CACHE
> Task :expo-web-browser:checkKotlinGradlePluginConfigurationErrors
> Task :expo-web-browser:generateDebugBuildConfig
> Task :expo-font:compileDebugKotlin
> Task :expo-linking:compileDebugKotlin
> Task :expo-random:compileDebugKotlin
> Task :expo-font:compileDebugJavaWithJavac
> Task :expo-keep-awake:compileDebugKotlin

> Task :expo-manifests:compileDebugKotlin
w: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/expo-manifests/android/src/main/java/expo/modules/manifests/core/EmbeddedManifest.kt:19:16 This declaration overrides deprecated member but not marked as deprecated itself. Please add @Deprecated annotation or suppress. See https://youtrack.jetbrains.com/issue/KT-47902 for details
w: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/expo-manifests/android/src/main/java/expo/modules/manifests/core/EmbeddedManifest.kt:19:86 'getLegacyID(): String' is deprecated. Prefer scopeKey or projectId depending on use case
w: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/expo-manifests/android/src/main/java/expo/modules/manifests/core/ExpoUpdatesManifest.kt:16:16 This declaration overrides deprecated member but not marked as deprecated itself. Please add @Deprecated annotation or suppress. See https://youtrack.jetbrains.com/issue/KT-47902 for details
w: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/expo-manifests/android/src/main/java/expo/modules/manifests/core/Manifest.kt:15:12 'getRawJson(): JSONObject' is deprecated. Prefer to use specific field getters

> Task :expo-font:bundleLibCompileToJarDebug

> Task :cbl-reactnative:compileDebugKotlin FAILED
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:3:8 Unresolved reference: cbl
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:4:8 Unresolved reference: cbl
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:5:8 Unresolved reference: cbl
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:6:8 Unresolved reference: cbl
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:7:8 Unresolved reference: cbl
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:8:8 Unresolved reference: cbl
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:70:19 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:71:20 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:76:11 'return' is not allowed here
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:106:11 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:115:11 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:140:9 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:167:24 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:175:11 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:205:9 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:234:23 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:236:40 Unresolved reference: it
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:237:20 Overload resolution ambiguity:
public inline fun <T> Iterable<TypeVariable(T)>.forEach(action: (TypeVariable(T)) -> Unit): Unit defined in kotlin.collections
public inline fun <K, V> Map<out TypeVariable(K), TypeVariable(V)>.forEach(action: (Map.Entry<TypeVariable(K), TypeVariable(V)>) -> Unit): Unit defined in kotlin.collections
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:237:52 Unresolved reference: it
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:263:19 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:264:20 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:269:11 'return' is not allowed here
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:293:20 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:295:15 Overload resolution ambiguity:
public inline fun <T> Iterable<TypeVariable(T)>.forEach(action: (TypeVariable(T)) -> Unit): Unit defined in kotlin.collections
public inline fun <K, V> Map<out TypeVariable(K), TypeVariable(V)>.forEach(action: (Map.Entry<TypeVariable(K), TypeVariable(V)>) -> Unit): Unit defined in kotlin.collections
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:295:25 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:324:21 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:350:24 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:374:19 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:375:20 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:380:11 'return' is not allowed here
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:409:23 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:420:32 Overload resolution ambiguity:
public constructor JSONObject(p0: Any!) defined in org.json.JSONObject
public constructor JSONObject(p0: Any!, vararg p1: String!) defined in org.json.JSONObject
public constructor JSONObject(p0: String!) defined in org.json.JSONObject
public constructor JSONObject(p0: (Mutable)Map<*, *>!) defined in org.json.JSONObject
public constructor JSONObject(p0: JSONObject!, vararg p1: String!) defined in org.json.JSONObject
public constructor JSONObject(p0: JSONTokener!) defined in org.json.JSONObject
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:467:11 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:496:23 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:531:9 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:567:22 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:610:9 Unresolved reference: CollectionManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:634:24 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:641:53 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:646:28 Overload resolution ambiguity:
public inline fun <T> Iterable<TypeVariable(T)>.forEach(action: (TypeVariable(T)) -> Unit): Unit defined in kotlin.collections
public inline fun <K, V> Map<out TypeVariable(K), TypeVariable(V)>.forEach(action: (Map.Entry<TypeVariable(K), TypeVariable(V)>) -> Unit): Unit defined in kotlin.collections
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:646:61 Unresolved reference: it
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:724:24 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:731:73 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:768:9 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:790:9 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:820:9 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:842:9 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:868:9 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:894:22 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:916:20 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:941:34 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:971:9 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:988:20 Unresolved reference: FileSystemHelper
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1017:9 Unresolved reference: LoggingManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1048:9 Unresolved reference: LoggingManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1077:23 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1107:23 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1134:24 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1144:20 Variable expected
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1146:53 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1149:33 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1157:31 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1214:24 Unresolved reference: ReplicatorManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1215:54 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1216:25 Unresolved reference: ReplicatorHelper
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1225:58 Unresolved reference: it
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1248:24 Unresolved reference: ReplicatorManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1249:67 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1250:27 Unresolved reference: ReplicatorHelper
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1259:60 Unresolved reference: it
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1281:9 Unresolved reference: ReplicatorManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1300:30 Unresolved reference: ReplicatorHelper
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1301:26 Unresolved reference: ReplicatorManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1328:19 Unresolved reference: ReplicatorManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1352:22 Unresolved reference: ReplicatorManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1380:25 Unresolved reference: ReplicatorManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1448:9 Unresolved reference: ReplicatorManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1469:9 Unresolved reference: ReplicatorManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1490:9 Unresolved reference: ReplicatorManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1513:26 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1514:27 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1544:26 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1545:27 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1573:22 Unresolved reference: DatabaseManager
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1575:16 Overload resolution ambiguity:
public inline fun <T> Iterable<TypeVariable(T)>.forEach(action: (TypeVariable(T)) -> Unit): Unit defined in kotlin.collections
public inline fun <K, V> Map<out TypeVariable(K), TypeVariable(V)>.forEach(action: (Map.Entry<TypeVariable(K), TypeVariable(V)>) -> Unit): Unit defined in kotlin.collections
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/CblReactnativeModule.kt:1575:26 Cannot infer a type for this parameter. Please specify it explicitly.
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/DataAdapter.kt:3:8 Unresolved reference: cbl
e: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/cbl-reactnative/android/src/main/java/com/cblreactnative/DataAdapter.kt:253:28 Unresolved reference: DatabaseManager

> Task :expo-splash-screen:compileDebugKotlin
> Task :expo-keep-awake:compileDebugJavaWithJavac
> Task :expo-system-ui:compileDebugKotlin

> Task :expo-web-browser:compileDebugKotlin
w: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/expo-web-browser/android/src/main/java/expo/modules/webbrowser/WebBrowserModule.kt:112:15 'setToolbarColor(Int): CustomTabsIntent.Builder' is deprecated. Deprecated in Java
w: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/expo-web-browser/android/src/main/java/expo/modules/webbrowser/WebBrowserModule.kt:117:15 'setSecondaryToolbarColor(Int): CustomTabsIntent.Builder' is deprecated. Deprecated in Java
w: file:///Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/expo-web-browser/android/src/main/java/expo/modules/webbrowser/WebBrowserModule.kt:123:15 'addDefaultShareMenuItem(): CustomTabsIntent.Builder' is deprecated. Deprecated in Java

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':cbl-reactnative:compileDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
> Compilation error. See log for more details

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 5s
351 actionable tasks: 50 executed, 6 from cache, 295 up-to-date
Error: /Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/android/gradlew app:assembleDebug -x lint -x test --configure-on-demand --build-cache -PreactNativeDevServerPort=8081 -PreactNativeArchitectures=arm64-v8a exited with non-zero code: 1
Error: /Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/android/gradlew app:assembleDebug -x lint -x test --configure-on-demand --build-cache -PreactNativeDevServerPort=8081 -PreactNativeArchitectures=arm64-v8a exited with non-zero code: 1
at ChildProcess.completionListener (/Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/@expo/spawn-async/src/spawnAsync.ts:67:13)
at Object.onceWrapper (node:events:634:26)
at ChildProcess.emit (node:events:519:28)
at maybeClose (node:internal/child_process:1101:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)
...
at spawnAsync (/Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/@expo/spawn-async/src/spawnAsync.ts:28:21)
at spawnGradleAsync (/Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/@expo/cli/src/start/platforms/android/gradle.ts:134:28)
at assembleAsync (/Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/@expo/cli/src/start/platforms/android/gradle.ts:83:16)
at runAndroidAsync (/Users/jayant.dhingra/Desktop/cbl-reactnative/expo-example/node_modules/@expo/cli/src/run/android/runAndroidAsync.ts:48:24)

Choose a reason for hiding this comment

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

medium

This build log file appears to have been accidentally committed. Log files and build artifacts are typically excluded from version control using .gitignore. Please remove this file from the repository.

path: '/tests/replication',
},
{
id: 9.5,

Choose a reason for hiding this comment

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

medium

Using a floating-point number for an id can be brittle and may lead to precision issues in some cases. It's generally better to use integers or strings for unique identifiers. If the goal is to insert an item, consider renumbering the subsequent integer IDs.

Comment on lines +41 to +42
const listOfCollectionConfigrations = cols.map((col) => new CollectionConfiguration(col))
const config = new ReplicatorConfiguration(listOfCollectionConfigrations, target);

Choose a reason for hiding this comment

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

medium

There is a typo in the variable name listOfCollectionConfigrations. It should be listOfCollectionConfigurations.

Suggested change
const listOfCollectionConfigrations = cols.map((col) => new CollectionConfiguration(col))
const config = new ReplicatorConfiguration(listOfCollectionConfigrations, target);
const listOfCollectionConfigurations = cols.map((col) => new CollectionConfiguration(col));
const config = new ReplicatorConfiguration(listOfCollectionConfigurations, target);

@velicuvlad velicuvlad self-requested a review November 11, 2025 15:21
Copy link
Collaborator

@velicuvlad velicuvlad left a comment

Choose a reason for hiding this comment

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

With small comments and a couple of copilot 👍🏻 , looks good. These are mostly test app changes so not very strict on logging etc.

Comment on lines 74 to 75
const username = "jayantdhingra"
const password = "f9yu5QT4B5jpZep@"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Although this is not going into a release branch, I think it would be good to not publish/expose credentials at all on remote.

Comment on lines +28 to +30
const SYNC_GATEWAY_URL = "wss://nasm0fvdr-jnehnb.apps.cloud.couchbase.com:4984/testendpoint";
const USERNAME = "jayantdhingra";
const PASSWORD = "f9yu5QT4B5jpZep@";
Copy link
Collaborator

Choose a reason for hiding this comment

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

same about creds here. You can make a patch file with this and hold it somewhere locally and can apply it every time you refresh your repo. Or by using stash and pop before and after committing on remote. I use both depending on how much custom is the config I need.

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.

3 participants